From ff82e86becbd200adabd2ce56fba1f6b3c6c37e1 Mon Sep 17 00:00:00 2001 From: Riku <risaku@163.com> Date: 星期一, 23 六月 2025 23:10:49 +0800 Subject: [PATCH] 2025.6.23 --- src/views/management/TaskStats.vue | 85 +++++++++++++++++++++++++++--------------- 1 files changed, 54 insertions(+), 31 deletions(-) diff --git a/src/views/management/TaskStats.vue b/src/views/management/TaskStats.vue index bcea3c5..271414c 100644 --- a/src/views/management/TaskStats.vue +++ b/src/views/management/TaskStats.vue @@ -1,13 +1,16 @@ <template> - <BaseCard> - <div>浠诲姟鐩戞帶</div> - <el-scrollbar ref="scrollbarRef" :height="height"> + <BaseCard title="浠诲姟鐩戞帶"> + <!-- <template #expand> + <SupervisionVisual></SupervisionVisual> + </template> --> + <el-scrollbar ref="scrollbarRef"> <!-- <el-row justify="space-evenly"> <el-statistic title="浠婃棩瀹屾垚" :value="10"> </el-statistic> <el-statistic title="鏈懆瀹屾垚" :value="10"> </el-statistic> </el-row> --> <!-- <el-row> --> - <TaskItem v-for="item in tasks" :key="item.guid" v-bind="item"></TaskItem> + <TaskItem v-for="item in tasks" :key="item.guid" :value="item"></TaskItem> + <!-- <TaskSummary></TaskSummary> --> <!-- </el-row> --> <!-- <el-row> @@ -23,10 +26,17 @@ </template> <script setup> +/** + * 1. 鎸夌収鍦烘櫙绫诲瀷杩涜缁熻灞曠ず + */ import { inject, ref, onMounted, computed } from 'vue' import { unCalc } from '@/utils/css-util' + import SelfInspection from '@/views/inspection/SelfInspection.vue' import JointEnforcement from '@/views/inspection/JointEnforcement.vue' +import SupervisionVisual from '@/views/visualization/SupervisionVisual.vue' +import TaskSummary from '@/views/management/TaskSummary.vue' + import { useSubtaskStore } from '@/stores/subtask.js' /** @@ -39,41 +49,54 @@ const tasks = ref([]) const sceneTaskMap = ref(new Map()) -function onGetTaskInfo(tInfo) { +function onGetTaskInfo(tInfoList) { const resList = [] - sceneTaskMap.value.clear() - const total = tInfo.totaltask - tInfo.subTaskSummary.forEach((s) => { - if (!sceneTaskMap.value.has(s.scene.type)) { - sceneTaskMap.value.set(s.scene.type, { - sceneType: s.scene.type, - total: total, - finish: 0 - }) + + tInfoList.forEach((tInfo) => { + const _sceneTaskMap = new Map() + // 鏈夊贰鏌ヨ繘搴︾殑鍦烘櫙绫诲瀷鐨勬�诲畬鎴愰噺锛堥拡瀵规煇浜涘満鏅被鍨嬩笉鍋氬贰鏌ヤ絾渚濇棫鍦ㄨ鍒掍腑鐨勬儏鍐碉級 + let _totaltask = 0, + _completetask = 0 + + // 灏嗗悇鍦烘櫙绫诲瀷鐨勫贰鏌ラ噺 + for (const key in tInfo.totaltaskByScene) { + const e = tInfo.totaltaskByScene[key] + const v = { + sceneType: key, + total: e, + finish: tInfo.completetaskByScene[key] ? tInfo.completetaskByScene[key] : 0 + } + _sceneTaskMap.set(key, v) + if (v.finish > 0) { + _totaltask += v.total + _completetask += v.finish + } } - const st = sceneTaskMap.value.get(s.scene.type) - st.finish++ + + const task = { + // name: tInfo.name, + // province: tInfo.provinceName, + // district: tInfo.districtName, + // totaltask: tInfo.totaltask, + // completetask: tInfo.completetask, + ...tInfo, + _totaltask, + _completetask, + count: [] + } + + for (const key of _sceneTaskMap.keys()) { + const value = _sceneTaskMap.get(key) + task.count.push(value) + } + resList.push(task) }) - const task = { - name: tInfo.name, - province: tInfo.provinceName, - district: tInfo.districtName, - totaltask: tInfo.totaltask, - completetask: tInfo.completetask, - count: [] - } - - for (const key of sceneTaskMap.value.keys()) { - const value = sceneTaskMap.value.get(key) - task.count.push(value) - } - resList.push(task) tasks.value = resList } function cal() { - subtaskStore.getTaskInfo(onGetTaskInfo) + subtaskStore.onAllTaskRefreshed(onGetTaskInfo) } onMounted(() => { -- Gitblit v1.9.3