From ba0a75ccaf642d98d8cf054691f42a5c593c54ce Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 22 九月 2026 11:54:22 +0800
Subject: [PATCH] fix: 生产订单完成进度去除百分比限制

---
 src/views/productionManagement/productionOrder/index.vue |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/src/views/productionManagement/productionOrder/index.vue b/src/views/productionManagement/productionOrder/index.vue
index 9ac0ffa..4aa3c78 100644
--- a/src/views/productionManagement/productionOrder/index.vue
+++ b/src/views/productionManagement/productionOrder/index.vue
@@ -79,9 +79,11 @@
                 @selection-change="handleSelectionChange"
                 @pagination="pagination">
         <template #completionStatus="{ row }">
-          <el-progress :percentage="toProgressPercentage(row?.completionStatus)"
-                       :color="progressColor(toProgressPercentage(row?.completionStatus))"
-                       :status="toProgressPercentage(row?.completionStatus) >= 100 ? 'success' : ''" />
+          <el-progress :percentage="toBarPercentage(row?.completionStatus)"
+                       :color="progressColor(row?.completionStatus)"
+                       :status="toProgressPercentage(row?.completionStatus) >= 100 ? 'success' : ''">
+            <span>{{ progressText(row?.completionStatus) }}</span>
+          </el-progress>
         </template>
         <template #processRouteStatus="{ row }">
           <div v-if="row.processRouteStatus && row.processRouteStatus.length"
@@ -93,7 +95,7 @@
                 <div class="step-circle"
                      :class="{ 'is-completed': item.percentage >= 100 }">
                   <span class="step-percentage"
-                        :style="{ color: item.percentage >= 70 ? item.percentage >= 100 ? '#67c23a' : '#f56c6c' : '#000' }">{{ item.percentage }}%</span>
+                        :style="{ color: processStepColor(item.percentage) }">{{ percentLabel(item.percentage) }}</span>
                 </div>
                 <div class="step-name">{{ item.name }}</div>
               </div>
@@ -497,10 +499,21 @@
 
   const toProgressPercentage = val => {
     const n = Number(val);
-    if (!Number.isFinite(n)) return 0;
-    if (n <= 0) return 0;
-    if (n >= 100) return 100;
-    return Math.round(n);
+    if (!Number.isFinite(n) || n <= 0) return 0;
+    return Math.round(n * 100) / 100;
+  };
+
+  const toBarPercentage = val => Math.min(100, toProgressPercentage(val));
+
+  const progressText = val => `${toProgressPercentage(val)}%`;
+
+  const percentLabel = val => `${Math.round(toProgressPercentage(val))}%`;
+
+  const processStepColor = percentage => {
+    const p = toProgressPercentage(percentage);
+    if (p >= 100) return "#67c23a";
+    if (p >= 70) return "#f56c6c";
+    return "#000";
   };
 
   // 30/50/80/100 鍒嗘棰滆壊锛氱孩/姗�/钃�/缁�

--
Gitblit v1.9.3