From 5d131ee1df80bece891fa0f28f893c96831a1787 Mon Sep 17 00:00:00 2001 From: yangsy Date: Fri, 22 Aug 2025 15:54:51 +0800 Subject: [PATCH] perf: remove suffix of offline device count; optimize routes; optimize station Select option --- .../offline-device-detail-modal.vue | 2 +- src/pages/alarm-page.vue | 30 ++- src/pages/log-page.vue | 12 - src/pages/vimp-log-page.vue | 209 ++++++++++++++++++ src/router/index.ts | 14 +- 5 files changed, 240 insertions(+), 27 deletions(-) delete mode 100644 src/pages/log-page.vue create mode 100644 src/pages/vimp-log-page.vue diff --git a/src/components/offline-device-detail-modal.vue b/src/components/offline-device-detail-modal.vue index 454fb6b..4647ddd 100644 --- a/src/components/offline-device-detail-modal.vue +++ b/src/components/offline-device-detail-modal.vue @@ -121,7 +121,7 @@ const onModalClose = () => {
- +
diff --git a/src/pages/alarm-page.vue b/src/pages/alarm-page.vue index 4380347..6b0ba22 100644 --- a/src/pages/alarm-page.vue +++ b/src/pages/alarm-page.vue @@ -10,11 +10,27 @@ import dayjs from 'dayjs'; import type { DataTableColumns, DataTableRowData, PaginationProps, SelectOption } from 'naive-ui'; import { NForm, NInput, NButton, NSpace, NDataTable, NFormItemGi, NGrid, NSelect, NGridItem, NDatePicker } from 'naive-ui'; import { storeToRefs } from 'pinia'; -import { ref, reactive, onBeforeMount, h } from 'vue'; +import { ref, reactive, onBeforeMount, h, shallowRef, watch } from 'vue'; const stationStore = useStationStore(); const { stationList } = storeToRefs(stationStore); +const stationSelectOptions = shallowRef([]); +watch( + stationList, + (list) => { + const next = list.map((station) => ({ + label: station.name, + value: station.deviceIdPrefix, + })); + stationSelectOptions.value.splice(0, stationSelectOptions.value.length, ...next); + }, + { + immediate: true, + deep: true, + }, +); + const searchFields = reactive({ stationCode_in: [] as string[], deviceType_in: [] as string[], @@ -174,17 +190,7 @@ onBeforeMount(() => getAlarmList()); - + -import { useRoute } from 'vue-router'; - -const route = useRoute(); - - - - - diff --git a/src/pages/vimp-log-page.vue b/src/pages/vimp-log-page.vue new file mode 100644 index 0000000..6420a0b --- /dev/null +++ b/src/pages/vimp-log-page.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index 48f5762..93d0e96 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -31,7 +31,17 @@ const router = createRouter({ }, { path: 'log', - component: () => import('@/pages/log-page.vue'), + redirect: '/log/vimp-log', + children: [ + { + path: 'vimp-log', + component: () => import('@/pages/vimp-log-page.vue'), + }, + ], + }, + { + path: 'debug', + component: () => import('@/pages/debug-page.vue'), }, { path: '/:pathMatch(.*)*', @@ -43,7 +53,7 @@ const router = createRouter({ ], }); -const whiteList = ['/login']; +const whiteList = ['/login', '/debug']; router.beforeEach((to, from, next) => { const userStore = useUserStore();