From 65c6a24024ad223ba2bdffee2c4c3d47b2d3f456 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 12 三月 2026 17:36:23 +0800
Subject: [PATCH] 下发流程修改、产品维护增加拉取数据

---
 src/api/basicData/newProduct.js                   |    7 +++
 src/views/basicData/product/index.vue             |   22 ++++++++++-
 src/views/productionPlan/productionPlan/index.vue |   51 +++++++++++++------------
 3 files changed, 54 insertions(+), 26 deletions(-)

diff --git a/src/api/basicData/newProduct.js b/src/api/basicData/newProduct.js
index 186f343..6ee80b3 100644
--- a/src/api/basicData/newProduct.js
+++ b/src/api/basicData/newProduct.js
@@ -123,4 +123,11 @@
         method: 'get',
         params: query
     })
+}
+// 鎷夊彇鏁版嵁
+export function loadData() {
+    return request({
+        url: '/productMaterial/loadData',
+        method: 'get',
+    })
 }
\ No newline at end of file
diff --git a/src/views/basicData/product/index.vue b/src/views/basicData/product/index.vue
index c4c8f06..c6a9795 100644
--- a/src/views/basicData/product/index.vue
+++ b/src/views/basicData/product/index.vue
@@ -12,6 +12,9 @@
         <el-button type="primary"
                    @click="openProDia1('addOne')"
                    style="margin-left: 10px">鏂板浜у搧澶х被</el-button>
+        <el-button type="primary"
+                   @click="getloadData"
+                   style="margin-left: 10px">鎷夊彇鏁版嵁</el-button>
       </div>
       <div ref="containerRef">
         <el-tree ref="tree"
@@ -280,6 +283,7 @@
     addOrEditProductConfig,
     updateOrEditProductConfig,
     delProductConfig,
+    loadData,
   } from "@/api/basicData/newProduct.js";
   import ImportExcel from "./ImportExcel/index.vue";
 
@@ -301,6 +305,20 @@
   const expandedKeys = ref([]);
   const inventoryCategoryList = ref([]);
   const materialTypeList = ref([]);
+
+  const getloadData = () => {
+    loadData()
+      .then(res => {
+        getInventoryCategoryList();
+        getMaterialTypeList();
+        getProductTreeList();
+        tableData.value = [];
+        isShowButton.value = false;
+      })
+      .catch(err => {
+        console.error("鎷夊彇澶辫触:", err);
+      });
+  };
 
   // 鑾峰彇瀛樿揣绫诲埆鍒楄〃
   const getInventoryCategoryList = () => {
@@ -772,8 +790,8 @@
     gap: 20px;
   }
   .left {
-    width: 450px;
-    min-width: 450px;
+    width: 465px;
+    min-width: 465px;
     background: #ffffff;
     border-radius: 8px;
     box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
diff --git a/src/views/productionPlan/productionPlan/index.vue b/src/views/productionPlan/productionPlan/index.vue
index 79925a4..4e0220a 100644
--- a/src/views/productionPlan/productionPlan/index.vue
+++ b/src/views/productionPlan/productionPlan/index.vue
@@ -244,7 +244,6 @@
                           @change="handleProductChange"
                           style="width: 100%" />
         </el-form-item>
-
         <el-form-item label="浜у搧瑙勬牸"
                       prop="productMaterialSkuId">
           <el-select v-model="form.productMaterialSkuId"
@@ -343,7 +342,7 @@
     productionPlanCombine,
   } from "@/api/productionPlan/productionPlan.js";
   import PIMTable from "./components/PIMTable.vue";
-  import {modelListPage, productTreeList} from "@/api/basicData/newProduct.js";
+  import { modelListPage, productTreeList } from "@/api/basicData/newProduct.js";
 
   const { proxy } = getCurrentInstance();
 
@@ -491,6 +490,7 @@
           clickFun: row => {
             // 鍗曠嫭涓嬪彂鎿嶄綔
             // 璁剧疆琛ㄥ崟鏁版嵁
+            mergeForm.ids = [row.id];
             mergeForm.materialCode = row.materialCode;
             mergeForm.productName = row.productName || "";
             mergeForm.specification = row.specification || "";
@@ -566,8 +566,8 @@
   // 鏂板/缂栬緫鐩稿叧
   const dialogVisible = ref(false);
   const operationType = ref("add"); // add | edit
-  const productOptions = ref([])
-  const specificationOptions = ref([])
+  const productOptions = ref([]);
+  const specificationOptions = ref([]);
   const formRef = ref(null);
   const form = reactive({
     id: undefined,
@@ -630,10 +630,10 @@
       productOptions.value = convertIdToValue(res.data);
       return res;
     });
-  }
+  };
 
-  const convertIdToValue = (data) => {
-    return data.map((item) => {
+  const convertIdToValue = data => {
+    return data.map(item => {
       const newItem = {
         value: `config_${item.configId}`, // 浣跨敤config_鍓嶇紑纭繚鍞竴鎬�
         label: item.configName,
@@ -648,29 +648,31 @@
 
       return newItem;
     });
-  }
+  };
 
-  const handleProductChange = (value) => {
-    form.productMaterialSkuId = undefined
-    fetchSpecificationOptions(value)
-  }
+  const handleProductChange = value => {
+    form.productMaterialSkuId = undefined;
+    fetchSpecificationOptions(value);
+  };
 
-  const fetchSpecificationOptions = (materialId) => {
-    specificationOptions.value = []
+  const fetchSpecificationOptions = materialId => {
+    specificationOptions.value = [];
     if (materialId) {
-      modelListPage({ materialId: materialId}).then(res => {
+      modelListPage({ materialId: materialId }).then(res => {
         specificationOptions.value = res.data;
       });
     }
-  }
+  };
 
-  const handleChangeSpecification = (value) => {
-    form.materialCode = undefined
-    const selectedModel = specificationOptions.value.find((item) => item.id === value)
+  const handleChangeSpecification = value => {
+    form.materialCode = undefined;
+    const selectedModel = specificationOptions.value.find(
+      item => item.id === value
+    );
     if (selectedModel) {
-      form.materialCode = selectedModel.materialCode
+      form.materialCode = selectedModel.materialCode;
     }
-  }
+  };
 
   // 鐢熸垚妯℃嫙杩涘害璇︽儏鏁版嵁
   const generateProgressDetails = status => {
@@ -887,6 +889,7 @@
     mergeForm.height = firstRow.height || 0;
     mergeForm.totalAssignedQuantity = totalAssignedQuantity;
     mergeForm.planCompleteTime = firstRow.planCompleteTime || "";
+    mergeForm.ids = selectedRows.value.map(row => row.id);
 
     // 鎵撳紑寮圭獥
     isShowNewModal.value = true;
@@ -906,16 +909,16 @@
       return;
     }
 
-    mergeForm.ids = selectedRows.value.map(row => row.id);
     console.log(mergeForm, "mergeForm");
     productionPlanCombine(mergeForm)
       .then(res => {
         if (res.code === 200) {
-          ElMessage.success("鍚堝苟涓嬪彂鎴愬姛");
+          ElMessage.success("涓嬪彂鎴愬姛");
+          getList();
           isShowNewModal.value = false;
           // 鍙互閫夋嫨鍒锋柊鍒楄〃鎴栧叾浠栨搷浣�
         } else {
-          ElMessage.error(res.message || "鍚堝苟涓嬪彂澶辫触");
+          ElMessage.error(res.message || "涓嬪彂澶辫触");
         }
       })
       .catch(err => {

--
Gitblit v1.9.3