From c5870d04b3a4a6028ea367d475a17bbce45aa9c6 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期二, 19 九月 2023 11:41:55 +0800
Subject: [PATCH] 报错处理  2023-9-19

---
 src/views/visualization.vue |  164 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 117 insertions(+), 47 deletions(-)

diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index 3745c30..1f22bf7 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -1,7 +1,7 @@
 
 <template>
   <div class="home">
-    <!-- v-if="Object.keys(taskData).length > 0 && taskData.Procedure.ID" -->
+    <!--  -->
     <template v-if="Tasks&&Tasks.length>0">
       <div class="left">
         <p class="title">
@@ -37,6 +37,7 @@
           v-for="(taskData, index) in Tasks"
           :key="index"
         >
+        <template v-if="taskData">
           <div class="gong-date">
             宸ュ簭杩愯鏃堕棿锛歿{ getFormatTime(taskData.Procedure.startTime) }}
           </div>
@@ -44,13 +45,13 @@
             <span class="title-item"
               >宸ュ崟缂栧彿:
               <span class="color_4efefa">{{
-                taskData.Order.workOrderId || ""
+                taskData.Order.workOrderId || "--"
               }}</span>
             </span>
             <span class="title-item"
               >褰撳墠宸ュ簭:
               <span class="color_4efefa">{{
-                taskData.Procedure.procedure.procedureName || ""
+                taskData.Procedure.procedure.procedureName || "--"
               }}</span>
             </span>
             <span class="title-item"
@@ -74,8 +75,8 @@
               </span>
             </span> -->
           </div>
-          <div class="gongx" v-if="taskData.AllProcedures">
-          <el-steps :active="taskData.CurrentProcedureIndex?taskData.CurrentProcedureIndex:0"  finish-status="success" class="steps">
+          <div class="gongx">
+          <el-steps v-if="taskData.AllProcedures" :active="taskData.CurrentProcedureIndex?taskData.CurrentProcedureIndex:0"  finish-status="success" class="steps">
             <el-step icon="" :title="item" v-for="(item,index) in taskData.AllProcedures" :key="index"></el-step>
           </el-steps>
         </div>
@@ -246,8 +247,16 @@
                   >
                     <template v-if="list.name == '宸ュ簭'">
                       <div class="card_content">
-                        <div class="card_contentLeft color_blue">
-                          {{ list.deviceName }}
+                        <div class="card_contentLeft color_blue font_dian">
+                          <!-- {{ list.deviceName }} -->
+                          <el-tooltip
+                          effect="dark"
+                          popper-class="tooltip-width-200"
+                          :content="list.deviceName"
+                          placement="top-start"
+                        >
+                          <span>{{ list.deviceName }}</span>
+                        </el-tooltip>
                           <!-- <span style="float: right">6m/s</span> -->
                         </div>
                       </div>
@@ -299,8 +308,8 @@
                       <!-- <div class="card_content">
                         
                       </div> -->
-                      <div class="card_top-4">
-                        <div>宸ヨ壓缂栧彿锛歿{ list.number }}</div>
+                      <div :class="activeName==1?'card_top-4 font_size_20px':'card_top-4'">
+                        <div>宸ヨ壓缂栧彿锛�<div >{{ list.number }}</div></div>
                         <!-- <div
                           style="
                             font-size: 14px;
@@ -423,6 +432,13 @@
               >
             </div>
           </div>
+        </template>
+          <!-- 2涓换鍔$殑鏃跺�欙紝绗簩涓换鍔′负绌虹殑鏃跺�欐樉绀� -->
+          <template
+              v-if="activeName == 2 &&(!taskData||Object.keys(taskData).length==0)"
+            >
+            <el-empty description="鏆傛棤浠诲姟..."></el-empty>
+          </template>
         </div>
       </div>
       <div class="right">
@@ -477,9 +493,12 @@
                 style="font-size: 20px; font-weight: 600; margin-right: 10px"
                 >{{ item.workerName || "" }}</span
               >
-              <span>{{ item.phoneNum || "" }}</span>
+              <!-- <span>{{ item.phoneNum || "" }}</span> -->
+              <span class="color_yellow"><i class="el-icon-star-on" /><i class="el-icon-star-on" /><i class="el-icon-star-on" /><i class="el-icon-star-on" /><i class="el-icon-star-on" /></span>
             </dl>
+           
           </div>
+         
           <!-- <div
             style="
               width: 100%;
@@ -504,7 +523,7 @@
         </div>
       </div>
     </template>
-    <!-- v-else -->
+    <!--  -->
     <template v-else>
       <div class="home-img-box">
         <div class="bg-title">
@@ -692,7 +711,15 @@
   methods: {
     taskClick(){
       if(this.TaskCount>0){
-        this.$refs.control.islook=true
+        for(let i in this.Tasks){
+          if(this.Tasks[i].Procedure.Status==1){
+            this.isTipShow=false
+            break;
+          }
+        }
+        if(!this.isTipShow){
+          this.$refs.control.islook=true
+        }
       }else{
         this.$message.error('鐩墠娌℃湁浠诲姟锛�')
       }
@@ -799,11 +826,11 @@
       return d;
     },
     setInterCard(value, name, i) {
-      if (this.Tasks[i].Procedure.procedure[value]) {
+      if (this.Tasks[i].Procedure.procedure[value]!=null) {
         let height = 200;
         let num = 1;
         if (this.$refs[name]) {
-          height = this.$refs[name].$el.offsetHeight;
+          height = this.$refs[name].$el?this.$refs[name].$el.offsetHeight:200;
           num = Math.floor(height / 80);
         }
         let inputMaterials = JSON.parse(
@@ -840,7 +867,14 @@
         },
         inputMaterials: [],
         outputMaterials: [],
-        procedureList: [],
+        procedureList: [
+        //  [ 
+        //     {
+        //       name:"宸ュ簭",
+        //       deviceName:'1111dhafjdhajkhf jkdahjkf鎵撴硶鍗冲彲鎵撻枊閺堟帴鑲痉鍩哄晩鐪嬩締jdad澶ч浜笢鍗¤�佸徃鏈虹暘绐犲�掕嚰寮�浜嗘埧閲戦樋濂庣鍗佸叚灞婂弽棣堟媺寰锋柉鍩簁鎵撳崱鏈洪樋鐝傞檮浠舵墦寮�浜嗙偣鍑婚樋閲屽崱鍑忚偉鐨勫崱鎷夎兌寮�浜嗘埧澶ц涓婂厠闅唂k鍟﹀ぇ瀹堕槻绌洪浄閬旀暩鎿氱湅i'
+        //     },
+        //   ]
+        ],
       };
       this.Tasks = [];
       getTaskInfo({ page: 1, pageSize: this.activeName }).then((res) => {
@@ -852,16 +886,9 @@
            })
           }
           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:[]
-          if (this.Tasks.length == 0) {
-            if (this.activeName == 1) {
-              this.Tasks.push(object);
-            } else {
-              this.Tasks.push(object);
-              this.Tasks.push(object);
-            }
-          }
           for (let i in this.Tasks) {
             this.Tasks[i].procedureList = [];
             this.Tasks[i].inputMaterials = [];
@@ -902,6 +929,14 @@
                 }, 9000);
           }
         }
+          if (this.Tasks.length == 0) {
+            if (this.activeName == 1) {
+              this.Tasks.push(object);
+            } else {
+              this.Tasks.push(object);
+              this.Tasks.push(object);
+            }
+          }
         if (res.code != 200 || this.Tasks.length == 0) {
           this.getcountdown();
           // 鎺у埗閲嶆柊璇锋眰getTaskInfo, 鍙紑鍚竴涓畾鏃跺櫒
@@ -912,6 +947,9 @@
           }
         }
       });
+      
+      // this.Tasks.push(object)
+      // this.Tasks.push(object)
     },
     getStartArr(){
       for (let i in this.Tasks) {
@@ -924,17 +962,19 @@
     },
     getProgressInfo() {
       for (let i in this.Tasks){
-        getProgress({
-          position: Number(i),
-          procedureId: this.Tasks[i].Procedure.ID,
-        }).then((res) => {
-          if (res.code == 200) {
-            this.Tasks[i].finishNumber = res.data.finishNumber
-              ? res.data.finishNumber
-              : 0;
-              this.plcStatus=res.data.plcStatus?res.data.plcStatus:1
-          }
-        });
+        if(this.Tasks[i].Procedure.ID){
+          getProgress({
+            position: Number(i),
+            procedureId: this.Tasks[i].Procedure.ID,
+          }).then((res) => {
+            if (res.code == 200) {
+              this.Tasks[i].finishNumber = res.data.finishNumber
+                ? res.data.finishNumber
+                : 0;
+                this.plcStatus=res.data.plcStatus?res.data.plcStatus:1
+            }
+          });
+        }
       }
       
     },
@@ -986,6 +1026,21 @@
 </script>
 
 <style lang="scss">
+.tooltip-width-200{
+  width:200px;
+  line-height:1.3!important;
+}
+.color_yellow{
+  color:yellow;
+}
+.el-empty{
+  height:100%;
+  .el-empty__description p{
+    font-size:16px!important;
+    color:#fff!important;
+  }
+}
+
 .active-one {
   width: 100%;
   height: calc(100% - 100px);
@@ -1001,6 +1056,9 @@
   .bottom {
     height: calc(100% - 410px);
   }
+  .font_size_20px{
+    font-size:20px!important;
+  }
 }
 .active-two {
   width: calc(50% - 10px);
@@ -1013,6 +1071,7 @@
     box-sizing: border-box;
     border-right: 1px solid #eee;
   }
+  
   .small_title {
     margin-bottom: 30px;
   }
@@ -1255,9 +1314,10 @@
     .el-carousel__container{
       overflow-y:auto;
     }
-    // .el-carousel__item{
-    //   min-height:116px;
-    // }
+    .el-carousel__item{
+    //  height:auto;
+     min-height:160px;
+    }
   }
 }
 
@@ -1324,11 +1384,12 @@
       align-content: center;
       justify-content: space-around;
       align-items: center;
+      overflow:hidden;
       .title-item {
-        width: calc(33.333% - 50px);
+        width: calc((100% - 50px)/3);
         float: left;
         margin-right: 10px;
-        padding: 15px 20px;
+        padding: 10px 5px;
         text-align: center;
         border-radius: 4px;
         display: inline-block;
@@ -1420,7 +1481,7 @@
         // border: 1px solid #ccc;
         background: #6b83ff;
         border-radius: 5px;
-        margin-top: 20px;
+        margin-top: 10px;
         color: #333;
         position: relative;
         .card_top-2,
@@ -1474,8 +1535,6 @@
           color: #fff;
           font-size: 12px;
           line-height: 45px;
-          float: left;
-
           > div {
             margin-left: 12px;
             position: relative;
@@ -1487,15 +1546,20 @@
             }
           }
         }
+        .card_top{
+          float: left;
+        }
         .card_top-4 {
           width: calc(100% - 20px);
-          padding: 0 10px;
-          height: 70px;
-
-          line-height: 70px;
+          padding: 10px 10px;
           color: #fff;
           background: rgb(19, 35, 90);
-          font-size: 20px;
+          font-size: 14px;
+          height:50px;
+          line-height: 25px;
+          >div{
+            margin-left:0px;
+          }
         }
         .card-info-box {
           position: absolute;
@@ -1522,6 +1586,12 @@
             border-radius: 5px 5px 0 0;
             background: rgb(19, 35, 90);
           }
+          .font_dian{
+            -webkit-box-orient:vertical;
+            overflow:hidden;
+            text-overflow:ellipsis;
+            white-space:nowrap;
+          }
 
           .card_contentRight {
             width: 100%;

--
Gitblit v1.8.0