From c7677e99e7371394e67fa42dc6a11deb6bc4df0c Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 23 一月 2026 16:01:08 +0800
Subject: [PATCH] refactor: 产品结构详情:重构为树结构显示

---
 src/views/inventoryManagement/dispatchLog/Record.vue |   66 +++++++++++++++++++++++----------
 1 files changed, 46 insertions(+), 20 deletions(-)

diff --git a/src/views/inventoryManagement/dispatchLog/Record.vue b/src/views/inventoryManagement/dispatchLog/Record.vue
index 4fb41f0..73792da 100644
--- a/src/views/inventoryManagement/dispatchLog/Record.vue
+++ b/src/views/inventoryManagement/dispatchLog/Record.vue
@@ -12,6 +12,16 @@
 					clearable
 					@change="handleQuery"
 				/>
+        <span class="search_title ml10">鏉ユ簮锛�</span>
+        <el-select v-model="searchForm.recordType"
+                   style="width: 240px"
+                   placeholder="璇烽�夋嫨"
+                   clearable>
+          <el-option v-for="item in stockRecordTypeOptions"
+                     :key="item.value"
+                     :label="item.label"
+                     :value="item.value"/>
+        </el-select>
 				<el-button type="primary" @click="handleQuery" style="margin-left: 10px"
 				>鎼滅储</el-button
 				>
@@ -71,6 +81,13 @@
 					prop="createBy"
 					show-overflow-tooltip
 				/>
+        <el-table-column label="鏉ユ簮"
+                         prop="recordType"
+                         show-overflow-tooltip>
+          <template #default="scope">
+            {{ getRecordType(scope.row.recordType) }}
+          </template>
+        </el-table-column>
 			</el-table>
 			<pagination
 				v-show="total > 0"
@@ -94,12 +111,19 @@
 	getStockOutPage,
 	delStockOut,
 } from "@/api/inventoryManagement/stockOut.js";
+import {
+  findAllQualifiedStockRecordTypeOptions,
+  findAllStockRecordTypeOptions,
+  findAllUnqualifiedStockRecordTypeOptions
+} from "@/api/basicData/enum.js";
 
 const userStore = useUserStore();
 const { proxy } = getCurrentInstance();
 const tableData = ref([]);
 const selectedRows = ref([]);
 const tableLoading = ref(false);
+// 鏉ユ簮绫诲瀷閫夐」
+const stockRecordTypeOptions = ref([]);
 const page = reactive({
 	current: 1,
 	size: 100,
@@ -123,26 +147,8 @@
 	searchForm: {
 		supplierName: "",
 		timeStr: "",
-	},
-	form: {
-		supplierId: null,
-		supplierName: '',
-		productId: null,
-		productName: '',
-		userId: userStore.userId,
-		nickName: '',
-		model: '',
-		productModelId: null,
-		unit: '',
-		productrecordId: null,
-		taxInclusiveUnitPrice: '',
-		taxInclusiveTotalPrice: '',
-		taxRate: '',
-		taxExclusiveTotalPrice: '',
-		inboundTime: '',
-		inboundBatch: '',
-		inboundQuantity: ''
-	},
+    recordType: "",
+	}
 });
 const { searchForm } = toRefs(data);
 
@@ -172,6 +178,25 @@
 			tableLoading.value = false;
 		});
 };
+
+const getRecordType = (recordType) => {
+  return stockRecordTypeOptions.value.find(item => item.value === recordType)?.label || ''
+}
+
+// 鑾峰彇鏉ユ簮绫诲瀷閫夐」
+const fetchStockRecordTypeOptions = () => {
+  if (props.type === '0') {
+    findAllQualifiedStockRecordTypeOptions()
+        .then(res => {
+          stockRecordTypeOptions.value = res.data;
+        })
+    return
+  }
+  findAllUnqualifiedStockRecordTypeOptions()
+      .then(res => {
+        stockRecordTypeOptions.value = res.data;
+      })
+}
 
 // 琛ㄦ牸閫夋嫨鏁版嵁
 const handleSelectionChange = (selection) => {
@@ -512,6 +537,7 @@
 };
 onMounted(() => {
 	getList();
+  fetchStockRecordTypeOptions();
 });
 </script>
 

--
Gitblit v1.9.3