From 80feb909de4b5a61563f2810a78243a3a152457c Mon Sep 17 00:00:00 2001 From: yangsy Date: Thu, 4 Sep 2025 10:41:45 +0800 Subject: [PATCH] perf: optimize query and device tree --- .../alarm/use-line-alarm-counts-query.ts | 4 +- .../query/device/use-line-devices-query.ts | 4 +- src/pages/device-page.vue | 46 ++++++++----------- 3 files changed, 24 insertions(+), 30 deletions(-) diff --git a/src/composables/query/alarm/use-line-alarm-counts-query.ts b/src/composables/query/alarm/use-line-alarm-counts-query.ts index ccea658..ad1dc7b 100644 --- a/src/composables/query/alarm/use-line-alarm-counts-query.ts +++ b/src/composables/query/alarm/use-line-alarm-counts-query.ts @@ -7,7 +7,7 @@ import { storeToRefs } from 'pinia'; import { computed } from 'vue'; import dayjs from 'dayjs'; import { postNdmDeviceAlarmLogPage } from '@/apis/requests'; -import { sleep } from '@/utils/sleep'; +import { sleep, sleepFrame, sleepIdle } from '@/utils/sleep'; import type { Station } from '@/apis/domains'; import { DeviceType, getDeviceTypeVal } from '@/enums/device-type'; import type { StationAlarmCounts } from './domains'; @@ -94,7 +94,7 @@ function useStationAlarmCountsMutation() { }, onSuccess: async (stationAlarmCounts, { station }) => { lineAlarmCounts.value[station.code] = stationAlarmCounts; - await sleep(); + await sleepFrame(); }, onError: (error, { station }) => { console.error(`获取车站 ${station.name} 设备告警数据失败:`, error); diff --git a/src/composables/query/device/use-line-devices-query.ts b/src/composables/query/device/use-line-devices-query.ts index 6693bd9..f711dc6 100644 --- a/src/composables/query/device/use-line-devices-query.ts +++ b/src/composables/query/device/use-line-devices-query.ts @@ -8,7 +8,7 @@ import type { StationDevices } from './domains'; import { useLineDevicesStore } from '@/stores/line-devices'; import { LINE_DEVICES_QUERY_KEY } from '@/constants'; import { ndmClient } from '@/apis/client'; -import { sleep } from '@/utils/sleep'; +import { sleep, sleepFrame, sleepIdle } from '@/utils/sleep'; import type { Station } from '@/apis/domains'; const createEmptyStationDevices = (): StationDevices => { @@ -77,7 +77,7 @@ function useStationDevicesMutation() { }, onSuccess: async (stationDevices, { station }) => { lineDevices.value[station.code] = stationDevices; - await sleep(); + await sleepFrame(); }, onError: (error, { station }) => { console.error(`获取车站 ${station.name} 设备数据失败:`, error); diff --git a/src/pages/device-page.vue b/src/pages/device-page.vue index a376cf0..ad32680 100644 --- a/src/pages/device-page.vue +++ b/src/pages/device-page.vue @@ -1,12 +1,12 @@