From f70ee8845ef75c346fee1ff5e8f576640f6a2d00 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 26 三月 2026 15:48:08 +0800
Subject: [PATCH] 生产详情中增加报废数量

---
 src/views/productionManagement/productionOrder/Detail/index.vue |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/views/productionManagement/productionOrder/Detail/index.vue b/src/views/productionManagement/productionOrder/Detail/index.vue
index 14d11d2..df96f47 100644
--- a/src/views/productionManagement/productionOrder/Detail/index.vue
+++ b/src/views/productionManagement/productionOrder/Detail/index.vue
@@ -89,6 +89,10 @@
                         <div class="grid-value">{{ p.outputQty ?? 0 }}</div>
                       </div>
                       <div class="grid-item">
+                        <div class="grid-label">鎶ュ簾鏁伴噺</div>
+                        <div class="grid-value success">{{ p.scrapQty ?? 0 }}</div>
+                      </div>
+                      <div class="grid-item">
                         <div class="grid-label">鍚堟牸鏁伴噺</div>
                         <div class="grid-value success">{{ p.qualifiedQty ?? 0 }}</div>
                       </div>
@@ -124,8 +128,9 @@
                 <el-table-column label="鎶ュ伐浜哄憳" prop="nickName" min-width="120" show-overflow-tooltip />
                 <el-table-column label="鎶ュ伐鏃堕棿" prop="createTime" min-width="160" show-overflow-tooltip />
                 <el-table-column label="浜у嚭鏁伴噺" prop="quantity" min-width="110" />
+                <el-table-column label="鎶ュ簾鏁伴噺" prop="scrapQty" min-width="110" />
                 <el-table-column label="鍚堟牸鏁伴噺" prop="qualifiedQty" min-width="110" />
-                <el-table-column label="涓嶈壇鏁伴噺" prop="scrapQty" min-width="110" />
+                <el-table-column label="涓嶈壇鏁伴噺" prop="defectiveQuantity" min-width="110" />
                 <el-table-column label="涓嶅悎鏍煎鐞�" prop="dealResult" min-width="160" show-overflow-tooltip />
                 <el-table-column label="鎿嶄綔" width="150" fixed="right">
                   <template #default="{ row }">
@@ -232,13 +237,14 @@
 
 const normalizeProcess = (item) => {
   // 瀛楁浠ユ帴鍙g害瀹氫负鍑嗭紙浣犵粰鐨勬埅鍥惧瓧娈垫槧灏勶級
-  // 宸ュ簭锛歝ompletionStatus/statusText/processNo/scrapRate/planQuantity/completeQuantity/completeQty/scrapQty
+  // 宸ュ簭锛歝ompletionStatus/statusText/processNo/defectiveRate/planQuantity/completeQuantity/completeQty/scrapQty
   const inputQty = Number(item?.planQuantity ?? item?.inputQty ?? 0);
-  const outputQty = Number(item?.completeQuantity ?? item?.outputQty ?? 0);
+  const outputQty = Number(item?.totalQty ?? item?.outputQty ?? 0);
   const qualifiedQty = Number(item?.completeQty ?? item?.qualifiedQty ?? item?.goodQty ?? 0);
-  const badQty = Number(item?.scrapQty ?? item?.badQty ?? item?.defectQty ?? 0);
+  const badQty = Number(item?.defectiveQuantity ?? item?.badQty ?? item?.defectQty ?? 0);
+  const scrapQty = Number(item?.scrapQty ?? 0);
   const completionStatus = Number(item?.completionStatus ?? 0);
-  const scrapRate = Number(item?.scrapRate ?? NaN);
+  const defectiveRate = Number(item?.defectiveRate ?? NaN);
 
   const status = normalizeStatus(item?.statusText ?? item?.status ?? item?.workStatus ?? item?.processStatus ?? item?.state, completionStatus, inputQty, outputQty);
 
@@ -250,8 +256,9 @@
     outputQty: Number.isFinite(outputQty) ? outputQty : 0,
     qualifiedQty: Math.max(0, Number.isFinite(qualifiedQty) ? qualifiedQty : 0),
     badQty: Math.max(0, Number.isFinite(badQty) ? badQty : 0),
+    scrapQty: Math.max(0, Number.isFinite(scrapQty) ? scrapQty : 0),
     completionStatus: Number.isFinite(completionStatus) ? completionStatus : 0,
-    scrapRate: Number.isFinite(scrapRate) ? scrapRate : null,
+    defectiveRate: Number.isFinite(defectiveRate) ? defectiveRate : null,
     status,
   };
 };
@@ -417,11 +424,11 @@
 
 // 涓嶈壇鐜囷細涓嶈壇鏁伴噺 / 浜у嚭鏁伴噺锛堝厛鎸夋鍙e緞锛屽悗缁鎺ユ帴鍙e彲璋冩暣锛�
 const defectRateText = (p) => {
-  // 浼樺厛浣跨敤鎺ュ彛瀛楁 scrapRate锛堜綘缁欑殑鎴浘鈥滀笉鑹巼鈥濓級
-  const scrapRate = Number(p?.scrapRate ?? NaN);
-  if (Number.isFinite(scrapRate)) {
-    // 鏈変簺鎺ュ彛 scrapRate 鍙兘鏄� 0~1 鎴� 0~100锛岃繖閲屽仛涓�涓畝鍗曞垽鏂�
-    const percent = scrapRate <= 1 ? scrapRate * 100 : scrapRate;
+  // 浼樺厛浣跨敤鎺ュ彛瀛楁 defectiveRate锛堜綘缁欑殑鎴浘鈥滀笉鑹巼鈥濓級
+  const defectiveRate = Number(p?.defectiveRate ?? NaN);
+  if (Number.isFinite(defectiveRate)) {
+    // 鏈変簺鎺ュ彛 defectiveRate 鍙兘鏄� 0~1 鎴� 0~100锛岃繖閲屽仛涓�涓畝鍗曞垽鏂�
+    const percent = defectiveRate <= 1 ? defectiveRate * 100 : defectiveRate;
     return `${percent.toFixed(2)}%`;
   }
 
@@ -740,7 +747,7 @@
 
   .step-grid {
     display: grid;
-    grid-template-columns: repeat(4, minmax(0, 1fr));
+    grid-template-columns: repeat(5, minmax(0, 1fr));
     gap: 10px;
     .grid-item {
       background: #ffffff;

--
Gitblit v1.9.3