From 7afb79f826691252aac880a672074dac9a3fc37c Mon Sep 17 00:00:00 2001 From: yangsy Date: Tue, 2 Sep 2025 14:21:13 +0800 Subject: [PATCH] refactor: - extend NdmDeviceAlarmLogVO - only query alarm counts - separate request and store update in useQuery - refactor station card and alarm modal, data fetching is now inside modal - optimize device tree - optimize query station list - make export size follow page size - fix query sequence and make them follow stations -> devices -> alarms --- src/apis/models/device/index.ts | 1 + .../models/device/log/ndm-device-alarm-log.ts | 1 + src/apis/requests/station/ndm-verify.ts | 17 ++ .../device-alarm-detail-modal.vue | 170 +++++++++++++----- .../dashboard-page/station-card.vue | 16 +- src/components/device-page/device-tree.vue | 67 +++---- src/composables/query/alarm/domains/index.ts | 35 +++- .../query/alarm/domains/station-alarms.ts | 14 -- src/composables/query/alarm/index.ts | 2 +- .../alarm/use-line-alarm-counts-query.ts | 104 +++++++++++ .../query/alarm/use-line-alarms-query.ts | 117 ------------ src/composables/query/device/domains/index.ts | 27 ++- .../query/device/domains/station-devices.ts | 22 --- .../query/device/use-line-devices-query.ts | 164 +++++------------ .../query/station/use-station-list-query.ts | 67 ++++--- src/constants/query.ts | 1 + src/pages/alarm-page.vue | 21 ++- src/pages/dashboard-page.vue | 16 +- src/pages/vimp-log-page.vue | 21 ++- src/stores/line-alarm-counts.ts | 11 ++ src/stores/query-control.ts | 20 +-- 21 files changed, 475 insertions(+), 439 deletions(-) delete mode 100644 src/composables/query/alarm/domains/station-alarms.ts create mode 100644 src/composables/query/alarm/use-line-alarm-counts-query.ts delete mode 100644 src/composables/query/alarm/use-line-alarms-query.ts delete mode 100644 src/composables/query/device/domains/station-devices.ts create mode 100644 src/stores/line-alarm-counts.ts diff --git a/src/apis/models/device/index.ts b/src/apis/models/device/index.ts index b92c971..0f30847 100644 --- a/src/apis/models/device/index.ts +++ b/src/apis/models/device/index.ts @@ -26,3 +26,4 @@ export * from './video/ndm-video-server'; export type NdmDeviceVO = NdmSecurityBoxVO | NdmSwitchVO | NdmNvrVO | NdmCameraVO | NdmDecoderVO | NdmKeyboardVO | NdmMediaServerVO | NdmVideoServerVO; export type NdmDeviceResultVO = Partial; export type NdmServerVO = NdmMediaServerVO | NdmVideoServerVO; +export type NdmServerResultVO = Partial; diff --git a/src/apis/models/device/log/ndm-device-alarm-log.ts b/src/apis/models/device/log/ndm-device-alarm-log.ts index fe4f72e..776ba81 100644 --- a/src/apis/models/device/log/ndm-device-alarm-log.ts +++ b/src/apis/models/device/log/ndm-device-alarm-log.ts @@ -15,6 +15,7 @@ export interface NdmDeviceAlarmLogVO extends BaseModel { impactService: string; alarmType: string; deviceType: string; + stationCode: string; } export type NdmDeviceAlarmLogResultVO = Partial; diff --git a/src/apis/requests/station/ndm-verify.ts b/src/apis/requests/station/ndm-verify.ts index 5e0251c..91d173f 100644 --- a/src/apis/requests/station/ndm-verify.ts +++ b/src/apis/requests/station/ndm-verify.ts @@ -8,3 +8,20 @@ export const ndmVerify = async (stationCode: string, signal?: AbortSignal) => { throw err; } }; + +export interface BatchVerify { + name: string; + ipAddress: string; + stationCode: string; + verifyUrl: string; + onlineState: boolean; +} + +export const batchVerify = async (signal?: AbortSignal) => { + const resp = await ndmClient.post('/api/ndm/ndmKeepAlive/batchVerify', {}, { retRaw: true, timeout: 5000, signal }); + const [err, list] = resp; + if (err || !list) { + throw err; + } + return list; +}; diff --git a/src/components/dashboard-page/device-alarm-detail-modal.vue b/src/components/dashboard-page/device-alarm-detail-modal.vue index 4b32a62..baad649 100644 --- a/src/components/dashboard-page/device-alarm-detail-modal.vue +++ b/src/components/dashboard-page/device-alarm-detail-modal.vue @@ -1,24 +1,23 @@