From 2280d3aaaf652a89159efbe196356d9c6c35bbe8 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期一, 23 十月 2023 19:07:44 +0800
Subject: [PATCH] feat: 计划时间取值字段更改; 修复0通道没有任务的情况下1通道的数据跑到左边的问题

---
 src/views/visualization.vue |   66 ++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 21 deletions(-)

diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index b2c21a5..24b7b59 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -145,9 +145,9 @@
                   {{ taskData.Procedure.procedure.workHours || "--" }}
                 </el-descriptions-item>
                 <el-descriptions-item label="璁″垝鏃堕棿"
-                  >{{ formatDate(taskData.Order.startTime) || "--" }}
+                  >{{ formatDate(taskData.Procedure.startTime) || "--" }}
                   -
-                  {{ formatDate(taskData.Order.endTime) }}</el-descriptions-item
+                  {{ formatDate(taskData.Procedure.endTime) }}</el-descriptions-item
                 >
                 <el-descriptions-item label="閫氶亾">
                   {{ channelNameConfig[taskData.Channel] || "--" }}
@@ -306,7 +306,7 @@
                       </div>
                       <div class="card_top-2">
                         <div style="line-height: 45px; text-align: center">
-                          {{ taskData?.plcStatus === 3 ? '寰呮満' : (taskData.Procedure.Status==3?'鐢熶骇瀹屾垚':'鐢熶骇涓�') }}
+                          {{ displayProcedureStatus(taskData) }}
                         </div>
                         <!-- <span class="card-top-r-t">瀹屾垚杩涘害锛�50%</span>
                           <span class="card-top-r-b">12鏈�28鏃� 08:24</span> -->
@@ -803,6 +803,37 @@
     }
   },
   methods: {
+    newTaskPlaceholder(channel){
+      return {
+        Order: {},
+        Procedure: {
+          procedure: { inputMaterials: [], outputMaterials: [], workers: [] },
+        },
+        Channel:channel,
+        inputMaterials: [],
+        outputMaterials: [],
+        procedureList: [],
+      }
+    },
+    /**
+     * 灞曠ず宸ュ簭鐘舵��
+     * 濡傛灉PLC鐨勭姸鎬佹槸寰呮満瑕佽窡闅廝LC鐘舵��
+     * @param taskData
+     * @return {string}
+     */
+    displayProcedureStatus(taskData){
+      if (taskData?.plcStatus === 3){
+        return '寰呮満'
+      }
+      if (!taskData?.Procedure?.Status){
+        return ''
+      }
+      if (taskData.Procedure.Status===3){
+        return '鐢熶骇瀹屾垚'
+      }else{
+        return '鐢熶骇涓�'
+      }
+    },
     /**
      * 浠庝换鍔′腑鑾峰彇鍔犲伐鏁板拰鐩爣鏁�
      * @param taskData
@@ -1127,29 +1158,22 @@
       this.TasksCopy=[]
       getTaskInfo({taskMode:2}).then((res) => {
         if (res.code == 200&&res.data) {
-          // let arr=[]
-          if(res.data.Tasks){
-            res.data.Tasks.sort(function(a,b){
-            return (a.Channel - b.Channel)
-           })
-          }
-          this.TasksCopy = res.data.Tasks ? res.data.Tasks : [];
+          this.TasksCopy = res.data?.Tasks ?? [];
           // this.safeProduce=res.data.Prompt.safeProduce?res.data.Prompt.safeProduce:''
-          this.plcNotConnected=res.data.Prompt.plcNotConnected?res.data.Prompt.plcNotConnected:''
-          this.ChannelAmount=res.data.ChannelAmount?res.data.ChannelAmount:1
+          this.plcNotConnected=res.data.Prompt.plcNotConnected ?? ''
+          this.ChannelAmount=res.data.ChannelAmount ?? 1
           // if(this.ChannelAmount>1 &&this.TasksCopy.length<2){
           //   this.TasksCopy.push(this.object)
           // }
-          this.TaskCount=res.data.TaskCount?res.data.TaskCount:0
+          this.TaskCount=res.data.TaskCount ?? 0
 
-          if ((this.TasksCopy.length ==0 )||!this.TasksCopy) {
-            if (this.activeName == 1||this.activeName == 3) {
-              this.TasksCopy.push(this.object);
-            } else {
-              this.TasksCopy.push(this.object);
-              this.TasksCopy.push(this.object);
-            }
-          }
+          // 鎵惧嚭缂哄皯浠诲姟鏁版嵁鐨勯�氶亾, 浣跨敤鍗犱綅鏁版嵁鍗犱綇瀵瑰簲閫氶亾
+          const channelNumbers = this.TasksCopy.map(task=>task.Channel)
+          const allChannels = [0,1];
+          const lackChannels = _.chain(allChannels).difference(channelNumbers).value()
+          lackChannels.forEach(channel => this.TasksCopy.push(this.newTaskPlaceholder(channel)))
+          this.TasksCopy.sort((a,b)=>a.Channel - b.Channel)
+
           this.workers=res.data.workers?res.data.workers:[]
 
           // 灏嗗�肩彮浜烘牴鎹�氶亾鍙峰垎缁�

--
Gitblit v1.8.0