From 55bd7fb6365909a0cbcf0957333c7876bd791bb9 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 21 十一月 2024 16:35:12 +0800
Subject: [PATCH] 问题整改界面 1. 优化各项状态展示效果 2. 新增左侧关键字筛选功能

---
 src/views/fysp/check/ProCheck.vue |   86 ++++++++++++++++++++++++++++++------------
 1 files changed, 61 insertions(+), 25 deletions(-)

diff --git a/src/views/fysp/check/ProCheck.vue b/src/views/fysp/check/ProCheck.vue
index cd3678f..9cda78a 100644
--- a/src/views/fysp/check/ProCheck.vue
+++ b/src/views/fysp/check/ProCheck.vue
@@ -9,6 +9,7 @@
     </template>
     <template #aside>
       <SideList
+        legend
         :items="subtasks"
         :loading="sideLoading"
         @item-click="chooseSubtask"
@@ -22,21 +23,22 @@
         :loading="mainLoading"
       ></ToolBar>
       <el-scrollbar
-          v-if="curProList.length > 0"
-          class="el-scrollbar"
-          v-loading="mainLoading"
-        >
-          <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" />
+        v-if="curProList.length > 0"
+        class="el-scrollbar"
+        v-loading="mainLoading"
+      >
+        <CompProblemCard
+          :key="i"
+          v-for="(p, i) in curProList"
+          :index="i + 1"
+          :problem="p"
+          :subtask="curSubtask.data"
+          :topTask="topTask"
+          @submit="updateSubtask"
+          @check="handleProblemCheck"
+        ></CompProblemCard>
+      </el-scrollbar>
+      <el-empty v-else description="鏆傛棤闂" v-loading="mainLoading" />
     </template>
   </BaseContentLayout>
   <CompProblemAddOrUpd
@@ -46,6 +48,7 @@
     :subtask="curSubtask.data"
     :topTask="topTask"
     ref="compProblemAddOrUpdRef"
+    @cancel="onAddProCanceled"
     @submit="updateSubtask"
   />
   <ArbitraryPhoto
@@ -104,21 +107,23 @@
       buttons: [
         {
           name: '鏂板闂',
-          color: 'success',
+          // color: 'success',
+          color: 'primary',
           click: () => {
             this.proAddOrUpdDialogVisible = true;
           }
         },
         {
           name: '鍦烘櫙鍥剧墖',
-          color: 'warning',
+          // color: 'warning',
+          color: 'primary',
           click: () => {
             this.anyPhotoDialog = true;
           }
         },
         {
           name: '璁炬柦璁惧',
-          color: 'info',
+          color: 'primary',
           click: () => {
             this.openDeviceShowDialog();
           }
@@ -236,6 +241,7 @@
         res.forEach((s) => {
           const t = this.getSubtaskType(s);
           list.push({
+            status: s.subtask.status,
             type: t,
             title: s.stName,
             categoly: s.stPlanTime.split('T')[0],
@@ -252,14 +258,33 @@
     //鑾峰彇浠诲姟闂鐨勫鏍告儏鍐�
     getSubtaskType(s) {
       let type = 0;
+      // 鏃犻棶棰�
       if (s.proNum == 0) {
-        type = 2;
-      } else if (s.proCheckedNum == 0) {
         type = 0;
-      } else if (s.proCheckedNum < s.proNum) {
+      } 
+      // 闂鏈鏍�
+      else if (s.proCheckedNum == 0) {
         type = 1;
-      } else {
+      }
+      // 闂閮ㄥ垎瀹℃牳
+      else if (s.proCheckedNum < s.proNum) {
         type = 2;
+      }
+      // 鏈暣鏀� 
+      else if (s.changeNum < s.proNum) {
+        type = 3;
+      }
+      // 鏁存敼鏈鏍�
+      else if (s.changeCheckedNum == 0) {
+        type = 4;
+      }
+      // 鏁存敼閮ㄥ垎瀹℃牳
+      else if (s.changeCheckedNum < s.changeNum) {
+        type = 5;
+      }
+      // 瀹屽叏瀹℃牳
+      else {
+        type = 6;
       }
       return type;
     },
@@ -279,19 +304,21 @@
           this.mainLoading = false;
         });
     },
+    onAddProCanceled() {
+    },
     // 闂鍗$墖缁勪欢涓诲姩鍙戣捣鍒锋柊鐖剁粍浠舵暟鎹�
     updateSubtask(refresh = false) {
       this.curSubtask.data.proCheckedNum++;
       this.curSubtask.type = this.getSubtaskType(this.curSubtask.data);
       if (this.proAddOrUpdDialogVisible) {
-        this.proAddOrUpdDialogVisible = false
+        this.proAddOrUpdDialogVisible = false;
       }
       this.refreshCurrSubtask(refresh);
     },
     // 鍒锋柊褰撳墠閫変腑瀛愪换鍔�
     refreshCurrSubtask(refresh) {
       this.sideLoading = false;
-      this.mainLoading = true;
+      // this.mainLoading = true;
       setTimeout(() => {
         taskApi
           .getProBySubtask(this.curSubtask.data.stGuid)
@@ -313,9 +340,18 @@
             // this.curSubtask = s;
           })
           .finally(() => {
-            this.mainLoading = false;
+            // this.mainLoading = false;
           });
       }, 150);
+    },
+    // 闂瀹℃牳瀹屾垚鍚庯紝鏇存柊宸︿晶鍒楄〃瀵瑰簲瀛愪换鍔$姸鎬�
+    handleProblemCheck(){
+      const status = ProCheckProxy.calProStatus(this.curProList)
+      this.curSubtask.data.proNum = status.proNum
+      this.curSubtask.data.proCheckedNum = status.proCheckedNum
+      this.curSubtask.data.changeNum = status.changeNum
+      this.curSubtask.data.changeCheckedNum = status.changeCheckedNum
+      this.curSubtask.type = this.getSubtaskType(this.curSubtask.data)
     }
   },
   mounted() {}

--
Gitblit v1.9.3