From e9c1bc5f107ebfdb58b6c85e01a719bbeb643d66 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期日, 08 十月 2023 11:39:59 +0800
Subject: [PATCH] feat: 任务弹窗添加翻页展示

---
 src/views/visualization.vue |   69 +++++++++++++++++++++++-----------
 1 files changed, 46 insertions(+), 23 deletions(-)

diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index 98b8087..bbf6439 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -336,7 +336,7 @@
                     </template>
                     <template v-else>
                       <!-- <div class="card_content">
-                        
+
                       </div> -->
                       <div :class="(activeName==1||activeName == 3)?'card_top-4 font_size_20px':'card_top-4'">
                         <div>宸ヨ壓缂栧彿锛�<div >{{ list.number }}</div></div>
@@ -457,7 +457,7 @@
           <template
               v-if="activeName == 2 &&(!taskData||Object.keys(taskData).length==0)"
             >
-            
+
             <el-empty description="鏆傛棤浠诲姟..."></el-empty>
           </template>
         </div>
@@ -530,9 +530,9 @@
               <!-- <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%;
@@ -588,19 +588,14 @@
           </div>
         </div>
       </div>
-      
+
     </template> -->
     <!-- 鎺у埗鐨勫脊妗� -->
     <AddControl ref="control" :Arr="Arr" />
     <!-- 鎺у埗鐨勫脊妗� -->
-    <AddIssue
+    <TaskControlModal
       ref="control"
-      :Arr="Arr"
       :activeName="activeName"
-      :ArrError="ArrError"
-      :safeProduce="safeProduce"
-      :taskData="taskData"
-      :Order="taskData.Order"
       @getSetProductNumber="reloadPage"
       @isTip="isTip"
     />
@@ -628,8 +623,10 @@
 import AddControl from "../components/AddControl.vue";
 import AddIssue from "../components/AddIssue.vue";
 import ProcessModel from  "../components/ProcessModel.vue";
+import TaskControlModal from "@/components/TaskControlModal.vue";
 export default {
   components: {
+    TaskControlModal,
     Card,
     Knowledge,
     AddControl,
@@ -638,6 +635,7 @@
   },
   data() {
     return {
+      pollingTaskCountTimer: null,
       activeName: 1,
       progress: 70, //杩涘害
       passrate: 30, //鍚堟牸鐜�
@@ -779,6 +777,10 @@
       this.getDate2();
     }, 5000);
     this.getTaskInfo();
+    this.getTaskCountStatistics()
+  },
+  beforeDestroy() {
+    clearTimeout(this.pollingTaskCountTimer)
   },
   watch:{
     // isFinsh(){
@@ -790,8 +792,8 @@
   methods: {
     taskClick(){
       if(this.TaskCount>0){
-        this.getStartArr()
-        this.$refs.control.islook=true
+        // this.getStartArr()
+        this.$refs.control.show=true
       }else{
         this.$message({
           message:'鐩墠娌℃湁浠诲姟锛�',
@@ -847,6 +849,8 @@
         }
       });
     },
+
+
 
     getDateObj(date, fmt) {
       if (/(y+)/.test(fmt)) {
@@ -910,7 +914,7 @@
         let String=now-date*1000;
         let seconds=Math.floor(String/1000)
         let minutes=Math.floor(seconds/60)
-        
+
         let days=Math.floor(String/1000/60/60/24)
         let hours=Math.floor(minutes/60)-days*24
         let m=minutes-days*24*60-hours*60
@@ -961,6 +965,25 @@
       }
     },
 
+    /**
+     * 杞鑾峰彇浠诲姟鏁伴噺
+     */
+    getTaskCountStatistics(){
+      getTaskInfo({taskMode:1}).then((res) => {
+        if (res.code === 200&&res.data) {
+          this.TaskCount=res.data?.TaskCount ?? 0
+        }
+      },err=>{
+        this.TaskCount = 0
+        console.error(err)
+      }).finally(()=>{
+        this.pollingTaskCountTimer = setTimeout(()=>{
+          this.getTaskCountStatistics()
+        //   20绉掍竴娆¤疆璇�
+        },20000)
+      });
+    },
+
     getTaskInfo(val) {
       this.Tasks = [];
       this.TasksCopy=[]
@@ -973,14 +996,14 @@
            })
           }
           this.TasksCopy = res.data.Tasks ? res.data.Tasks : [];
-          this.safeProduce=res.data.Prompt.safeProduce?res.data.Prompt.safeProduce:''
+          // 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(this.object)
           // }
           this.TaskCount=res.data.TaskCount?res.data.TaskCount:0
-          
+
           if ((this.TasksCopy.length ==0 )||!this.TasksCopy) {
             if (this.activeName == 1||this.activeName == 3) {
               this.TasksCopy.push(this.object);
@@ -1007,7 +1030,7 @@
                 ...this.TasksCopy[i].Procedure.procedure,
               },
             ]);
-           
+
             if (this.TasksCopy[i].Procedure.ID) {
               startTask({ id: this.TasksCopy[i].Procedure.ID }).then((res) => {
                 if (res.code == 200) {
@@ -1085,7 +1108,7 @@
           });
         }
       }
-      
+
     },
     // 璁剧疆
     setUrl() {
@@ -1143,7 +1166,7 @@
  background:#12234a!important;
  color:#fff!important;
  border-color: #09e5ed !important;
- 
+
  .popper__arrow::after{
   border-top-color:#09e5ed !important;
  }
@@ -1192,7 +1215,7 @@
     box-sizing: border-box;
     border-right: 1px solid #eee;
   }
-  
+
   .small_title {
     margin-bottom: 30px;
   }
@@ -1248,7 +1271,7 @@
       font-size:14px;
     }
   }
-  
+
   .el-step{
     .el-step__icon{
      background:#00cc66;
@@ -1750,7 +1773,7 @@
             border-radius: 5px 5px 0 0;
             background: rgb(19, 35, 90);
           }
-          
+
 
           .card_contentRight {
             width: 100%;
@@ -1821,7 +1844,7 @@
           display:inline-block;
         }
       }
-      
+
       .yuandian {
         width: 25px;
         height: 25px;

--
Gitblit v1.8.0