From e94dceef0ae4eb9dca0964d93ed35772a594416e Mon Sep 17 00:00:00 2001
From: zhang_nuo <zhang_12370@163.com>
Date: 星期日, 13 九月 2026 13:18:51 +0800
Subject: [PATCH] feat(workOrder): 新增生产状态和领料状态展示

---
 src/views/productionManagement/workOrderManagement/index.vue |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/src/views/productionManagement/workOrderManagement/index.vue b/src/views/productionManagement/workOrderManagement/index.vue
index f64b1d2..b20efda 100644
--- a/src/views/productionManagement/workOrderManagement/index.vue
+++ b/src/views/productionManagement/workOrderManagement/index.vue
@@ -33,10 +33,22 @@
                 :page="page"
                 :tableLoading="tableLoading"
                 @pagination="pagination">
+        <template #productionStatus="{ row }">
+          <el-tag :type="getProductionStatusType(row)"
+                  size="small">
+            {{ getProductionStatusText(row) }}
+          </el-tag>
+        </template>
         <template #completionStatus="{ row }">
           <el-progress :percentage="toProgressPercentage(row?.completionStatus)"
                        :color="progressColor(toProgressPercentage(row?.completionStatus))"
                        :status="toProgressPercentage(row?.completionStatus) >= 100 ? 'success' : ''" />
+        </template>
+        <template #picked="{ row }">
+          <el-tag :type="row.picked ? 'success' : 'info'"
+                  size="small">
+            {{ row.picked ? "宸查鏂�" : "鏈鏂�" }}
+          </el-tag>
         </template>
       </PIMTable>
     </div>
@@ -332,6 +344,13 @@
       width: "140",
     },
     {
+      label: "鐢熶骇鐘舵��",
+      prop: "productionStatus",
+      dataType: "slot",
+      slot: "productionStatus",
+      width: "100",
+    },
+    {
       label: "瀹屾垚杩涘害",
       prop: "completionStatus",
       dataType: "slot",
@@ -525,6 +544,26 @@
     },
   });
   const { searchForm } = toRefs(data);
+  // 鐢熶骇鐘舵�佹枃瀛楋細鏈鏂� 鈫� 寰呯敓浜� 鈫� 鐢熶骇涓� 鈫� 宸茬敓浜�
+  const getProductionStatusText = row => {
+    const percent = toProgressPercentage(row?.completionStatus);
+    if (percent >= 100) return "宸茬敓浜�";
+    if (!row?.picked) return "鏈鏂�";
+    const completeQty = Number(row?.completeQuantity) || 0;
+    if (completeQty > 0) return "鐢熶骇涓�";
+    return "寰呯敓浜�";
+  };
+
+  // 鐢熶骇鐘舵�佹爣绛鹃鑹�
+  const getProductionStatusType = row => {
+    const percent = toProgressPercentage(row?.completionStatus);
+    if (percent >= 100) return "success";
+    if (!row?.picked) return "info";
+    const completeQty = Number(row?.completeQuantity) || 0;
+    if (completeQty > 0) return "warning";
+    return "primary";
+  };
+
   const toProgressPercentage = val => {
     const n = Number(val);
     if (!Number.isFinite(n)) return 0;

--
Gitblit v1.9.3