From 9b2b08c3b44de3d2f76069936dfe5ba0e0ece0aa Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期四, 21 十一月 2024 13:08:01 +0800 Subject: [PATCH] 1. 修改审核后左侧列表状态和顶部统计数据的 --- src/views/fysp/check/ProCheck.vue | 156 ++++++++++++++++++++++++++------------------------- 1 files changed, 80 insertions(+), 76 deletions(-) diff --git a/src/views/fysp/check/ProCheck.vue b/src/views/fysp/check/ProCheck.vue index 7dc97a6..f4d78a2 100644 --- a/src/views/fysp/check/ProCheck.vue +++ b/src/views/fysp/check/ProCheck.vue @@ -26,36 +26,30 @@ 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" + @check="handleProblemCheck" + ></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 +57,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 +84,6 @@ }, data() { return { - compProblemCardVisible: true, // 璁惧鍥� deviceShowDialog: false, // 浠绘剰鍥� @@ -232,21 +222,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; @@ -279,14 +254,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; }, @@ -306,45 +300,55 @@ 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; + // 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; + // 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