From 1ed11ff9b539891e92f73940772b680497bda98f Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 20 五月 2025 15:36:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 src/views/procurementManagement/procurementLedger/index.vue |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index 887f786..1352682 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -184,9 +184,15 @@
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="浜у搧澶х被锛�" prop="productCategory">
-              <el-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable>
-                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/>
-              </el-select>
+              <el-tree-select
+                  v-model="productForm.productCategory"
+                  placeholder="璇烽�夋嫨" clearable
+                  check-strictly
+                  @change="getModels"
+                  :data="productOptions"
+                  :render-after-expand="false"
+                  style="width: 100%"
+              />
             </el-form-item>
           </el-col>
         </el-row>
@@ -194,7 +200,7 @@
           <el-col :span="24">
             <el-form-item label="瑙勬牸鍨嬪彿锛�" prop="specificationModel">
               <el-select v-model="productForm.specificationModel" placeholder="璇烽�夋嫨" clearable>
-                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/>
+                <el-option v-for="item in modelOptions" :key="item.id" :label="item.model" :value="item.id"/>
               </el-select>
             </el-form-item>
           </el-col>
@@ -282,7 +288,9 @@
 const productData = ref([])
 const selectedRows = ref([])
 const productSelectedRows = ref([])
+const modelOptions = ref([])
 const userList = ref([])
+const productOptions = ref([])
 const salesContractList = ref([])
 const supplierList = ref([])
 const tableLoading = ref(false)
@@ -293,6 +301,7 @@
 const total = ref(0)
 const fileList = ref([])
 import useUserStore from "@/store/modules/user"
+import {modelList, productTreeList} from "@/api/basicData/product.js";
 
 const userStore = useUserStore()
 
@@ -528,6 +537,31 @@
     productForm.value = {...row}
   }
   productFormVisible.value = true
+  getProductOptions()
+}
+const getProductOptions = () => {
+  productTreeList().then(res => {
+    productOptions.value = convertIdToValue(res)
+  })
+}
+const getModels =(value) => {
+  modelList({id: value}).then(res => {
+    modelOptions.value = res
+  })
+}
+function convertIdToValue(data) {
+  return data.map(item => {
+    const { id, children, ...rest } = item;
+    const newItem = {
+      ...rest,
+      value: id // 灏� id 鏀逛负 value
+    };
+    if (children && children.length > 0) {
+      newItem.children = convertIdToValue(children);
+    }
+    
+    return newItem;
+  });
 }
 // 鎻愪氦浜у搧琛ㄥ崟
 const submitProduct = () => {

--
Gitblit v1.9.3