From 91513e171078ed6b0887f87b9fced33895d6d3fb Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期二, 08 七月 2025 08:35:50 +0800 Subject: [PATCH] 2025.7.8 --- src/views/management/TaskStats.vue | 76 ++++++++++++++++++++++++++------------ 1 files changed, 52 insertions(+), 24 deletions(-) diff --git a/src/views/management/TaskStats.vue b/src/views/management/TaskStats.vue index a8af6fc..2a7d86a 100644 --- a/src/views/management/TaskStats.vue +++ b/src/views/management/TaskStats.vue @@ -1,15 +1,16 @@ <template> <BaseCard title="浠诲姟鐩戞帶"> - <!-- <template #expand> --> - <!-- <SupervisionVisual></SupervisionVisual> --> - <!-- </template> --> + <!-- <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> @@ -25,14 +26,20 @@ </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' + +import taskApi from '@/api/fysp/taskApi.js' /** * 浠诲姟瀹屾垚鎯呭喌 @@ -43,39 +50,41 @@ const subtaskStore = useSubtaskStore() const tasks = ref([]) const sceneTaskMap = ref(new Map()) +const subtaskLoading = ref(false) function onGetTaskInfo(tInfoList) { const resList = [] tInfoList.forEach((tInfo) => { const _sceneTaskMap = new Map() + // 鏈夊贰鏌ヨ繘搴︾殑鍦烘櫙绫诲瀷鐨勬�诲畬鎴愰噺锛堥拡瀵规煇浜涘満鏅被鍨嬩笉鍋氬贰鏌ヤ絾渚濇棫鍦ㄨ鍒掍腑鐨勬儏鍐碉級 + let _totaltask = 0, + _completetask = 0 + + // 灏嗗悇鍦烘櫙绫诲瀷鐨勫贰鏌ラ噺 for (const key in tInfo.totaltaskByScene) { const e = tInfo.totaltaskByScene[key] - _sceneTaskMap.set(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 total = tInfo.totaltask - // tInfo.subTaskSummary.forEach((s) => { - // if (!_sceneTaskMap.has(s.scene.type)) { - // _sceneTaskMap.set(s.scene.type, { - // sceneType: s.scene.type, - // total: total, - // finish: 0 - // }) - // } - // const st = _sceneTaskMap.get(s.scene.type) - // st.finish++ - // }) const task = { - name: tInfo.name, - province: tInfo.provinceName, - district: tInfo.districtName, - totaltask: tInfo.totaltask, - completetask: tInfo.completetask, + // name: tInfo.name, + // province: tInfo.provinceName, + // district: tInfo.districtName, + // totaltask: tInfo.totaltask, + // completetask: tInfo.completetask, + ...tInfo, + _totaltask, + _completetask, count: [] } @@ -89,8 +98,27 @@ tasks.value = resList } +const area = { + provincecode: null, + provincename: '涓婃捣甯�', + citycode: undefined, + cityname: undefined, + districtcode: undefined, + districtname: undefined, + starttime: '2025-06-01 00:00:00', + endtime: '2025-06-30 23:59:59', + scensetypeid: undefined +} function cal() { - subtaskStore.onAllTaskRefreshed(onGetTaskInfo) + subtaskLoading.value = true + taskApi + .fetchTopTaskProgress(area) + .then((res) => { + if (res.data.length == 0) return + onGetTaskInfo(res.data) + }) + .finally(() => (subtaskLoading.value = false)) + // subtaskStore.onAllTaskRefreshed(onGetTaskInfo) } onMounted(() => { -- Gitblit v1.9.3