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 |   70 ++++++++++++++++++++++++-----------
 1 files changed, 48 insertions(+), 22 deletions(-)

diff --git a/src/views/management/TaskStats.vue b/src/views/management/TaskStats.vue
index 4b1860d..2a7d86a 100644
--- a/src/views/management/TaskStats.vue
+++ b/src/views/management/TaskStats.vue
@@ -9,8 +9,8 @@
         <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>
+      <TaskItem v-for="item in tasks" :key="item.guid" :value="item"></TaskItem>
+      <!-- <TaskSummary></TaskSummary> -->
       <!-- </el-row> -->
 
       <!-- <el-row>
@@ -26,6 +26,9 @@
 </template>
 
 <script setup>
+/**
+ * 1. 鎸夌収鍦烘櫙绫诲瀷杩涜缁熻灞曠ず
+ */
 import { inject, ref, onMounted, computed } from 'vue'
 import { unCalc } from '@/utils/css-util'
 
@@ -36,6 +39,8 @@
 
 import { useSubtaskStore } from '@/stores/subtask.js'
 
+import taskApi from '@/api/fysp/taskApi.js'
+
 /**
  * 浠诲姟瀹屾垚鎯呭喌
  */
@@ -45,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: []
     }
 
@@ -91,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