From 39f51cb984ac3ecd77f541ee7f73a75771109e65 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期五, 24 四月 2026 11:06:51 +0800
Subject: [PATCH] 对库存管理视图进行重构,以支持动态产品类别和型号,并提升库存检索功能

---
 src/views/inventoryManagement/stockManagement/index.vue |   45 ++++++++++++++++++++++++++++++---------------
 1 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/src/views/inventoryManagement/stockManagement/index.vue b/src/views/inventoryManagement/stockManagement/index.vue
index 347de38..19000b5 100644
--- a/src/views/inventoryManagement/stockManagement/index.vue
+++ b/src/views/inventoryManagement/stockManagement/index.vue
@@ -4,30 +4,45 @@
       <el-tab-pane v-for="tab in tabs"
                    :label="tab.label"
                    :name="tab.name"
-                   :key="tab.name">
-        <component :is="tab.name === 'qualified' ? QualifiedRecord : UnqualifiedRecord" />
-      </el-tab-pane>
+                   :key="tab.name" />
     </el-tabs>
+    <qualified-record
+      v-if="currentParentId !== undefined"
+      :key="activeTab"
+      :parent-id="currentParentId"
+    />
   </div>
 </template>
 
 <script setup>
+import { getProductParentNames } from "@/api/basicData/productModel.js";
 import QualifiedRecord from "@/views/inventoryManagement/stockManagement/Qualified.vue";
-import UnqualifiedRecord from "@/views/inventoryManagement/stockManagement/Unqualified.vue";
 
-const activeTab = ref('qualified')
-const tabs = ref([
-  {
-    label: '鍚堟牸搴撳瓨',
-    name: 'qualified'
-  },
-  {
-    label: '涓嶅悎鏍煎簱瀛�',
-    name: 'unqualified'
-  }
-])
+const activeTab = ref('')
+const tabs = ref([])
+const currentParentId = computed(() => {
+  const current = tabs.value.find((item) => item.name === activeTab.value)
+  return current?.parentId
+})
 
 const handleTabChange = (tabName) => {
   activeTab.value = tabName;
 }
+
+const getTabs = async () => {
+  const res = await getProductParentNames()
+  const list = Array.isArray(res?.data) ? res.data : []
+  tabs.value = list.map((item) => ({
+    label: item.productName,
+    name: String(item.id),
+    parentId: item.id,
+  }))
+  if (tabs.value.length && !activeTab.value) {
+    activeTab.value = tabs.value[0].name
+  }
+}
+
+onMounted(() => {
+  getTabs()
+})
 </script>

--
Gitblit v1.9.3