From 5f995a37aa94d0db1e8d03e0c3ea005a8b297f9b Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期四, 28 九月 2023 10:28:12 +0800
Subject: [PATCH] 工艺参数报错内容处理

---
 src/views/visualization.vue |  169 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 125 insertions(+), 44 deletions(-)

diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index 554b3db..312e308 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -1,8 +1,8 @@
 
 <template>
-  <div class="home">
-    <!--  -->
-    <template v-if="Tasks&&Tasks.length>0">
+  <div class="home" ref="homeRef">
+    <!-- v-if="Tasks&&Tasks.length>0" -->
+    <template >
       <div class="left">
         <p class="title">
           <template v-if="Number(ChannelAmount)>1">
@@ -25,9 +25,9 @@
               style="float: left;"
               @click="cutClick(3)"
             >
-              <img style="width:32px;" v-if="activeName == 3" src="../../public/one-blue.png" />
+              <img style="width:32px;" v-if="activeName == 3" src="../../public/right-blue.png" />
               <span  v-else>
-                <img style="width:32px;" src="../../public/one.png" />
+                <img style="width:32px;" src="../../public/right.png" />
               </span>
             </span>
          </template>
@@ -211,16 +211,32 @@
                     v-for="(list, index2) in item"
                   >
                     <div class="card_content">
-                      <div class="card_contentLeft">{{ list.materialId }}</div>
+                      <div class="card_contentLeft font_dian">
+                        <el-popover
+                          width="200"
+                          :content="list.materialId"
+                          placement="top-start"
+                          trigger="click"
+                        >
+                          <span slot="reference">{{ list.materialId }}</span>
+                        </el-popover>
+                      </div>
                     </div>
                     <div class="card-top-input-out-l">
-                      <div>
+                      <div class="font_dian">
                         <!-- 璁惧12<i
                             style="font-size: 14px"
                             class="el-icon-right font-arrow-20"
                           ></i>
                           璁惧13 -->
-                        {{ list.materialName }}
+                          <el-popover
+                          width="200"
+                          :content="list.materialName"
+                          placement="top-start"
+                          trigger="click"
+                        >
+                          <span slot="reference">{{ list.materialName }}</span>
+                        </el-popover>
                       </div>
                     </div>
                     <div class="card-top-input-out-r">
@@ -312,7 +328,7 @@
                       </div>
                       <div class="card_top-2">
                         <div style="line-height: 45px; text-align: center">
-                          鐢熶骇涓�
+                          {{ taskData.Procedure.Status==3?'鐢熶骇瀹屾垚':'鐢熶骇涓�' }}
                         </div>
                         <!-- <span class="card-top-r-t">瀹屾垚杩涘害锛�50%</span>
                           <span class="card-top-r-b">12鏈�28鏃� 08:24</span> -->
@@ -344,7 +360,9 @@
               ></p>
               <div class="right-small-btn bottom-box-btn">
                 <el-button type="primary"> 鎵撳嵃</el-button>
+                <el-button v-if="taskData.Procedure.Status==3" type="primary" class="huise"> 瀹屾垚</el-button>
                 <el-popover
+                 v-else
                   placement="top-end"
                   width="160"
                   class="button-finish"
@@ -396,13 +414,27 @@
                   >
                     <div class="card">
                       <div class="card_content">
-                        <div class="card_contentLeft">
-                          {{ list.materialId }}
+                        <div class="card_contentLeft font_dian">
+                          <el-popover
+                          width="200"
+                          :content="list.materialId"
+                          placement="top-start"
+                          trigger="click"
+                        >
+                          <span slot="reference">{{ list.materialId }}</span>
+                        </el-popover>
                         </div>
                       </div>
                       <div class="card-top-input-out-l">
-                        <div>
-                          {{ list.materialName }}
+                        <div class="font_dian">
+                          <el-popover
+                            width="200"
+                            :content="list.materialName"
+                            placement="top-start"
+                            trigger="click"
+                          >
+                            <span slot="reference">{{ list.materialName }}</span>
+                          </el-popover>
                         </div>
                       </div>
                       <div class="card-top-input-out-r">
@@ -428,6 +460,9 @@
             <el-empty description="鏆傛棤浠诲姟..."></el-empty>
           </template>
         </div>
+        <template v-if="!Tasks||Tasks.length==0">
+          <el-empty description="鏆傛棤浠诲姟..."></el-empty>
+        </template>
       </div>
       <div class="right">
         <div class="right_top">
@@ -447,12 +482,25 @@
         <div class="right-top-m">
           璁惧鐘舵��:
           <!-- 1鏂紑2鐢熶骇3寰呮満 -->
-          <span style="position: relative"
-           v-if="plcStatus" >
-            <img v-if="plcStatus == 1" src="../../public/duan.png" />
-            <img v-else src="../../public/lian.png" />
-            <!-- <span class="yuandian"></span> -->
-            {{ plcStatus==1?'鏂紑':(plcStatus==2?'鐢熶骇涓�':'寰呮満') }}
+          <span style="position: relative" v-if="plcStatus" >
+            <el-popover
+              v-if="plcStatus == 1&&plcNotConnected"
+              width="180"
+              :content="plcNotConnected"
+              placement="top-end"
+              trigger="click"
+            >
+              <span slot="reference">
+                <img  src="../../public/duan.png" />
+                鏂紑
+              </span>
+            </el-popover>
+            <span v-else>
+              <img  v-if="plcStatus == 1&&!plcNotConnected"  src="../../public/duan.png" />
+              <img  v-else src="../../public/lian.png" />
+              <!-- <span class="yuandian"></span> -->
+              {{ plcStatus==1?'鏂紑':(plcStatus==2?'鐢熶骇涓�':'寰呮満') }}
+            </span>
           </span>
         </div>
         <div class="right-top-m-btn">
@@ -512,7 +560,7 @@
       </div>
     </template>
     <!--  -->
-    <template v-else>
+    <!-- <template v-else>
       <div class="home-img-box">
         <div class="bg-title">
           <img src="../../public/bg-title.png" />
@@ -543,13 +591,14 @@
         </div>
       </div>
       
-    </template>
+    </template> -->
     <!-- 鎺у埗鐨勫脊妗� -->
     <AddControl ref="control" :Arr="Arr" />
     <!-- 鎺у埗鐨勫脊妗� -->
     <AddIssue
       ref="control"
       :Arr="Arr"
+      :ArrError="ArrError"
       :safeProduce="safeProduce"
       :taskData="taskData"
       :Order="taskData.Order"
@@ -678,6 +727,7 @@
       countDownHour: 0,
       countDownMinute: 0,
       Arr: [],
+      ArrError:'',
       // 璁板綍瀹氭椂鍣ㄧ姸鎬�
       procInfoTimer: null,
       cutdownTimer: null,
@@ -686,6 +736,8 @@
       isTipShow:false,
       // isFinsh:0,
       safeProduce:'',
+      // 璁惧鏂紑鐨勫師鍥�
+      plcNotConnected:'',
       ChannelAmount:0,
     };
   },
@@ -716,7 +768,11 @@
         this.getStartArr()
         this.$refs.control.islook=true
       }else{
-        this.$message.error('鐩墠娌℃湁浠诲姟锛�')
+        this.$message({
+          message:'鐩墠娌℃湁浠诲姟锛�',
+          type: 'error',
+          duration: 3 * 1000
+        })
       }
     },
     isTip(val){
@@ -726,6 +782,9 @@
       this.activeName = val;
       if(this.activeName==2){
         this.Tasks=this.TasksCopy.slice(0,2)
+        if(this.Tasks.length<2){
+          this.Tasks.push(null)
+        }
       }else if(this.activeName==1){
         this.Tasks=this.TasksCopy.slice(0,1)
       }else if(this.activeName==3){
@@ -748,6 +807,9 @@
           this.countDownMinute = res.data.CountDownMinute
             ? res.data.CountDownMinute
             : 0;
+            if(this.countDownHour==0&& this.countDownMinute==0){
+              this.getTaskInfo();
+            }
         }
       });
     },
@@ -829,11 +891,16 @@
     setInterCard(value, name, i) {
       if (this.TasksCopy[i].Procedure.procedure[value]!=null) {
         let height = 200;
-        let num = 1;
-        if (this.$refs[name]) {
-          height = this.$refs[name].$el?this.$refs[name].$el.offsetHeight:200;
-          num = Math.floor(height / 80);
+        let num = 3;
+        // if (this.$refs[name]) {
+        //   height = this.$refs[name].$el?this.$refs[name].$el.offsetHeight:200;
+        //   num = Math.floor(height / 80);
+        // }
+        height = this.$refs['homeRef']?(this.$refs['homeRef'].offsetHeight-470-90-20):200;
+        if(this.activeName==2){
+          height=height-610-90-20
         }
+        num = Math.floor(height / 80);
         let inputMaterials = JSON.parse(
           JSON.stringify(this.TasksCopy[i].Procedure.procedure[value])
         );
@@ -888,7 +955,7 @@
       };
       this.Tasks = [];
       this.TasksCopy=[]
-      getTaskInfo({  }).then((res) => {
+      getTaskInfo({taskMode:2}).then((res) => {
         if (res.code == 200&&res.data) {
           let arr=[]
           if(res.data.Tasks){
@@ -899,6 +966,7 @@
           this.activeName=1;
           this.TasksCopy = res.data.Tasks ? 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
           // if(this.ChannelAmount>1 &&this.TasksCopy.length<2){
           //   this.TasksCopy.push(object)
@@ -955,15 +1023,15 @@
                 }, 3000);
           }
         }
-        if (res.code != 200 || this.TasksCopy.length == 0) {
-          this.getcountdown();
-          // 鎺у埗閲嶆柊璇锋眰getTaskInfo, 鍙紑鍚竴涓畾鏃跺櫒
-          if (!this.cutdownTimer) {
-            this.cutdownTimer = setInterval(() => {
-              this.getcountdown();
-            }, 60000);
-          }
-        }
+        // if (res.code != 200 || this.TasksCopy.length == 0) {
+        //   this.getcountdown();
+        //   // 鎺у埗閲嶆柊璇锋眰getTaskInfo, 鍙紑鍚竴涓畾鏃跺櫒
+        //   if (!this.cutdownTimer) {
+        //     this.cutdownTimer = setInterval(() => {
+        //       this.getcountdown();
+        //     }, 60000);
+        //   }
+        // }
         this.cutClick(1)
       });
       // this.TasksCopy.push(object)
@@ -977,13 +1045,16 @@
       //       break;
       //   }
       // }
-      getTaskUnStarted({page:1,pageSize:1}).then(res=>{
+      getTaskInfo({taskMode:1}).then(res=>{
         if(res.code==200){
           this.taskData=res.data.Tasks?res.data.Tasks[0]:{};
+          this.ArrError=''
           if (this.taskData.Procedure.ID) {
               startTask({ id: this.taskData.Procedure.ID }).then((res) => {
                 if (res.code == 200) {
                   this.Arr =res.data.Params ? res.data.Params : []
+                }else{
+                  this.ArrError=res.msg?res.msg:'鑾峰彇宸ヨ壓鍙傛暟澶辫触锛�';
                 }
               });
             }
@@ -1076,7 +1147,7 @@
  color:#318583;
 }
 .el-empty{
-  height:100%;
+  height:calc(100% - 190px);
   .el-empty__description p{
     font-size:16px!important;
     color:#fff!important;
@@ -1399,6 +1470,15 @@
       border: 0;
     }
   }
+  .huise{
+    width: 46%;
+    float: right;
+  }
+  .huise.el-button--primary {
+      background: #CCE8E8;
+      color: #AAAAAA;
+      border: 0;
+    }
 }
 .home {
   width: 100%;
@@ -1535,6 +1615,12 @@
         margin-top: 10px;
         color: #333;
         position: relative;
+        .font_dian{
+            -webkit-box-orient:vertical;
+            overflow:hidden;
+            text-overflow:ellipsis;
+            white-space:nowrap;
+          }
         .card_top-2{
           width:35%;
         }
@@ -1656,12 +1742,7 @@
             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