riku
2025-07-08 91513e171078ed6b0887f87b9fced33895d6d3fb
src/stores/subtask.js
@@ -11,6 +11,8 @@
// 巡查任务
export const useSubtaskStore = defineStore('subtask', () => {
  const allTask = ref(null)
  const onFetchAllTask = []
  // 总任务信息
  const taskInfo = ref(null)
  // 当期所有巡查统计信息
@@ -24,18 +26,35 @@
  function fetchTopTaskProgress(area) {
    subtaskLoading.value = true
    taskApi.fetchTopTaskProgress(area).then((res) => {
      if (res.data.length == 0) return
      const data = res.data[0]
      // 存储为全局数据
      setSummary(data)
      subtaskLoading.value = false
      // 绘制地图标记
      marks.createLabelMarks(scene_1, unref(data.subTaskSummary), (v) => {
        mapStore.focusMarker = v
    taskApi
      .fetchTopTaskProgress(area)
      .then((res) => {
        if (res.data.length == 0) return
        allTask.value = res.data
        if (onFetchAllTask.length > 0) {
          onFetchAllTask.forEach((e) => {
            e(allTask.value)
          })
        }
        const data = res.data[0]
        // 存储为全局数据
        setSummary(data)
        // 绘制地图标记
        marks.createLabelMarks(scene_1, unref(data.subTaskSummary), (v) => {
          mapStore.focusMarker = v
        })
        mapUtil.setFitView()
      })
      mapUtil.setFitView()
    })
      .finally(() => (subtaskLoading.value = false))
  }
  function onAllTaskRefreshed(callback) {
    if (allTask.value != null) {
      callback(taskInfo.value)
    }
    onFetchAllTask.push(callback)
  }
  // 设置新的值
@@ -92,11 +111,11 @@
  }
  function getSummaryMap(callback) {
    if (summaryMap.value.size === 0) {
      onFetchMap.push(callback)
    } else {
    if (summaryMap.value.size > 0) {
      callback(summaryMap.value)
    }
    onFetchMap.push(callback)
  }
  return {
@@ -105,6 +124,7 @@
    // summaryMap,
    subtaskLoading,
    fetchTopTaskProgress,
    onAllTaskRefreshed,
    setSummary,
    getTaskInfo,
    getSummaryList,