From 31980b06d50d530feb2c0f1db9daf24bd3b8797a Mon Sep 17 00:00:00 2001 From: Riku <risaku@163.com> Date: 星期日, 15 六月 2025 22:50:16 +0800 Subject: [PATCH] 2025.6.15 --- src/views/management/TaskStats.vue | 135 ++++++++++++++++++++++++++------------------ 1 files changed, 80 insertions(+), 55 deletions(-) diff --git a/src/views/management/TaskStats.vue b/src/views/management/TaskStats.vue index 8cf5c36..4b1860d 100644 --- a/src/views/management/TaskStats.vue +++ b/src/views/management/TaskStats.vue @@ -1,15 +1,19 @@ <template> - <div class="border-r-small"> - <div class="font-large">浠诲姟鐩戞帶</div> - <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> - <!-- </el-row> --> + <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> + <TaskSummary></TaskSummary> + <!-- </el-row> --> - <!-- <el-row> + <!-- <el-row> <el-col :span="12"> <SelfInspection></SelfInspection> </el-col> @@ -17,62 +21,83 @@ <JointEnforcement></JointEnforcement> </el-col> </el-row> --> - </div> + </el-scrollbar> + </BaseCard> </template> -<script> +<script setup> +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' /** * 浠诲姟瀹屾垚鎯呭喌 */ -export default { - components: { SelfInspection, JointEnforcement }, - props: { - height: String - }, - data() { - return { - tasks: [] - } - }, - watch: {}, - methods: {}, - mounted() { - let i = 0 - while (i < 1) { - this.tasks.push({ - guid: 'SMuheEkjswioSn7A', - name: '2024骞�6鏈堜笂娴峰競闈欏畨鍖哄贰鏌ヤ换鍔�', - district: '闈欏畨鍖�', - planTime: '2024-06', - startTime: '2024-06-01 00:00:00', - endTime: '2024-06-30 23:59:59', - userName: '鏈辨寮�#閭㈠瓙鐞�', - status: '姝e湪鎵ц', - count: [ - { - sceneType: '宸ュ湴', - total: 90, - finish: 45 - }, - { - sceneType: '椁愰ギ', - total: 90, - finish: 45 - }, - { - sceneType: '姹戒慨', - total: 90, - finish: 45 - } - ] +const excludeMapHeight = inject('excludeMapHeight') +const height = ref(`calc(${unCalc(excludeMapHeight)} - 36px)`) + +const subtaskStore = useSubtaskStore() +const tasks = ref([]) +const sceneTaskMap = ref(new Map()) + +function onGetTaskInfo(tInfoList) { + const resList = [] + + tInfoList.forEach((tInfo) => { + const _sceneTaskMap = new Map() + for (const key in tInfo.totaltaskByScene) { + const e = tInfo.totaltaskByScene[key] + _sceneTaskMap.set(key, { + sceneType: key, + total: e, + finish: tInfo.completetaskByScene[key] ? tInfo.completetaskByScene[key] : 0 }) - i++ } - } + // 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, + count: [] + } + + for (const key of _sceneTaskMap.keys()) { + const value = _sceneTaskMap.get(key) + task.count.push(value) + } + resList.push(task) + }) + + tasks.value = resList } + +function cal() { + subtaskStore.onAllTaskRefreshed(onGetTaskInfo) +} + +onMounted(() => { + cal() +}) </script> <style scoped> -- Gitblit v1.9.3