From 9b2f22be373b021eab63a2cec53a472794b399d8 Mon Sep 17 00:00:00 2001 From: yangsy Date: Mon, 3 Nov 2025 15:34:46 +0800 Subject: [PATCH] fix(alarm-page): too much initial search params --- src/pages/alarm-page.vue | 44 ++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/src/pages/alarm-page.vue b/src/pages/alarm-page.vue index d62f934..786c5c6 100644 --- a/src/pages/alarm-page.vue +++ b/src/pages/alarm-page.vue @@ -42,6 +42,7 @@ const searchFields = reactive({ // deviceId_likeRight: '', alarmDate: [dayjs().startOf('date').valueOf(), dayjs().endOf('date').valueOf()] as [number, number], }); + const resetSearchFields = () => { searchFields.stationCode_in = []; searchFields.deviceType_in = []; @@ -50,6 +51,29 @@ const resetSearchFields = () => { searchFields.faultLevel_in = []; searchFields.alarmDate = [dayjs().startOf('date').subtract(1, 'week').valueOf(), dayjs().endOf('date').valueOf()]; }; +const getExtraFields = () => { + const stationCode_in = searchFields.stationCode_in.length > 0 ? [...searchFields.stationCode_in] : undefined; + const deviceName_like = !!searchFields.deviceName_like ? searchFields.deviceName_like : undefined; + const deviceType_in = + searchFields.deviceType_in.length > 0 + ? searchFields.deviceType_in.flatMap((deviceType) => { + return DeviceTypeCode[deviceType as DeviceTypeVal]; + }) + : undefined; + const alarmType_in = searchFields.alarmType_in.length > 0 ? [...searchFields.alarmType_in] : undefined; + const faultLevel_in = searchFields.faultLevel_in.length > 0 ? [...searchFields.faultLevel_in] : undefined; + const alarmDate_ge = searchFields.alarmDate[0]; + const alarmDate_le = searchFields.alarmDate[1]; + return { + stationCode_in, + deviceName_like, + deviceType_in, + alarmType_in, + faultLevel_in, + alarmDate_ge, + alarmDate_le, + }; +}; const onDateChange = (value: [number, number] | null) => { if (!value) { return; @@ -175,17 +199,7 @@ const { mutate: getAlarmList, isPending: isTableLoading } = useMutation({ mutationFn: async () => { const res = await postNdmDeviceAlarmLogPage('', { model: {}, - extra: { - stationCode_in: [...searchFields.stationCode_in], - deviceName_like: searchFields.deviceName_like, - deviceType_in: searchFields.deviceType_in.flatMap((deviceType) => { - return DeviceTypeCode[deviceType as DeviceTypeVal]; - }), - alarmType_in: searchFields.alarmType_in, - faultLevel_in: searchFields.faultLevel_in, - alarmDate_ge: searchFields.alarmDate[0], - alarmDate_le: searchFields.alarmDate[1], - }, + extra: getExtraFields(), current: tablePagination.page ?? 1, size: tablePagination.pageSize ?? 10, sort: 'id', @@ -218,13 +232,7 @@ const { mutate: downloadTableData, isPending: isDownloading } = useMutation({ mutationFn: async () => { const data = await ndmDeviceAlarmLogDefaultExportByTemplate('', { model: {}, - extra: { - stationCode_in: [...searchFields.stationCode_in], - deviceName_like: searchFields.deviceName_like, - deviceType_in: searchFields.deviceType_in, - alarmDate_ge: searchFields.alarmDate[0], - alarmDate_le: searchFields.alarmDate[1], - }, + extra: getExtraFields(), current: tablePagination.page ?? 1, size: tablePagination.pageSize ?? 10, order: 'descending',