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