fix(alarm-page): too much initial search params

This commit is contained in:
yangsy
2025-11-03 15:34:46 +08:00
parent 8765a51d24
commit 9b2f22be37

View File

@@ -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',