From 0e5f14cf081b8cffda12e7c1773fe1b6b69ce2eb Mon Sep 17 00:00:00 2001
From: hcong <1050828145@qq.com>
Date: 星期三, 20 十一月 2024 16:43:13 +0800
Subject: [PATCH] 问题和整改的新增以及修改页面点击取消按钮添加取消事件

---
 src/views/fysp/check/ProCheck.vue |  115 ++++++++++++++++++++++-----------------------------------
 1 files changed, 45 insertions(+), 70 deletions(-)

diff --git a/src/views/fysp/check/ProCheck.vue b/src/views/fysp/check/ProCheck.vue
index 7dc97a6..30bfb48 100644
--- a/src/views/fysp/check/ProCheck.vue
+++ b/src/views/fysp/check/ProCheck.vue
@@ -26,36 +26,29 @@
         class="el-scrollbar"
         v-loading="mainLoading"
       >
-        <template v-if="compProblemCardVisible">
-          <CompProblemCard
-            :key="i"
-            v-for="(p, i) in curProList"
-            :index="i + 1"
-            :problem="p"
-            :subtask="curSubtask.data"
-            :topTask="topTask"
-            @updated="onProSubmited"
-            @submit="updateSubtask"
-          ></CompProblemCard>
-        </template>
+        <CompProblemCard
+          :key="i"
+          v-for="(p, i) in curProList"
+          :index="i + 1"
+          :problem="p"
+          :subtask="curSubtask.data"
+          :topTask="topTask"
+          @submit="updateSubtask"
+        ></CompProblemCard>
       </el-scrollbar>
       <el-empty v-else description="鏆傛棤璁板綍" v-loading="mainLoading" />
     </template>
   </BaseContentLayout>
-  <el-dialog
-    v-model="proAddOrUpdDialogVisible"
-    :before-close="proAddOrUpdDialogClose"
-    width="50%"
+  <CompProblemAddOrUpd
     title="鏂板闂"
-  >
-    <CompProblemAddOrUpd
-      v-if="proAddOrUpdDialogVisible"
-      :subtask="curSubtask.data"
-      :topTask="topTask"
-      ref="compProblemAddOrUpdRef"
-      @submited="newProSubmit"
-    />
-  </el-dialog>
+    v-if="proAddOrUpdDialogVisible"
+    v-model:visible="proAddOrUpdDialogVisible"
+    :subtask="curSubtask.data"
+    :topTask="topTask"
+    ref="compProblemAddOrUpdRef"
+    @cancel="onAddProCanceled"
+    @submit="updateSubtask"
+  />
   <ArbitraryPhoto
     v-if="anyPhotoDialog"
     v-model:dialog-visible="anyPhotoDialog"
@@ -63,16 +56,13 @@
     :subtask="curSubtask.data"
     ref="arbitraryPhotoRef"
   ></ArbitraryPhoto>
-  <el-drawer
-    direction="ltr"
-    v-model="deviceShowDialog"
-    :before-close="beforeDeviceShowDialogclose"
+  <CompDeviceShowTest
     title="璁炬柦璁惧"
-    size="45%"
+    v-model:visible="deviceShowDialog"
+    v-if="deviceShowDialog"
+    ref="deviceShowRef"
   >
-    <CompDeviceShowTest v-if="deviceShowDialog" ref="deviceShowRef">
-    </CompDeviceShowTest>
-  </el-drawer>
+  </CompDeviceShowTest>
 </template>
 
 <script>
@@ -93,7 +83,6 @@
   },
   data() {
     return {
-      compProblemCardVisible: true,
       // 璁惧鍥�
       deviceShowDialog: false,
       // 浠绘剰鍥�
@@ -232,21 +221,6 @@
         this.$refs.deviceShowRef.init(this.curSubtask.data.scene);
       });
     },
-    // 鍏抽棴璁惧鍥惧脊绐�
-    beforeDeviceShowDialogclose(done) {
-      // this.deviceShowDialog = false;
-      done();
-    },
-    // 鍏抽棴浠绘剰鍥剧墖寮圭獥
-    beforeAnyPhotoDialogclose() {
-      this.anyPhotoDialog = false;
-    },
-    handleCloseCheckAnyPhono() {
-      this.beforeAnyPhotoDialogclose();
-    },
-    proAddOrUpdDialogClose() {
-      this.proAddOrUpdDialogVisible = false;
-    },
     //鏌ヨ瀛愪换鍔$粺璁′俊鎭�
     search(formSearch) {
       this.topTask = formSearch.topTask;
@@ -306,43 +280,44 @@
           this.mainLoading = false;
         });
     },
+    onAddProCanceled() {
+      this.proAddOrUpdDialogVisible = false;
+    },
     // 闂鍗$墖缁勪欢涓诲姩鍙戣捣鍒锋柊鐖剁粍浠舵暟鎹�
-    updateSubtask(refresh = true) {
+    updateSubtask(refresh = false) {
       this.curSubtask.data.proCheckedNum++;
       this.curSubtask.type = this.getSubtaskType(this.curSubtask.data);
-      if (refresh) {
-        this.refreshCurrSubtask();
+      if (this.proAddOrUpdDialogVisible) {
+        this.proAddOrUpdDialogVisible = false;
       }
-    },
-    onProSubmited(isOk) {
-      this.proAddOrUpdDialogClose();
-      if (!isOk) {
-        return;
-      }
-      this.updateSubtask();
-    },
-    newProSubmit(isOk) {
-      this.proAddOrUpdDialogVisible = false;
-      if (!isOk) {
-        return;
-      }
-      this.refreshCurrSubtask();
+      this.refreshCurrSubtask(refresh);
     },
     // 鍒锋柊褰撳墠閫変腑瀛愪换鍔�
-    refreshCurrSubtask() {
-      this.compProblemCardVisible = false;
+    refreshCurrSubtask(refresh) {
       this.sideLoading = false;
       this.mainLoading = true;
       setTimeout(() => {
         taskApi
           .getProBySubtask(this.curSubtask.data.stGuid)
           .then((res) => {
-            this.curProList = res;
+            if (refresh) {
+              this.curProList = res;
+              return;
+            }
+            const currProLen = this.curProList.length;
+            // 涓嶆敼鍙樻暟缁勫鍍忓紩鐢ㄧ殑鍓嶆彁涓嬮噸鏂拌祴鍊�
+            for (let index = 0; index < res.length; index++) {
+              const element = res[index];
+              if (currProLen < index + 1) {
+                this.curProList.push(element);
+              } else {
+                this.curProList[index] = element;
+              }
+            }
             // this.curSubtask = s;
           })
           .finally(() => {
             this.mainLoading = false;
-            this.compProblemCardVisible = true;
           });
       }, 150);
     }

--
Gitblit v1.9.3