From e0699ce1a404b1d819d7ef0b40cfd2631bb964d1 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 12 三月 2026 17:56:06 +0800
Subject: [PATCH] 问题修改

---
 src/views/productionPlan/productionPlan/index.vue |   69 ++++++++++++++++++++--------------
 1 files changed, 40 insertions(+), 29 deletions(-)

diff --git a/src/views/productionPlan/productionPlan/index.vue b/src/views/productionPlan/productionPlan/index.vue
index 79925a4..e70fa22 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 || "";
@@ -498,7 +498,7 @@
             mergeForm.width = row.width || 0;
             mergeForm.height = row.height || 0;
             mergeForm.totalAssignedQuantity =
-              Number(row.volume) - Number(row.assignedQuantity) || 0;
+              (Number(row.volume) - Number(row.assignedQuantity)).toFixed(4) || 0;
             mergeForm.planCompleteTime = row.planCompleteTime || "";
             sumAssignedQuantity.value = mergeForm.totalAssignedQuantity;
             // 鎵撳紑寮圭獥
@@ -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 => {
@@ -793,8 +795,9 @@
           totalAssignedQuantity: 0,
         };
       }
-      summary[category].totalAssignedQuantity +=
-        Number(row.volume) - Number(row.assignedQuantity);
+      summary[category].totalAssignedQuantity += (
+        Number(row.volume) - Number(row.assignedQuantity)
+      ).toFixed(4);
     });
 
     // 杞崲涓烘暟缁勬牸寮�
@@ -855,7 +858,9 @@
   // 鎷夊彇鏁版嵁鎸夐挳鎿嶄綔
   const getLoadProdData = () => {
     loadProdData()
-      .then(res => {})
+      .then(res => {
+        getList();
+      })
       .catch(() => {});
   };
   const sumAssignedQuantity = ref(0);
@@ -872,7 +877,7 @@
         sum +
         (row.volume == null
           ? 0
-          : Number(row.volume) - Number(row.assignedQuantity))
+          : (Number(row.volume) - Number(row.assignedQuantity)).toFixed(4))
       );
     }, 0);
     sumAssignedQuantity.value = totalAssignedQuantity;
@@ -887,6 +892,7 @@
     mergeForm.height = firstRow.height || 0;
     mergeForm.totalAssignedQuantity = totalAssignedQuantity;
     mergeForm.planCompleteTime = firstRow.planCompleteTime || "";
+    mergeForm.ids = selectedRows.value.map(row => row.id);
 
     // 鎵撳紑寮圭獥
     isShowNewModal.value = true;
@@ -894,6 +900,10 @@
 
   // 澶勭悊鍚堝苟涓嬪彂鎻愪氦
   const handleMergeSubmit = () => {
+    if (mergeForm.totalAssignedQuantity === 0) {
+      ElMessage.warning("璇疯緭鍏ョ敓浜ф柟鏁�");
+      return;
+    }
     console.log(sumAssignedQuantity.value, "sumAssignedQuantity");
     // 璁$畻褰撳墠閫変腑琛岀殑鎬绘柟鏁�
     const totalVolume = selectedRows.value.reduce((sum, row) => {
@@ -906,16 +916,17 @@
       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;
           // 鍙互閫夋嫨鍒锋柊鍒楄〃鎴栧叾浠栨搷浣�
+          getList();
         } else {
-          ElMessage.error(res.message || "鍚堝苟涓嬪彂澶辫触");
+          ElMessage.error(res.message || "涓嬪彂澶辫触");
         }
       })
       .catch(err => {

--
Gitblit v1.9.3