From b141ba5fca46047791e7ea73a6e3c4bfc1b697d2 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期一, 21 八月 2023 16:32:29 +0800
Subject: [PATCH] baocuo

---
 src/views/visualization.vue |  106 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 64 insertions(+), 42 deletions(-)

diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index 6322a9b..d52aa80 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -13,8 +13,10 @@
         </p>
         <div class="statelist">
           <span class="title-item"
-            >璁㈠崟缂栧彿:
-            <span class="color_4efefa">{{ taskData.Order.orderId || "" }}</span>
+            >宸ュ崟缂栧彿:
+            <span class="color_4efefa">{{
+              taskData.Order.workOrderId || ""
+            }}</span>
           </span>
           <span class="title-item"
             >褰撳墠宸ュ簭:
@@ -33,7 +35,11 @@
           <span class="title-item"
             >宸ヤ綔浜烘暟:
             <span class="color_4efefa"
-              >{{ taskData.Procedure.procedure.workers.length || 0 }}浜�</span
+              >
+              <span v-if="taskData.Procedure.procedure&&taskData.Procedure.procedure.workers">{{ taskData.Procedure.procedure.workers.length }}</span>
+                <span v-else>0</span>
+                浜�
+                </span
             >
           </span>
         </div>
@@ -76,9 +82,7 @@
                 {{ taskData.Procedure.procedure.workHours || "" }}
               </el-descriptions-item>
               <el-descriptions-item label="璧锋鏃堕棿"
-                >{{
-                  formatDate(taskData.Procedure.procedure.startTime) || ""
-                }}
+                >{{ formatDate(taskData.Procedure.procedure.startTime) || "" }}
                 -
                 {{
                   formatDate(taskData.Procedure.procedure.endTime)
@@ -103,9 +107,7 @@
                   :text-inside="true"
                   :stroke-width="30"
                   :percentage="
-                    finishNumber && taskData.Order.amount
-                      ? parseInt(finishNumber / taskData.Order.amount)
-                      : 0
+                    finishPercent
                   "
                 ></el-progress>
               </el-descriptions-item>
@@ -195,18 +197,17 @@
                     <div class="card_top-3">
                       <span class="card-top-r-t"
                         >瀹屾垚杩涘害锛歿{
-                          parseInt(finishNumber / taskData.Order.amount) || 0
+                         finishPercent || 0
                         }}</span
                       >
                       <span class="card-top-r-b">
-                       
                         <el-progress
                           define-back-color="#133EAF"
                           color="#09E5ED"
                           :text-inside="true"
                           :stroke-width="10"
                           :percentage="
-                           parseInt(finishNumber / taskData.Order.amount)
+                            finishPercent
                           "
                           :show-text="false"
                         ></el-progress>
@@ -224,8 +225,18 @@
                     <!-- <div class="card_content">
                       
                     </div> -->
-                    <div class="card_top-4"><div>宸ヨ壓缂栧彿锛歿{ list.number }}</div>
-                      <div style="font-size:14px;color:#cfcfcf;line-height:20px">宸ヨ壓鐨勫叿浣撲俊鎭鐐瑰嚮鎺у埗鏌ョ湅锛�</div></div>
+                    <div class="card_top-4">
+                      <div>宸ヨ壓缂栧彿锛歿{ list.number }}</div>
+                      <div
+                        style="
+                          font-size: 14px;
+                          color: #cfcfcf;
+                          line-height: 20px;
+                        "
+                      >
+                        宸ヨ壓鐨勫叿浣撲俊鎭鐐瑰嚮鎺у埗鏌ョ湅锛�
+                      </div>
+                    </div>
                   </template>
                 </div>
               </el-carousel-item>
@@ -358,7 +369,7 @@
         </div>
         <div class="right_dutyLst">
           <div class="right-small-title">褰撳墠鍊肩彮</div>
-          <div class="right-person-box">
+          <div class="right-person-box" v-if="taskData.Procedure.procedure.workers">
             <dl
               class="right-small-person"
               v-for="(item, index) in taskData.Procedure.procedure.workers"
@@ -395,7 +406,7 @@
           </div> -->
         </div>
         <div class="right_base">
-          <div class="right-small-title" style="line-height:40px;">鐭ヨ瘑搴�</div>
+          <div class="right-small-title" style="line-height: 40px">鐭ヨ瘑搴�</div>
           <Knowledge />
           <div class="right-base-btn call">
             <el-button type="primary"
@@ -457,27 +468,15 @@
       passrate: 30, //鍚堟牸鐜�
       production: 25, //鐢熶骇涓�
       finishNumber: 0,
+      finishPercent:0,
       // 鍙充晶瀹屾垚
       finishShow: false,
       inputMaterials: [
-        {
-          amount: 1,
-          materialId: 1,
-          materialName: 1,
-        },
+        
       ],
       outputMaterials: [],
       procedureList: [
-        [
-        {
-            number:10,
-            name:'宸ュ簭'
-          },
-          {
-            number:10,
-          },
-          
-        ]
+       
       ],
       taskData: {
         Order: {
@@ -538,6 +537,8 @@
     getProgressInfo() {
       getProgress().then((res) => {
         if (res.code == 200) {
+          this.finishNumber=res.data.finishNumber?res.data.finishNumber:0;
+          this.finishPercent=res.data.finishPercent?res.data.finishPercent:0;
         }
       });
     },
@@ -593,9 +594,22 @@
     },
 
     getTaskInfo() {
+      this.taskData = {
+        Order: {},
+        Procedure: { procedure: { inputMaterials: [], outputMaterials: [],workers:[] } },
+        
+      };
       getTaskInfo().then((res) => {
         if (res.code == 200) {
-          this.taskData = res.data;
+          this.taskData = res.data
+            ? res.data
+            : {
+                Order: {},
+                Procedure: {
+                  procedure: { inputMaterials: [], outputMaterials: [],workers:[]  },
+                },
+              };
+          this.taskData.Procedure.procedure.workers=this.taskData.Procedure.procedure.workers?this.taskData.Procedure.procedure.workers:[]
           this.procedureList.push([
             {
               name: "宸ュ簭",
@@ -631,17 +645,25 @@
     },
     // 鍙充晶鎺у埗
     controlClick() {
-      this.$refs.control.islook = true;
+      if (Object.keys(this.taskData).length > 0 && this.taskData.Procedure.ID) {
+        this.$refs.control.islook = true;
+      } else {
+        this.$message.error("褰撳墠璁惧娌℃湁宸ュ簭锛�");
+      }
     },
     // 鍙充晶瀹屾垚
     finishClick() {
-      finishTask({ id: this.taskData.Procedure.ID }).then((res) => {
-        if (res.code == 200) {
-          this.finishShow = false;
-          this.getTaskInfo();
-          this.$message.success("鎿嶄綔鎴愬姛锛�");
-        }
-      });
+      if (Object.keys(this.taskData).length > 0 && this.taskData.Procedure.ID) {
+        finishTask({ id: this.taskData.Procedure.ID }).then((res) => {
+          if (res.code == 200) {
+            this.finishShow = false;
+            this.getTaskInfo();
+            this.$message.success("鎿嶄綔鎴愬姛锛�");
+          }
+        });
+      } else {
+        this.$message.error("褰撳墠璁惧娌℃湁宸ュ簭锛�");
+      }
     },
     getRandomNumber(min, max) {
       return Math.floor(Math.random() * (max - min + 1) + min);
@@ -750,7 +772,7 @@
 .right-small-btn {
   margin-top: 10px;
   width: calc(100% - 20px);
-  margin:0 auto;
+  margin: 0 auto;
   position: absolute;
   bottom: 10px;
   left: 10px;
@@ -977,7 +999,7 @@
           line-height: 40px;
           color: #fff;
           background: rgb(19, 35, 90);
-          font-size:20px;
+          font-size: 20px;
         }
         .card-info-box {
           position: absolute;

--
Gitblit v1.8.0