From 0ff14f558473544c9145735524fb671743c716bb Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期五, 22 九月 2023 19:05:29 +0800
Subject: [PATCH] 看板改版

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

diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index 4ca6d69..9c48cd3 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -13,9 +13,17 @@
             <img style="width:32px;" v-if="activeName == 1" src="../../public/one-blue.png" />
             <img style="width:32px;" v-else src="../../public/one.png" />
           </span>
-          <span class="font set-title" style="float: left" @click="cutClick(2)">
+          <span class="font set-title" style="float: left;margin-right: 15px;" @click="cutClick(2)">
             <img style="width:32px;" v-if="activeName == 2" src="../../public/two-blue.png" />
             <img style="width:32px;" v-else src="../../public/two.png" />
+          </span>
+          <span
+            class="font set-title"
+            style="float: left; "
+            @click="cutClick(3)"
+          >
+            <img style="width:32px;" v-if="activeName == 3" src="../../public/one-blue.png" />
+            <img style="width:32px;" v-else src="../../public/one.png" />
           </span>
           鐢熶骇绠$悊鐪嬫澘
           <span
@@ -33,7 +41,7 @@
         </span>
         </p>
         <div
-          :class="activeName == 1 ? 'active-one' : 'active-two'"
+          :class="(activeName == 1||activeName == 3) ? 'active-one' : 'active-two'"
           v-for="(taskData, index) in Tasks"
           :key="index"
         >
@@ -110,7 +118,7 @@
               </div>
             </div>
             <div class="content_right">
-              <el-descriptions :column="activeName == 1 ? 2 : 1" :colon="true">
+              <el-descriptions :column="(activeName == 1||activeName == 3) ? 2 : 1" :colon="true">
                 <el-descriptions-item label="浜у搧鍚嶇О">{{
                   taskData.Order.productName || ""
                 }}</el-descriptions-item>
@@ -308,7 +316,7 @@
                       <!-- <div class="card_content">
                         
                       </div> -->
-                      <div :class="activeName==1?'card_top-4 font_size_20px':'card_top-4'">
+                      <div :class="(activeName==1||activeName == 3)?'card_top-4 font_size_20px':'card_top-4'">
                         <div>宸ヨ壓缂栧彿锛�<div >{{ list.number }}</div></div>
                         <!-- <div
                           style="
@@ -408,7 +416,7 @@
         </template>
           <!-- 2涓换鍔$殑鏃跺�欙紝绗簩涓换鍔′负绌虹殑鏃跺�欐樉绀� -->
           <template
-              v-if="activeName == 2 &&(!taskData||Object.keys(taskData).length==0)"
+              v-if="activeName == 2 &&(!taskData||Object.keys(taskData).length==0||(Tasks.length<2))"
             >
             <el-empty description="鏆傛棤浠诲姟..."></el-empty>
           </template>
@@ -665,6 +673,7 @@
       TaskCount:0,
       plcStatus:0,
       isTipShow:false,
+      isFinsh:0,
     };
   },
   mounted() {
@@ -680,6 +689,13 @@
       this.getDate2();
     }, 5000);
     this.getTaskInfo();
+  },
+  watch:{
+    isFinsh(){
+      if(this.isFinsh==this.Tasks.length){
+        this.getStartArr()
+      }
+    }
   },
   methods: {
     taskClick(){
@@ -862,48 +878,7 @@
           this.Tasks = res.data.Tasks ? res.data.Tasks : [];
           
           this.TaskCount=res.data.TaskCount?res.data.TaskCount:0
-          this.workers=res.data.workers?res.data.workers:[]
-          for (let i in this.Tasks) {
-            this.Tasks[i].procedureList = [];
-            this.Tasks[i].inputMaterials = [];
-            this.Tasks[i].outputMaterials = [];
-            this.Tasks[i].finishNumber = 0;
-            this.finishShow['finishShow&'+i]=false
-            this.Tasks[i].Procedure.procedure.workers = this.Tasks[i].Procedure
-              .procedure.workers
-              ? this.Tasks[i].Procedure.procedure.workers
-              : [];
-            this.Tasks[i].procedureList.push([
-              {
-                name: "宸ュ簭",
-                ...this.Tasks[i].Procedure.procedure,
-              },
-            ]);
-            
-            if (this.Tasks[i].Procedure.ID) {
-              startTask({ id: this.Tasks[i].Procedure.ID }).then((res) => {
-                if (res.code == 200) {
-                  // res.data.number
-                  this.Tasks[i].procedureList[0].push({
-                    number: res.data.Number,
-                    name: "宸ヨ壓",
-                    Arr:res.data.Params ? res.data.Params : [],
-                  });
-                }
-              });
-            }
-            this.setInterCard("inputMaterials", "cardBox1&" + i, i);
-            this.setInterCard("outputMaterials", "cardBox3&" + i, i);
-          }
-          this.getStartArr()
-          this.getProgressInfo();
-              if (!this.procInfoTimer) {
-                this.procInfoTimer = setInterval(() => {
-                  this.getProgressInfo();
-                }, 3000);
-          }
-        }
-          if (this.Tasks.length == 0) {
+          if (this.Tasks.length == 0&&this.TaskCount==0) {
             if (this.activeName == 1) {
               this.Tasks.push(object);
             } else {
@@ -911,6 +886,47 @@
               this.Tasks.push(object);
             }
           }
+          this.workers=res.data.workers?res.data.workers:[]
+          for (let i in this.Tasks) {
+            this.Tasks[i].procedureList = [];
+            this.Tasks[i].inputMaterials = [];
+            this.Tasks[i].outputMaterials = [];
+            this.finishShow['finishShow&'+i]=false
+            this.Tasks[i].Procedure.procedure.workers = this.Tasks[i].Procedure
+              .procedure.workers
+              ? this.Tasks[i].Procedure.procedure.workers
+              : [];
+
+            this.Tasks[i].procedureList.push([
+              {
+                name: "宸ュ簭",
+                ...this.Tasks[i].Procedure.procedure,
+              },
+            ]);
+           
+            if (this.Tasks[i].Procedure.ID) {
+              startTask({ id: this.Tasks[i].Procedure.ID }).then((res) => {
+                if (res.code == 200) {
+                  // res.data.number
+                  this.Tasks[i].procedureList[0].push({
+                    number: res.data.Number,
+                  });
+                  this.Tasks[i].Arr=res.data.Params ? res.data.Params : []
+                  this.isFinsh=Number(i)+1
+                }
+              });
+            }
+            this.setInterCard("inputMaterials", "cardBox1&" + i, i);
+            this.setInterCard("outputMaterials", "cardBox3&" + i, i);
+          }
+        
+          this.getProgressInfo();
+              if (!this.procInfoTimer) {
+                this.procInfoTimer = setInterval(() => {
+                  this.getProgressInfo();
+                }, 3000);
+          }
+        }
         if (res.code != 200 || this.Tasks.length == 0) {
           this.getcountdown();
           // 鎺у埗閲嶆柊璇锋眰getTaskInfo, 鍙紑鍚竴涓畾鏃跺櫒
@@ -928,7 +944,7 @@
     getStartArr(){
       for (let i in this.Tasks) {
         if (this.Tasks[i].Procedure.Status==1) {
-            this.Arr = this.Tasks[i].procedureList[0].Arr ?this.Tasks[i].procedureList[0].Arr: [];
+            this.Arr = this.Tasks[i].Arr ?this.Tasks[i].Arr: [];
             this.taskData=this.Tasks[i];
             break;
         }
@@ -937,6 +953,7 @@
     getProgressInfo() {
       for (let i in this.Tasks){
         if(this.Tasks[i].Procedure.ID){
+          this.Tasks[i].finishNumber = 0;
           getProgress({
             position: Number(i),
             procedureId: this.Tasks[i].Procedure.ID,
@@ -962,19 +979,7 @@
         path: "/set",
       });
     },
-    // 鍙充晶鎺у埗
-    controlClick() {
-      if (this.Tasks.length > 0) {
-        for(let i in this.Tasks){
-          if(this.Tasks[i].Procedure.Status==1){
-            this.$refs.control.islook = true;
-            break;
-          }
-        }
-      } else {
-        this.$message.error("褰撳墠璁惧娌℃湁宸ュ簭锛�");
-      }
-    },
+    
     // 鍙充晶瀹屾垚
     finishClick(i, taskData) {
       if (Object.keys(taskData).length > 0 && taskData.Procedure.ID) {

--
Gitblit v1.8.0