From a1a6630f2eabfc78a379b5808b1bf7231a084d0b Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 11 十月 2023 18:02:44 +0800
Subject: [PATCH] 工序弹框的 列表和详情的更新同步

---
 src/components/ProcessModel.vue |   58 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 45 insertions(+), 13 deletions(-)

diff --git a/src/components/ProcessModel.vue b/src/components/ProcessModel.vue
index 8a0f93a..89972b7 100644
--- a/src/components/ProcessModel.vue
+++ b/src/components/ProcessModel.vue
@@ -31,9 +31,10 @@
                    <div class="item-l-bng">
                       <img src="../../public/process-model.png" />
                    </div>
-                   <div class="item-r" @click="processDetailsClick(item)">
-                      <div class="item-r-t font_weight">{{ item.procedure }}</div>
-                      <div class="item-r-b">褰撳墠宸ヨ壓缂栧彿锛歿{ item.number }}</div>
+                   <div class="item-r" @click="processDetailsClick(item,index)">
+                      <div class="item-r-t font_weight">{{ item.number }}</div>
+                      <div class="item-r-b">浜у搧锛歿{ item.product }}</div>
+                      <div class="item-r-b">宸ュ簭锛歿{ item.procedure }}</div>
                     </div>
                     <div class="tip-r" v-if="item.isUpdate">
                       <img src="../../public/process-tip.png" />
@@ -59,7 +60,7 @@
       </div>
       <div slot="footer" class="dialog-footer tac" style="overflow: hidden">
         
-            <el-button
+            <el-button v-if="isPage"
                       type="primary"
                       size="mini"
                       :disabled="top"
@@ -70,7 +71,7 @@
                       涓婁竴椤�</el-button
                     >
           
-          <el-button
+          <el-button v-if="isPage"
                       type="primary"
                       size="mini"
                       :disabled="bottom"
@@ -86,7 +87,8 @@
         ref="processDetails"
         :processObj="processObj"
         :listData="listData"
-        @renew="getProcessModelList"
+        :activeIndex='activeIndex'
+        @updateProcess="updateProcess"
       />
     </div>
     
@@ -122,6 +124,10 @@
       total:0,
       top:false,
       bottom:false,
+      index:null,
+      isPage:false,
+      isRenew:false,
+      activeIndex:'',
     };
   },
   mounted() {
@@ -129,12 +135,14 @@
   },
   watch: {
     islook(){
+      this.pageObj.page=1
       this.getProcessModelList()
     },
   },
   methods: {
-    processDetailsClick(item){
+    processDetailsClick(item,index){
       this.processObj=item;
+      this.index=index;
       this.$refs.processDetails.islook=true;
     },
     closeClick() {
@@ -145,20 +153,21 @@
       if (
         Object.keys(this.listData).length > 0
       ) {
-          this.islook = true;
+          this.pageObj.page=1
           this.getProcessModelList()
+          this.islook = true;
       } else {
         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:[];
@@ -169,9 +178,11 @@
             }
             this.total=res.total?res.total:0;
             if(this.total<=6){
+              this.isPage=false;
               this.top=true;
               this.bottom=true;
             }else{
+              this.isPage=true;
               let pageTotal=Math.ceil(Number(this.total)/6)
               if(this.pageObj.page<pageTotal){
                
@@ -190,19 +201,37 @@
         }
       }
     },
+    renew(){
+      this.processObj.paramsMap=this.processObj.newParamsMap
+      this.processObj.number=this.processObj.newNumber
+      this.processObj.isUpdate=false
+      this.isRenew=true;
+      this.$emit('updateGet',this.processObj.newNumber)
+      this.getProcessModelList(this.processObj.newNumber)
+    },
     updateProcess(item,index){
+      this.processObj=item;
+      this.activeIndex=index;
+      if (this.isLoading[index]) {
+        return true;
+      }
       this.isLoading[index]=true;
+      this.$refs.processDetails.isLoading=true;
       updateProcessParams({procedureId:this.listData.Procedure.ID}).then(res=>{
         if(res.code==200){
           this.isLoading[index]=false;
+          this.$refs.processDetails.isLoading=false;
           this.$message.success('鏇存柊鎴愬姛锛�')
-          this.getProcessModelList()
+          this.renew();
         }else{
           this.isLoading[index]=false;
+          this.$refs.processDetails.isLoading=false;
+          this.$refs.processDetails.isUpdate=1;
         }
       })
       setTimeout(()=>{
         this.isLoading[index]=false;
+        this.$refs.processDetails.isLoading=false;
       },50000)
     },
     onSubmitTop() {
@@ -215,6 +244,9 @@
     },
     shutdown() {
       this.islook = false;
+      if(this.isRenew){
+        this.$emit('updateGet',this.processObj.newNumber,true)
+      }
     },
   },
 };
@@ -409,7 +441,7 @@
       width:calc(100% - 20px);
       .title-item{
         width:calc(50%  - 30px);
-        height:77px;
+        height:92px;
         padding:23px 10px 10px;
         background:#31478f;
         border-radius: 8px;
@@ -432,7 +464,7 @@
         .item-r{
           width:calc(100% - 60px);
           float:left;
-          line-height:25px;
+          line-height:22px;
           color:#fff;
           font-size:15px;
           cursor:pointer;

--
Gitblit v1.8.0