From 6f1acfd2086a1f8c2cb80afd3db4e534e44d545e Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 14 八月 2026 10:33:51 +0800
Subject: [PATCH] fix: 报工明细创建日期格式化

---
 src/views/productionManagement/workOrderManagement/index.vue |   36 +++++++++++++++++++++++-------------
 1 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/src/views/productionManagement/workOrderManagement/index.vue b/src/views/productionManagement/workOrderManagement/index.vue
index 7b3abec..b2ac432 100644
--- a/src/views/productionManagement/workOrderManagement/index.vue
+++ b/src/views/productionManagement/workOrderManagement/index.vue
@@ -133,7 +133,7 @@
           <el-input v-model.number="reportForm.quantity"
                     type="number"
                     min="0"
-                    step="0.1"
+                    step="0.0001"
                     style="width: 300px"
                     placeholder="璇疯緭鍏ョ敓浜у悎鏍兼暟閲�"
                     @input="handleQuantityInput" />
@@ -143,7 +143,7 @@
           <el-input v-model.number="reportForm.scrapQty"
                     type="number"
                     min="0"
-                    step="0.1"
+                    step="0.0001"
                     style="width: 300px"
                     placeholder="璇疯緭鍏ユ姤搴熸暟閲�"
                     @input="handleScrapQtyInput" />
@@ -245,6 +245,7 @@
       <template #footer>
         <span class="dialog-footer">
           <el-button type="primary"
+                     :loading="reportLoading"
                      @click="handleReport">纭畾</el-button>
           <el-button @click="reportDialogVisible = false">鍙栨秷</el-button>
         </span>
@@ -363,12 +364,12 @@
       dataType: "action",
       fixed: "right",
       operation: [
-        {
+        /*{
           name: "娴佽浆鍗�",
           clickFun: row => {
             downloadAndPrintWorkOrder(row);
           },
-        },
+        },*/
         {
           name: "闄勪欢",
           clickFun: row => {
@@ -414,6 +415,7 @@
   const transferCardQrUrl = ref("");
   const transferCardRowData = ref(null);
   const reportDialogVisible = ref(false);
+  const reportLoading = ref(false);
   const fileDialogVisible = ref(false);
   const currentWorkOrderId = ref(null);
   const reportFormRef = ref(null);
@@ -421,7 +423,7 @@
   const reportForm = reactive({
     planQuantity: 0,
     quantity: null,
-    scrapQty: null,
+    scrapQty: 0,
     userName: "",
     workOrderId: "",
     reportWork: "",
@@ -528,6 +530,12 @@
     if (n <= 0) return 0;
     if (n >= 100) return 100;
     return Math.round(n);
+  };
+  const subtractQuantity = (minuend, subtrahend, precision = 4) => {
+    const factor = 10 ** precision;
+    const a = Math.round((Number(minuend) || 0) * factor);
+    const b = Math.round((Number(subtrahend) || 0) * factor);
+    return Math.max(0, (a - b) / factor);
   };
   const progressColor = percentage => {
     const p = toProgressPercentage(percentage);
@@ -651,20 +659,18 @@
       }
     }
     currentReportRowData.value = row;
-    const planQuantity = Number(row.planQuantity || 0);
-    const completeQuantity = Number(row.completeQuantity || 0);
-    const remainingQuantity = Math.max(0, planQuantity - completeQuantity);
-    reportForm.planQuantity = remainingQuantity;
+    reportForm.planQuantity = subtractQuantity(
+      row.planQuantity,
+      row.completeQuantity
+    );
     reportForm.quantity =
       row.quantity !== undefined && row.quantity !== null ? row.quantity : null;
     reportForm.productProcessRouteItemId = row.productProcessRouteItemId;
     reportForm.workOrderId = row.id;
     reportForm.reportWork = row.reportWork;
     reportForm.productMainId = row.productMainId;
-    reportForm.scrapQty =
-      row.scrapQty !== undefined && row.scrapQty !== null ? row.scrapQty : null;
-    reportForm.productionOrderRoutingOperationId =
-      row.productionOrderRoutingOperationId;
+    reportForm.scrapQty = 0;
+    reportForm.productionOrderRoutingOperationId = row.productionOrderRoutingOperationId;
     reportForm.productionOrderId = row.productionOrderId;
     if (row.type == 0) {
       reportForm.workHour = row.workHour || 0;
@@ -774,6 +780,7 @@
         productionOperationParamList: productionOperationParamList,
       };
 
+      reportLoading.value = true;
       addProductMain(submitParams)
         .then(res => {
           proxy.$modal.msgSuccess("鎶ュ伐鎴愬姛");
@@ -784,6 +791,9 @@
           ElMessageBox.alert("鎶ュ伐澶辫触", "鎻愮ず", {
             confirmButtonText: "纭畾",
           });
+        })
+        .finally(() => {
+          reportLoading.value = false;
         });
     });
   };

--
Gitblit v1.9.3