From 4bee3bc3e54dc73ea70151b686c81d1f83e06f09 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期一, 09 十月 2023 14:53:40 +0800
Subject: [PATCH] 工艺参数更新标识bug+工艺模型列表和详情更新后数据没有更新需get接口更新之后获取number请求

---
 src/components/ProcessModelDetails.vue |    5 ++
 src/components/ProcessModel.vue        |   23 ++++++++---
 public/tank.png                        |    0 
 src/views/visualization.vue            |   71 ++++++++++++++++++++++++-----------
 public/tank-two.png                    |    0 
 5 files changed, 71 insertions(+), 28 deletions(-)

diff --git a/public/tank-two.png b/public/tank-two.png
index 7dc322a..48b8e40 100644
--- a/public/tank-two.png
+++ b/public/tank-two.png
Binary files differ
diff --git a/public/tank.png b/public/tank.png
index ac8c075..b057156 100644
--- a/public/tank.png
+++ b/public/tank.png
Binary files differ
diff --git a/src/components/ProcessModel.vue b/src/components/ProcessModel.vue
index 8a0f93a..d62bd4d 100644
--- a/src/components/ProcessModel.vue
+++ b/src/components/ProcessModel.vue
@@ -31,7 +31,7 @@
                    <div class="item-l-bng">
                       <img src="../../public/process-model.png" />
                    </div>
-                   <div class="item-r" @click="processDetailsClick(item)">
+                   <div class="item-r" @click="processDetailsClick(item,index)">
                       <div class="item-r-t font_weight">{{ item.procedure }}</div>
                       <div class="item-r-b">褰撳墠宸ヨ壓缂栧彿锛歿{ item.number }}</div>
                     </div>
@@ -86,7 +86,7 @@
         ref="processDetails"
         :processObj="processObj"
         :listData="listData"
-        @renew="getProcessModelList"
+        @renew="renew"
       />
     </div>
     
@@ -122,6 +122,7 @@
       total:0,
       top:false,
       bottom:false,
+      index:null,
     };
   },
   mounted() {
@@ -133,8 +134,9 @@
     },
   },
   methods: {
-    processDetailsClick(item){
+    processDetailsClick(item,index){
       this.processObj=item;
+      this.index=index;
       this.$refs.processDetails.islook=true;
     },
     closeClick() {
@@ -151,14 +153,14 @@
         this.islook = false;
       }
     },
-    getProcessModelList(){
+    getProcessModelList(number){
       if( Object.keys(this.listData).length > 0){
         if(this.listData.Procedure.ID&&this.listData.number){
           processModelList({
             procedureId: this.listData.Procedure.ID,
             page: this.pageObj.page,
             pageSize:this.pageObj.pageSize,
-            number:this.listData.number
+            number:number?number:this.listData.number
           }).then(res=>{
             if(res.data){
               this.processList=res.data?res.data:[];
@@ -190,13 +192,21 @@
         }
       }
     },
+    renew(){
+      this.processObj.paramsMap=this.processObj.newParamsMap
+      this.processObj.number=this.processObj.newNumber
+      this.processObj.isUpdate=false
+      this.$emit('updateGet',this.processObj.newNumber)
+      this.getProcessModelList(this.processObj.newNumber)
+    },
     updateProcess(item,index){
+      this.processObj=item;
       this.isLoading[index]=true;
       updateProcessParams({procedureId:this.listData.Procedure.ID}).then(res=>{
         if(res.code==200){
           this.isLoading[index]=false;
           this.$message.success('鏇存柊鎴愬姛锛�')
-          this.getProcessModelList()
+          this.renew();
         }else{
           this.isLoading[index]=false;
         }
@@ -215,6 +225,7 @@
     },
     shutdown() {
       this.islook = false;
+      this.$emit('updateGet',this.processObj.newNumber,true)
     },
   },
 };
diff --git a/src/components/ProcessModelDetails.vue b/src/components/ProcessModelDetails.vue
index 6a0e4dc..f37de9e 100644
--- a/src/components/ProcessModelDetails.vue
+++ b/src/components/ProcessModelDetails.vue
@@ -121,6 +121,11 @@
   mounted() {
     this.getInfo();
   },
+  watch: {
+    processObj(){
+      this.$forceUpdate()
+    }
+  },
   methods: {
     updateProcess() {
       this.isUpdate = 2;
diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index a6dd135..94cf74b 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -124,8 +124,8 @@
               </div>
             </div>
             <div class="content_right">
-              <div class="gif" v-if="taskData.Procedure.ID" @click="processModelClick(taskData)">
-                    <img v-if="isUpdateIcon"  src="../../public/shan.gif" />
+              <div class="gif" v-if="taskData.Procedure.ID" @click="processModelClick(taskData,index)">
+                    <img v-if="taskData.isUpdateIcon"  src="../../public/shan.gif" />
                     <span v-else class="yuandian"></span>
                </div>
               <el-descriptions :column="(activeName == 1||activeName == 3) ? 2 : 1" :colon="true">
@@ -343,11 +343,11 @@
                       <div class="process-params-title">
                         <el-popover
                           width="200"
-                          :content="list.number"
+                          :content="taskData.number"
                           placement="top-start"
                           trigger="click"
                         >
-                          <span slot="reference">宸ヨ壓缂栧彿锛歿{ list.number }}</span>
+                          <span slot="reference">宸ヨ壓缂栧彿锛歿{ taskData.number }}</span>
                         </el-popover>
 
                       </div>
@@ -617,6 +617,7 @@
     <ProcessModel
       ref="processModel"
       :listData="listData"
+      @updateGet="updateGet"
     />
   </div>
 </template>
@@ -770,11 +771,11 @@
         procedureList: [],
       },
       processList:[],
-      isUpdateIcon:false,
       listData:[],
-      resResult:null,
+      resResult:[],
       resprocInfoTimer:null,
-      channelNameConfig: channelNameConfig
+      channelNameConfig: channelNameConfig,
+      index:null,
     };
   },
   mounted() {
@@ -809,9 +810,18 @@
     // }
   },
   methods: {
+    updateGet(number,val){
+      this.listData.number=number
+      if(this.index){
+        this.TasksCopy[this.index].number=number
+      }
+      if(val){
+        this.getTaskInfo(this.activeName,'new')
+      }
+    },
     getModelList(){
-      this.resResult=null
       for (let i in this.TasksCopy){
+        this.TasksCopy[i].isUpdateIcon=false;
         if(this.TasksCopy[i].Procedure.ID&&this.TasksCopy[i].number){
           processModelList({
             procedureId: this.TasksCopy[i].Procedure.ID,
@@ -822,21 +832,24 @@
             if(res.code==200){
               this.processList=res.data?res.data:[];
               if(this.processList.length>0){
-                for(let i in this.processList){
-                  if(this.processList[i].isUpdate){
-                    this.isUpdateIcon=true;
+                for(let j in this.processList){
+                  if(this.processList[j].isUpdate){
+                    this.TasksCopy[i].isUpdateIcon=true;
+                    this.$forceUpdate()
                     break;
                   }
                 }
               }
             }
-            this.resResult=res;
+            this.resResult[i]=res;
+            console.log( this.resResult[i],'===res111')
           })
         }
       }
     },
-    processModelClick(list){
+    processModelClick(list,index){
       this.listData=list;
+      this.index=index
       if( Object.keys(this.listData).length > 0){
         if(this.listData.Procedure.ID&&this.listData.number){
           this.$refs.processModel.islook=true
@@ -847,10 +860,19 @@
     },
     getProcessModelList(){
       this.getModelList()
-      if (!this.ProcessModelTimer&&!this.resResult) {
+      let string=false;
+      if(this.resResult.length>0){
+        for(let i in this.resResult){
+          if(this.resResult[i]){
+            string=false;
+          }
+        }
+      }
+      if (!this.ProcessModelTimer&&!string) {
           this.ProcessModelTimer = setInterval(() => {
+            this.resResult=[]
           this.getModelList();
-        }, 10000)
+        }, 5000)
       }
     },
     mergeProcessParams(params){
@@ -1052,14 +1074,14 @@
       });
     },
 
-    getTaskInfo(val) {
+    getTaskInfo(val,info) {
       this.Tasks = [];
       this.TasksCopy=[]
       getTaskInfo({taskMode:2}).then((res) => {
         if (res.code == 200&&res.data) {
-          let arr=[]
+          // let arr=[]
           if(res.data.Tasks){
-           arr.sort(function(a,b){
+            res.data.Tasks.sort(function(a,b){
             return (a.Channel - b.Channel)
            })
           }
@@ -1087,6 +1109,7 @@
             this.TasksCopy[i].outputMaterials = [];
             this.TasksCopy[i].finishNumber = 0;
             this.TasksCopy[i].number=0;
+            this.TasksCopy[i].isUpdateIcon=false;
             this.finishShow['finishShow&'+i]=false
             this.TasksCopy[i].Procedure.procedure.workers = this.TasksCopy[i].Procedure
               .procedure.workers
@@ -1116,6 +1139,11 @@
             this.setInterCard("inputMaterials", "cardBox1&" + i, i);
             this.setInterCard("outputMaterials", "cardBox3&" + i, i);
           }
+          this.getProcessModelList();
+          this.cutClick(val?val:1)
+          if(info){
+            return true;
+          }
           this.getStartArr()
           this.getProgressInfo();
               if (!this.procInfoTimer&&!this.resprocInfoTimer) {
@@ -1123,7 +1151,6 @@
                   this.getProgressInfo();
                 }, 3000);
               }
-           this.getProcessModelList();
         }
         // if (res.code != 200 || this.TasksCopy.length == 0) {
         //   this.getcountdown();
@@ -1134,7 +1161,7 @@
         //     }, 60000);
         //   }
         // }
-        this.cutClick(val?val:1)
+        
       });
       // this.TasksCopy.push(this.object)
       // this.TasksCopy.push(this.object)
@@ -1798,11 +1825,11 @@
             white-space:nowrap;
           }
         .card_top-2{
-          width:35%;
+          width:38%;
         }
         .card-top-input-out-r,
         .card_top-3 {
-          width:65%;
+          width:62%;
         }
         .card_top-2,.card-top-input-out-r,
         .card_top-3 {

--
Gitblit v1.8.0