From ad208889ad6ca2283a06d7bc440ecd289c535d83 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期四, 03 四月 2025 17:26:29 +0800 Subject: [PATCH] 1. 添加显示问题整改的时间; 2. 新增巡查场景数、巡查点次、复查点次的统计; 3. 添加扬尘监测数据统计结果管理(待完成) --- src/views/fysp/check/ProCheck.vue | 159 +++++++++++++++++------------------------------------ 1 files changed, 51 insertions(+), 108 deletions(-) diff --git a/src/views/fysp/check/ProCheck.vue b/src/views/fysp/check/ProCheck.vue index cd3678f..5f02bd7 100644 --- a/src/views/fysp/check/ProCheck.vue +++ b/src/views/fysp/check/ProCheck.vue @@ -3,27 +3,33 @@ <template #header> <SearchBar @on-submit="search"> <template #summary> - <CompSubTaskStatistic :subtasks="subtasks" /> + <CompSubTaskStatistic + :loading="sideLoading" + :subtasks="subtasks" + :monitorObjList="curMonitorObjList" + /> </template> </SearchBar> </template> <template #aside> <SideList + legend :items="subtasks" :loading="sideLoading" @item-click="chooseSubtask" ></SideList> </template> <template #main> - <ToolBar - :title="curSubtask.title" - :descriptions="proStatus" - :buttons="buttons" - :loading="mainLoading" - ></ToolBar> - <el-scrollbar + <el-scrollbar > + <ToolBar + :title="curSubtask.title" + :descriptions="proStatus" + :buttons="buttons" + :loading="mainLoading" + ></ToolBar> + <el-scrollbar v-if="curProList.length > 0" - class="el-scrollbar" + class="scrollbar-inner" v-loading="mainLoading" > <CompProblemCard @@ -34,9 +40,11 @@ :subtask="curSubtask.data" :topTask="topTask" @submit="updateSubtask" + @check="handleProblemCheck" ></CompProblemCard> </el-scrollbar> - <el-empty v-else description="鏆傛棤璁板綍" v-loading="mainLoading" /> + <el-empty v-else description="鏆傛棤闂" v-loading="mainLoading" /> + </el-scrollbar> </template> </BaseContentLayout> <CompProblemAddOrUpd @@ -46,6 +54,7 @@ :subtask="curSubtask.data" :topTask="topTask" ref="compProblemAddOrUpdRef" + @cancel="onAddProCanceled" @submit="updateSubtask" /> <ArbitraryPhoto @@ -94,6 +103,8 @@ mainLoading: false, // 鎬讳换鍔� topTask: {}, + // 鎬讳换鍔″贰鏌ヨ鍒掓竻鍗� + curMonitorObjList: [], //瀛愪换鍔″垪琛� subtasks: [], //褰撳墠閫変腑鐨勪换鍔� @@ -104,21 +115,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(); } @@ -135,81 +148,6 @@ //闂鐘舵�� proStatus() { return ProCheckProxy.proStatusArray(this.curProList); - }, - //浠诲姟闂瀹℃牳鎯呭喌缁熻淇℃伅 - summary() { - const _summary = [ - { - name: '浠诲姟鎬昏', - value: 0, - type: 'info' - }, - { - name: '闂鏈鏍�', - value: 0, - type: 'success', - icon: 'SuccessFilled' - }, - { - name: '闂閮ㄥ垎瀹℃牳', - value: 0, - type: 'success', - icon: 'SuccessFilled' - }, - { - name: '闂鍏ㄩ儴瀹℃牳', - value: 0, - type: 'success', - icon: 'SuccessFilled' - }, - { - name: '鏈暣鏀�', - value: 0, - type: 'info', - icon: 'WarningFilled' - }, - { - name: '鏁存敼鏈鏍�', - value: 0, - type: 'info', - icon: 'WarningFilled' - }, - { - name: '鏁存敼閮ㄥ垎瀹℃牳', - value: 0, - type: 'warning', - icon: 'WarningFilled' - }, - { - name: '鏁存敼鍏ㄩ儴瀹℃牳', - value: 0, - type: 'warning', - icon: 'WarningFilled' - } - ]; - - this.subtasks.forEach((s) => { - _summary[0].value++; - - if (s.data.proNum == 0) { - _summary[1].value++; - } else if (s.data.proCheckedNum == 0) { - _summary[3].value++; - } else if (s.data.proCheckedNum < s.data.proNum) { - _summary[2].value++; - } else { - _summary[1].value++; - } - }); - _summary.forEach((s, i) => { - if (i > 0) { - let per = Math.round((s.value / _summary[0].value) * 1000) / 10; - if (isNaN(per)) per = 0; - s.value = `${s.value}(${per}%)`; - } - }); - - return _summary; } }, methods: { @@ -234,8 +172,9 @@ taskApi.getSubtaskSummary(param).then((res) => { const list = []; res.forEach((s) => { - const t = this.getSubtaskType(s); + const t = ProCheckProxy.getSubtaskType(s); list.push({ + status: s.subtask.status, type: t, title: s.stName, categoly: s.stPlanTime.split('T')[0], @@ -248,20 +187,9 @@ this.mainLoading = false; } }); - }, - //鑾峰彇浠诲姟闂鐨勫鏍告儏鍐� - getSubtaskType(s) { - let type = 0; - if (s.proNum == 0) { - type = 2; - } else if (s.proCheckedNum == 0) { - type = 0; - } else if (s.proCheckedNum < s.proNum) { - type = 1; - } else { - type = 2; - } - return type; + taskApi.fetchMonitorObjectVersion(param.topTaskId).then((res) => { + this.curMonitorObjList = res; + }); }, //鐐瑰嚮宸︿晶鑿滃崟浠诲姟浜嬩欢 chooseSubtask(s) { @@ -279,20 +207,21 @@ this.mainLoading = false; }); }, + onAddProCanceled() {}, // 闂鍗$墖缁勪欢涓诲姩鍙戣捣鍒锋柊鐖剁粍浠舵暟鎹� updateSubtask(refresh = false) { this.curSubtask.data.proCheckedNum++; - this.curSubtask.type = this.getSubtaskType(this.curSubtask.data); + this.curSubtask.type = ProCheckProxy.getSubtaskType(this.curSubtask.data); if (this.proAddOrUpdDialogVisible) { - this.proAddOrUpdDialogVisible = false + this.proAddOrUpdDialogVisible = false; } this.refreshCurrSubtask(refresh); }, // 鍒锋柊褰撳墠閫変腑瀛愪换鍔� refreshCurrSubtask(refresh) { this.sideLoading = false; - this.mainLoading = true; setTimeout(() => { + this.mainLoading = true; taskApi .getProBySubtask(this.curSubtask.data.stGuid) .then((res) => { @@ -315,7 +244,16 @@ .finally(() => { this.mainLoading = false; }); - }, 150); + }, 500); + }, + // 闂瀹℃牳瀹屾垚鍚庯紝鏇存柊宸︿晶鍒楄〃瀵瑰簲瀛愪换鍔$姸鎬� + 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 = ProCheckProxy.getSubtaskType(this.curSubtask.data); } }, mounted() {} @@ -323,7 +261,12 @@ </script> <style scoped> -.el-scrollbar { +.scrollbar-outer { + height: calc(100vh - 60px * 2 - 24px); + background-color: aliceblue; +} + +.scrollbar-inner { height: calc(100vh - 60px * 2 - 20px * 2 - var(--height-toolbar)); } </style> -- Gitblit v1.9.3