From 468b498d513f517e94d96468d98a7e417255f419 Mon Sep 17 00:00:00 2001 From: yangsy Date: Thu, 4 Sep 2025 14:05:12 +0800 Subject: [PATCH] perf: optimize query and device tree --- .../query/alarm/use-line-alarm-counts-query.ts | 2 +- .../query/device/use-line-devices-query.ts | 2 +- src/pages/device-page.vue | 13 ++++++++++--- 3 files changed, 12 insertions(+), 5 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 ad1dc7b..9fa2d32 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, sleepFrame, sleepIdle } from '@/utils/sleep'; +import { sleepFrame } from '@/utils/sleep'; import type { Station } from '@/apis/domains'; import { DeviceType, getDeviceTypeVal } from '@/enums/device-type'; import type { StationAlarmCounts } from './domains'; diff --git a/src/composables/query/device/use-line-devices-query.ts b/src/composables/query/device/use-line-devices-query.ts index f711dc6..0ae54af 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, sleepFrame, sleepIdle } from '@/utils/sleep'; +import { sleepFrame } from '@/utils/sleep'; import type { Station } from '@/apis/domains'; const createEmptyStationDevices = (): StationDevices => { diff --git a/src/pages/device-page.vue b/src/pages/device-page.vue index ad32680..5469926 100644 --- a/src/pages/device-page.vue +++ b/src/pages/device-page.vue @@ -4,7 +4,7 @@ import { useLineDevicesQuery, type LineDevices } from '@/composables/query'; import { useLineDevicesStore } from '@/stores/line-devices'; import { useStationStore } from '@/stores/station'; import { ChevronBack } from '@vicons/ionicons5'; -import { NEmpty, NIcon, NLayout, NLayoutContent, NLayoutSider, NPageHeader, NScrollbar } from 'naive-ui'; +import { NEmpty, NIcon, NLayout, NLayoutContent, NLayoutSider, NPageHeader, NScrollbar, NSpin } from 'naive-ui'; import { storeToRefs } from 'pinia'; import { onMounted, ref, watch } from 'vue'; import { useRoute, useRouter } from 'vue-router'; @@ -33,6 +33,8 @@ onMounted(() => { initFromRoute(lineDevices.value); }); +watch(lineDevices, (devices) => initFromRoute(devices), { deep: true }); + // 加载条控制 watch( lineDevicesFetching, @@ -41,9 +43,9 @@ watch( window.$loadingBar.start(); } else { window.$loadingBar.finish(); - // 当设备数据更新时,需要重新配置设备树及其属性 + // 当设备数据更新时,需要重新配置设备树 localLineDevices.value = lineDevices.value; - initFromRoute(lineDevices.value); + // initFromRoute(lineDevices.value); } }, { @@ -84,6 +86,11 @@ watch( +