From 9169a74e1d7b2d24d20d708b4498d7ca17eda9d8 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期一, 28 四月 2025 13:42:52 +0800 Subject: [PATCH] 1. 新增自动评估监测数据统计导入功能 2. 修改问题审核界面巡查点次统计没有根据场景类型切换的问题 --- src/views/fysp/check/components/CompSubTaskStatistic.vue | 229 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 183 insertions(+), 46 deletions(-) diff --git a/src/views/fysp/check/components/CompSubTaskStatistic.vue b/src/views/fysp/check/components/CompSubTaskStatistic.vue index 375ae5c..7f8d3e9 100644 --- a/src/views/fysp/check/components/CompSubTaskStatistic.vue +++ b/src/views/fysp/check/components/CompSubTaskStatistic.vue @@ -1,97 +1,216 @@ <template> - <el-space> - <el-descriptions :column="3" size="small" border direction="vertical"> + <el-row justify="end" v-loading="loading"> + <el-descriptions :column="4" size="small" border direction="vertical"> + <el-descriptions-item + label="鍦烘櫙鎬昏" + label-class-name="inspection-label" + class-name="secondary-content" + > + <template #label> + <el-text size="small"> 鍦烘櫙鎬昏 </el-text> + </template> + {{ progress.total }} + </el-descriptions-item> + <el-descriptions-item + label="宸℃煡鍦烘櫙" + label-class-name="inspection-label" + class-name="secondary-content" + > + <template #label> + <el-text size="small"> 宸℃煡鍦烘櫙 </el-text> + </template> + {{ progress.completedScenes }} + </el-descriptions-item> + <el-descriptions-item + label="宸℃煡鐐规" + label-class-name="inspection-label" + class-name="secondary-content" + > + <template #label> + <el-text size="small"> 宸℃煡鐐规 </el-text> + </template> + {{ progress.completedTimes }} + </el-descriptions-item> + <el-descriptions-item + label="澶嶆煡鐐规" + label-class-name="inspection-label" + class-name="secondary-content" + > + <template #label> + <el-text size="small"> 澶嶆煡鐐规 </el-text> + </template> + {{ progress.reviewTimes }} + </el-descriptions-item> + </el-descriptions> + + <el-descriptions + class="m-l-4" + :column="3" + size="small" + border + direction="vertical" + > <el-descriptions-item label="闂鏁�" label-class-name="problem-label" class-name="secondary-content" - >{{ summary.proCount }}</el-descriptions-item > + <template #label> + <el-text size="small"> 闂鏁� </el-text> + </template> + {{ summary.proCount }} + </el-descriptions-item> <el-descriptions-item label="鏁存敼鏁�" label-class-name="problem-label" class-name="secondary-content" - >{{ summary.changeCount }}</el-descriptions-item > + <template #label> + <el-text size="small"> 鏁存敼鏁� </el-text> + </template> + {{ summary.changeCount }} + </el-descriptions-item> <el-descriptions-item label="鏁存敼鐜�" label-class-name="problem-label" - :class-name="summary.changePer < 1 ? 'danger-content' : 'secondary-content'" - >{{ formatPercent(summary.changePer) }}</el-descriptions-item + :class-name=" + summary.changePer < 1 ? 'danger-content' : 'secondary-content' + " > + <template #label> + <el-text size="small"> 鏁存敼鐜� </el-text> + </template> + {{ formatPercent(summary.changePer) }} + </el-descriptions-item> </el-descriptions> - <el-descriptions :column="8" size="small" border direction="vertical"> + + <el-descriptions + class="m-l-4" + :column="8" + size="small" + border + direction="vertical" + > <el-descriptions-item - label="宸℃煡鐐规" + label="鏃犻棶棰�" label-class-name="pro-check-label" class-name="secondary-content" - >{{ summary.total }}</el-descriptions-item > + <template #label> + <el-text size="small"> 鏃犻棶棰� </el-text> + </template> + {{ summary.noProblem }} + </el-descriptions-item> <el-descriptions-item label="闂鏈鏍�" label-class-name="pro-check-label" - :class-name="summary.proUnCheck > 0 ? 'danger-content' : 'secondary-content'" - >{{ summary.proUnCheck }}</el-descriptions-item + :class-name=" + summary.proUnCheck > 0 ? 'danger-content' : 'secondary-content' + " > + <template #label> + <el-text size="small"> 闂鏈鏍� </el-text> + </template> + {{ summary.proUnCheck }} + </el-descriptions-item> <el-descriptions-item label="閮ㄥ垎瀹℃牳" label-class-name="pro-check-label" - :class-name="summary.proPartCheck > 0 ? 'danger-content' : 'secondary-content'" - >{{ summary.proPartCheck }}</el-descriptions-item + :class-name=" + summary.proPartCheck > 0 ? 'danger-content' : 'secondary-content' + " > + <template #label> + <el-text size="small"> 閮ㄥ垎瀹℃牳 </el-text> + </template> + {{ summary.proPartCheck }} + </el-descriptions-item> <el-descriptions-item label="鍏ㄩ儴瀹℃牳" label-class-name="pro-check-label" class-name="secondary-content" - >{{ summary.proAllCheck }}</el-descriptions-item > - </el-descriptions> - <el-descriptions :column="8" size="small" border direction="vertical"> + <template #label> + <el-text size="small"> 鍏ㄩ儴瀹℃牳 </el-text> + </template> + {{ summary.proAllCheck }} + </el-descriptions-item> + <!-- </el-descriptions> + <el-descriptions + :column="4" + size="small" + border + direction="vertical" + > --> <el-descriptions-item label="鏈暣鏀�" label-class-name="change-check-label" - :class-name="summary.UnChange > 0 ? 'danger-content' : 'secondary-content'" - >{{ summary.UnChange }}</el-descriptions-item + :class-name=" + summary.UnChange > 0 ? 'danger-content' : 'secondary-content' + " > + <template #label> + <el-text size="small"> 鏈暣鏀� </el-text> + </template> + {{ summary.UnChange }} + </el-descriptions-item> <el-descriptions-item label="鏁存敼鏈鏍�" label-class-name="change-check-label" - :class-name="summary.changeUnCheck > 0 ? 'danger-content' : 'secondary-content'" - >{{ summary.changeUnCheck }}</el-descriptions-item + :class-name=" + summary.changeUnCheck > 0 ? 'danger-content' : 'secondary-content' + " > + <template #label> + <el-text size="small"> 鏁存敼鏈鏍� </el-text> + </template> + {{ summary.changeUnCheck }} + </el-descriptions-item> <el-descriptions-item label="閮ㄥ垎瀹℃牳" label-class-name="change-check-label" - :class-name="summary.changePartCheck > 0 ? 'danger-content' : 'secondary-content'" - >{{ summary.changePartCheck }}</el-descriptions-item + :class-name=" + summary.changePartCheck > 0 ? 'danger-content' : 'secondary-content' + " > + <template #label> + <el-text size="small"> 閮ㄥ垎瀹℃牳 </el-text> + </template> + {{ summary.changePartCheck }} + </el-descriptions-item> <el-descriptions-item label="鍏ㄩ儴瀹℃牳" label-class-name="change-check-label" class-name="secondary-content" - >{{ summary.changeAllCheck }}</el-descriptions-item > + <template #label> + <el-text size="small"> 鍏ㄩ儴瀹℃牳 </el-text> + </template> + {{ summary.changeAllCheck }} + </el-descriptions-item> </el-descriptions> - </el-space> - <!-- <el-space> - <el-tag v-for="(s, i) in summary" :key="i" :type="s.type" size="small"> - <el-icon v-if="s.icon" color=""> - <component :is="s.icon"></component> - </el-icon> - {{ s.name + ': ' + s.value }} - </el-tag> - </el-space> --> + </el-row> </template> <script> export default { props: { - subtasks: Array + loading: Boolean, + sceneType: Number, + subtasks: { + type: Array, + default: () => [] + }, + monitorObjList: { + type: Array, + default: () => [] + } }, computed: { //浠诲姟闂瀹℃牳鎯呭喌缁熻淇℃伅 summary() { const _summary = { total: 0, + noProblem: 0, proUnCheck: 0, proPartCheck: 0, proAllCheck: 0, @@ -110,7 +229,7 @@ // 闂瀹℃牳鎯呭喌 if (s.data.proNum == 0) { - _summary.proAllCheck++; + _summary.noProblem++; } else if (s.data.proCheckedNum == 0) { _summary.proUnCheck++; } else if (s.data.proCheckedNum < s.data.proNum) { @@ -123,10 +242,9 @@ if (s.data.changeNum < s.data.proNum) { _summary.UnChange++; } - // 鏁存敼瀹℃牳鎯呭喌 - if (s.data.proNum == 0) { - _summary.changeAllCheck++; + else if (s.data.proNum == 0) { + // _summary.changeAllCheck++; } else if (s.data.changeNum > 0) { if (s.data.changeCheckedNum == 0) { _summary.changeUnCheck++; @@ -142,6 +260,27 @@ _summary.changePer = _summary.changeCount / _summary.proCount; } return _summary; + }, + // 宸℃煡浠诲姟鎵ц杩涘害 + progress() { + const _res = { + total: 0, + completedScenes: 0, + completedTimes: 0, + reviewTimes: 0 + }; + this.monitorObjList.forEach((m) => { + if (this.sceneType == undefined || m.sceneTypeId == this.sceneType) { + _res.total++; + const times = parseInt(m.extension1); + if (times) { + _res.completedScenes++; + _res.completedTimes += times; + _res.reviewTimes += times - 1; + } + } + }); + return _res; } }, methods: { @@ -157,23 +296,21 @@ /* font-size: 13px !important; */ } +:deep(.inspection-label) { + background: var(--el-color-success-light-5) !important; + /* color: white !important; */ +} + :deep(.problem-label) { background: var(--el-color-primary-light-7) !important; } -:deep(.problem-content) { - /* background: var(--el-color-danger-light-9); */ -} :deep(.pro-check-label) { - background: var(--el-color-success-light-7) !important; -} -:deep(.pro-check-content) { + background: var(--el-color-warning-light-7) !important; } :deep(.change-check-label) { - background: var(--el-color-warning-light-7) !important; -} -:deep(.change-check-content) { + background: var(--el-color-danger-light-7) !important; } :deep(.danger-content) { -- Gitblit v1.9.3