revert: extract device snmp query composable function

This commit is contained in:
yangsy
2025-09-11 15:51:06 +08:00
parent 630ad21b4b
commit 05c87fc488
4 changed files with 100 additions and 130 deletions

View File

@@ -1,4 +1,3 @@
export * from './domains';
export * from './use-device-snmp-logs-query';
export * from './use-line-devices-query';

View File

@@ -1,63 +0,0 @@
import type { NdmDeviceResultVO, PageParams } from '@/apis/models';
import { postSnmpLogPage } from '@/apis/requests';
import { DEVICE_SNMP_LOGS_QUERY_KEY } from '@/constants';
import { useQuery, useQueryClient } from '@tanstack/vue-query';
import dayjs from 'dayjs';
import type { DatePickerProps } from 'naive-ui';
import { computed, watch, type Ref } from 'vue';
export function useDeviceSnmpLogsQuery(stationCode: Ref<string>, ndmDevice: Ref<NdmDeviceResultVO>, dateTimeRange: Ref<DatePickerProps['value']>, page: Ref<number>, pageSize: Ref<number>) {
const queryClient = useQueryClient();
const queryKey = computed(() => [DEVICE_SNMP_LOGS_QUERY_KEY, stationCode, ndmDevice, dateTimeRange, page.value, pageSize.value]);
const {
data: snmpLogRespData,
isPending,
isFetching,
error,
refetch,
} = useQuery({
queryKey,
enabled: computed(() => !!dateTimeRange.value),
queryFn: async () => {
if (!dateTimeRange.value) throw new Error('请选择时间范围');
const range = dateTimeRange.value as [number, number];
const deviceId = ndmDevice.value.id;
const createdTime_precisest = dayjs(range[0]).format('YYYY-MM-DD HH:mm:ss');
const createdTime_preciseed = dayjs(range[1]).format('YYYY-MM-DD HH:mm:ss');
const restParams: Omit<PageParams<{ id: string }>, 'model' | 'extra'> = {
current: page.value,
size: pageSize.value,
sort: 'id',
order: 'descending',
};
const respData = await postSnmpLogPage(stationCode.value, {
model: { deviceId },
extra: { createdTime_precisest, createdTime_preciseed },
...restParams,
});
return respData;
},
});
watch(error, (err) => {
if (err) {
console.error(`查询${ndmDevice.value.name}的SNMP日志失败:`, err);
window.$message.error(err.message);
}
});
const refresh = () => {
queryClient.invalidateQueries({ queryKey: queryKey.value });
};
return {
snmpLogRespData,
isPending,
isFetching,
error,
refetch,
refresh,
};
}