From f9625961d0678f81b9ce8e1d4a933c73b7fd4209 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期四, 19 十月 2023 17:43:35 +0800
Subject: [PATCH] feat: 生产目标数首次是来源于下发的任务,然后需要显示从PLC获取的目标数
---
src/components/TaskControlModal.vue | 2
src/views/visualization.vue | 92 +++++++++++++++++++++++++++-------------------
2 files changed, 55 insertions(+), 39 deletions(-)
diff --git a/src/components/TaskControlModal.vue b/src/components/TaskControlModal.vue
index 95c46be..42746bc 100644
--- a/src/components/TaskControlModal.vue
+++ b/src/components/TaskControlModal.vue
@@ -425,7 +425,7 @@
this.showBtn = 1;
// this.show = true;
} else {
- this.show = false;
+ // this.show = false;
}
},
getDateObj(date, fmt) {
diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index 2f73034..2523cc2 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -104,7 +104,7 @@
style="font-size: 35px; font-weight: 600"
class="color_green"
>
- {{ taskData.finishNumber || 0 }}{{ taskData.Order.unit }}
+ {{ processingStatistics(taskData).finishNumber }}{{ taskData.Order.unit }}
</dd>
</dl>
</div>
@@ -117,7 +117,7 @@
style="font-size: 35px; font-weight: 600"
class="color_green"
>
- {{ taskData.Order.amount || 0 }}{{ taskData.Order.unit }}
+ {{ processingStatistics(taskData).totalNumber }}{{ taskData.Order.unit }}
</dd>
</dl>
</div>
@@ -166,16 +166,7 @@
text-color="#fff"
:text-inside="true"
:stroke-width="30"
- :percentage="
- (taskData.Order && taskData.finishNumber != 0 && taskData.Order.amount)
- ? parseInt(
- (taskData.finishNumber / taskData.Order.amount) *
- 100
- )>100?100:parseInt(
- (taskData.finishNumber / taskData.Order.amount) *
- 100
- ): 0
- "
+ :percentage="calculateProgress(processingStatistics(taskData))"
></el-progress>
</el-descriptions-item>
<!-- <el-descriptions-item label="鍚堟牸鐜�" style="width: 100%">
@@ -297,15 +288,7 @@
</div>
<div class="card_top-3">
<span class="card-top-r-t"
- >瀹屾垚杩涘害锛歿{
- (taskData.Order && taskData.finishNumber != 0 && taskData.Order.amount)
- ? parseInt(
- (taskData.finishNumber /
- taskData.Order.amount) *
- 100
- )
- : 0
- }}</span
+ >瀹屾垚杩涘害锛歿{calculateProgress(processingStatistics(taskData))}}</span
>
<span class="card-top-r-b">
<el-progress
@@ -314,19 +297,7 @@
text-color="#fff"
:text-inside="true"
:stroke-width="10"
- :percentage="
- (taskData.Order && taskData.finishNumber != 0)
- ? parseInt(
- (taskData.finishNumber /
- taskData.Order.amount) *
- 100
- )>100?100:parseInt(
- (taskData.finishNumber /
- taskData.Order.amount) *
- 100
- )
- : 0
- "
+ :percentage="calculateProgress(processingStatistics(taskData))"
:show-text="false"
></el-progress>
</span>
@@ -811,6 +782,51 @@
// }
},
methods: {
+ processingStatistics(taskData){
+ const status = taskData?.Procedure?.Status;
+ // 濡傛灉status = 2 鍔犲伐涓�, 鍒欏姞宸ユ暟鍜岀洰鏍囨暟搴斿彇杞鎺ュ彛涓殑 finishNumber 鍜� totalNumber
+ // 濡傛灉status = 1 鏈紑濮�, 鐩爣鏁� 鍙� taskData.Order.amount 鍔犲伐鏁板彇 0
+ // 濡傛灉status = 3 宸插畬鎴�, 鐩爣鏁板拰鍔犲伐鏁伴兘鍙� amount
+ let finishNumber = 0;
+ let totalNumber = 0;
+ if (status === 1){
+ totalNumber = taskData?.Order?.amount ?? 0
+ finishNumber = 0
+ }else if (status === 2){
+ totalNumber = taskData?.totalNumber ?? 0
+ finishNumber = taskData?.finishNumber ?? 0
+ }else if (status === 3){
+ totalNumber = taskData?.Order?.amount ?? 0
+ finishNumber = taskData?.Order?.amount ?? 0
+ }
+
+ console.log({
+ /** 鐩爣鏁� */
+ totalNumber: +totalNumber,
+ /** 鍔犲伐鏁� */
+ finishNumber: +finishNumber,
+ })
+
+ return {
+ /** 鐩爣鏁� */
+ totalNumber: +totalNumber,
+ /** 鍔犲伐鏁� */
+ finishNumber: +finishNumber,
+ }
+ },
+ /**
+ * 璁$畻鐢熶骇杩涘害
+ * @param statistics
+ * @return {number} 杩涘害,0~100
+ */
+ calculateProgress(statistics){
+ if (statistics.finishNumber === statistics.totalNumber){
+ return 100
+ }
+
+ const result = Math.floor(statistics.finishNumber / statistics.totalNumber * 100)
+ return result > 100 ? 100 : result
+ },
deduplicateWorkers(workers){
return _.uniqBy(workers,ele=>ele.workerName)
},
@@ -1142,6 +1158,7 @@
this.TasksCopy[i].inputMaterials = [];
this.TasksCopy[i].outputMaterials = [];
this.TasksCopy[i].finishNumber = 0;
+ this.TasksCopy[i].totalNumber = 0;
this.TasksCopy[i].number=0;
this.TasksCopy[i].isUpdateIcon=false;
this.finishShow['finishShow&'+i]=false
@@ -1256,10 +1273,9 @@
procedureId: this.TasksCopy[i].Procedure.ID,
}).then((res) => {
if (res.code == 200) {
- this.TasksCopy[i].finishNumber = res.data.finishNumber
- ? res.data.finishNumber
- : 0;
- this.plcStatus=res.data.plcStatus?res.data.plcStatus:0
+ this.TasksCopy[i].finishNumber = res.data?.finishNumber ?? 0;
+ this.TasksCopy[i].totalNumber = res.data?.totalNumber ?? 0;
+ this.plcStatus = res.data?.plcStatus ?? 0
}
this.resprocInfoTimer=res;
});
--
Gitblit v1.8.0