diff --git a/src/components/device-page/device-card/history-diag-card/camera-history-diag-card.vue b/src/components/device-page/device-card/history-diag-card/camera-history-diag-card.vue index c4d1cce..1c8a143 100644 --- a/src/components/device-page/device-card/history-diag-card/camera-history-diag-card.vue +++ b/src/components/device-page/device-card/history-diag-card/camera-history-diag-card.vue @@ -17,6 +17,21 @@ const { stationCode, ndmCamera } = toRefs(props); const searchFields = reactive({ dateTimeRange: undefined as DatePickerProps['value'], }); +const onDateChange = (value: [number, number] | null) => { + if (!value) { + return; + } + const [start, end] = value; + const diffDays = dayjs(end).diff(dayjs(start), 'day'); + if (diffDays > 7) { + // 如果超过7天,自动调整结束时间 + const adjustedEnd = dayjs(start).add(7, 'day').valueOf(); + searchFields.dateTimeRange = [start, adjustedEnd]; + window.$message.warning('时间范围不能超过7天,已自动调整'); + } else { + searchFields.dateTimeRange = value; + } +}; type DeviceStatusHistoryDiagCardInst = InstanceType | null; type DeviceAlarmHistoryDiagCardInst = InstanceType | null; @@ -55,7 +70,7 @@ const selectedCards = ref([...diagCards.value.map((option) => `${optio - + diff --git a/src/components/device-page/device-card/history-diag-card/decoder-history-diag-card.vue b/src/components/device-page/device-card/history-diag-card/decoder-history-diag-card.vue index 5e1d3c6..fb56866 100644 --- a/src/components/device-page/device-card/history-diag-card/decoder-history-diag-card.vue +++ b/src/components/device-page/device-card/history-diag-card/decoder-history-diag-card.vue @@ -18,6 +18,21 @@ const { stationCode, ndmDecoder } = toRefs(props); const searchFields = reactive({ dateTimeRange: undefined as DatePickerProps['value'], }); +const onDateChange = (value: [number, number] | null) => { + if (!value) { + return; + } + const [start, end] = value; + const diffDays = dayjs(end).diff(dayjs(start), 'day'); + if (diffDays > 7) { + // 如果超过7天,自动调整结束时间 + const adjustedEnd = dayjs(start).add(7, 'day').valueOf(); + searchFields.dateTimeRange = [start, adjustedEnd]; + window.$message.warning('时间范围不能超过7天,已自动调整'); + } else { + searchFields.dateTimeRange = value; + } +}; type DeviceStatusHistoryDiagCardInst = InstanceType | null; type DeviceAlarmHistoryDiagCardInst = InstanceType | null; @@ -60,7 +75,7 @@ const selectedCards = ref([...diagCards.value.map((option) => `${optio - + diff --git a/src/components/device-page/device-card/history-diag-card/keyboard-history-diag-card.vue b/src/components/device-page/device-card/history-diag-card/keyboard-history-diag-card.vue index c476a6d..34df7c6 100644 --- a/src/components/device-page/device-card/history-diag-card/keyboard-history-diag-card.vue +++ b/src/components/device-page/device-card/history-diag-card/keyboard-history-diag-card.vue @@ -16,6 +16,21 @@ const { stationCode, ndmKeyboard } = toRefs(props); const searchFields = reactive({ dateTimeRange: undefined as DatePickerProps['value'], }); +const onDateChange = (value: [number, number] | null) => { + if (!value) { + return; + } + const [start, end] = value; + const diffDays = dayjs(end).diff(dayjs(start), 'day'); + if (diffDays > 7) { + // 如果超过7天,自动调整结束时间 + const adjustedEnd = dayjs(start).add(7, 'day').valueOf(); + searchFields.dateTimeRange = [start, adjustedEnd]; + window.$message.warning('时间范围不能超过7天,已自动调整'); + } else { + searchFields.dateTimeRange = value; + } +}; type DeviceStatusHistoryDiagCardInst = InstanceType | null; const deviceStatusHistoryDiagCardRef = useTemplateRef('deviceStatusHistoryDiagCardRef'); @@ -48,7 +63,7 @@ const selectedCards = ref([...diagCards.value.map((option) => `${optio - + diff --git a/src/components/device-page/device-card/history-diag-card/nvr-history-diag-card.vue b/src/components/device-page/device-card/history-diag-card/nvr-history-diag-card.vue index 75f0f58..ae8e625 100644 --- a/src/components/device-page/device-card/history-diag-card/nvr-history-diag-card.vue +++ b/src/components/device-page/device-card/history-diag-card/nvr-history-diag-card.vue @@ -19,6 +19,21 @@ const { stationCode, ndmNvr } = toRefs(props); const searchFields = reactive({ dateTimeRange: undefined as DatePickerProps['value'], }); +const onDateChange = (value: [number, number] | null) => { + if (!value) { + return; + } + const [start, end] = value; + const diffDays = dayjs(end).diff(dayjs(start), 'day'); + if (diffDays > 7) { + // 如果超过7天,自动调整结束时间 + const adjustedEnd = dayjs(start).add(7, 'day').valueOf(); + searchFields.dateTimeRange = [start, adjustedEnd]; + window.$message.warning('时间范围不能超过7天,已自动调整'); + } else { + searchFields.dateTimeRange = value; + } +}; type DeviceStatusHistoryDiagCardInst = InstanceType | null; type DeviceAlarmHistoryDiagCardInst = InstanceType | null; @@ -67,7 +82,7 @@ const selectedCards = ref([...diagCards.value.map((option) => `${optio - + diff --git a/src/components/device-page/device-card/history-diag-card/security-box-history-diag-card.vue b/src/components/device-page/device-card/history-diag-card/security-box-history-diag-card.vue index 25d2da1..b654884 100644 --- a/src/components/device-page/device-card/history-diag-card/security-box-history-diag-card.vue +++ b/src/components/device-page/device-card/history-diag-card/security-box-history-diag-card.vue @@ -19,6 +19,21 @@ const { stationCode, ndmSecurityBox } = toRefs(props); const searchFields = reactive({ dateTimeRange: undefined as DatePickerProps['value'], }); +const onDateChange = (value: [number, number] | null) => { + if (!value) { + return; + } + const [start, end] = value; + const diffDays = dayjs(end).diff(dayjs(start), 'day'); + if (diffDays > 7) { + // 如果超过7天,自动调整结束时间 + const adjustedEnd = dayjs(start).add(7, 'day').valueOf(); + searchFields.dateTimeRange = [start, adjustedEnd]; + window.$message.warning('时间范围不能超过7天,已自动调整'); + } else { + searchFields.dateTimeRange = value; + } +}; type DeviceStatusHistoryDiagCardInst = InstanceType | null; type DeviceAlarmHistoryDiagCardInst = InstanceType | null; @@ -70,7 +85,7 @@ const selectedCards = ref([...diagCards.value.map((option) => `${optio - + diff --git a/src/components/device-page/device-card/history-diag-card/server-history-diag-card.vue b/src/components/device-page/device-card/history-diag-card/server-history-diag-card.vue index f494581..af0b9a3 100644 --- a/src/components/device-page/device-card/history-diag-card/server-history-diag-card.vue +++ b/src/components/device-page/device-card/history-diag-card/server-history-diag-card.vue @@ -18,6 +18,21 @@ const { stationCode, ndmServer } = toRefs(props); const searchFields = reactive({ dateTimeRange: undefined as DatePickerProps['value'], }); +const onDateChange = (value: [number, number] | null) => { + if (!value) { + return; + } + const [start, end] = value; + const diffDays = dayjs(end).diff(dayjs(start), 'day'); + if (diffDays > 7) { + // 如果超过7天,自动调整结束时间 + const adjustedEnd = dayjs(start).add(7, 'day').valueOf(); + searchFields.dateTimeRange = [start, adjustedEnd]; + window.$message.warning('时间范围不能超过7天,已自动调整'); + } else { + searchFields.dateTimeRange = value; + } +}; type DeviceStatusHistoryDiagCardInst = InstanceType | null; type DeviceAlarmHistoryDiagCardInst = InstanceType | null; @@ -60,7 +75,7 @@ const selectedCards = ref([...diagCards.value.map((option) => `${optio - + diff --git a/src/components/device-page/device-card/history-diag-card/switch-history-diag-card.vue b/src/components/device-page/device-card/history-diag-card/switch-history-diag-card.vue index ed56645..09690ea 100644 --- a/src/components/device-page/device-card/history-diag-card/switch-history-diag-card.vue +++ b/src/components/device-page/device-card/history-diag-card/switch-history-diag-card.vue @@ -19,6 +19,21 @@ const { stationCode, ndmSwitch } = toRefs(props); const searchFields = reactive({ dateTimeRange: undefined as DatePickerProps['value'], }); +const onDateChange = (value: [number, number] | null) => { + if (!value) { + return; + } + const [start, end] = value; + const diffDays = dayjs(end).diff(dayjs(start), 'day'); + if (diffDays > 7) { + // 如果超过7天,自动调整结束时间 + const adjustedEnd = dayjs(start).add(7, 'day').valueOf(); + searchFields.dateTimeRange = [start, adjustedEnd]; + window.$message.warning('时间范围不能超过7天,已自动调整'); + } else { + searchFields.dateTimeRange = value; + } +}; type DeviceStatusHistoryDiagCardInst = InstanceType | null; type DeviceAlarmHistoryDiagCardInst = InstanceType | null; @@ -67,7 +82,7 @@ const selectedCards = ref([...diagCards.value.map((option) => `${optio - + diff --git a/src/pages/alarm-page.vue b/src/pages/alarm-page.vue index 0aca050..d62f934 100644 --- a/src/pages/alarm-page.vue +++ b/src/pages/alarm-page.vue @@ -51,7 +51,7 @@ const resetSearchFields = () => { searchFields.alarmDate = [dayjs().startOf('date').subtract(1, 'week').valueOf(), dayjs().endOf('date').valueOf()]; }; const onDateChange = (value: [number, number] | null) => { - if (!value || value.length !== 2) { + if (!value) { return; } const [start, end] = value; diff --git a/src/pages/vimp-log-page.vue b/src/pages/vimp-log-page.vue index bd566f7..e430502 100644 --- a/src/pages/vimp-log-page.vue +++ b/src/pages/vimp-log-page.vue @@ -78,6 +78,21 @@ const resetSearchFields = () => { searchFields.stationCode = stationList.value.find((station) => station.online)?.code; searchFields.logType_in = []; }; +const onDateChange = (value: [number, number] | null) => { + if (!value) { + return; + } + const [start, end] = value; + const diffDays = dayjs(end).diff(dayjs(start), 'day'); + if (diffDays > 7) { + // 如果超过7天,自动调整结束时间 + const adjustedEnd = dayjs(start).add(7, 'day').valueOf(); + searchFields.createdTime = [dayjs(start).format('YYYY-MM-DD HH:mm:ss'), dayjs(adjustedEnd).format('YYYY-MM-DD HH:mm:ss')]; + window.$message.warning('时间范围不能超过7天,已自动调整'); + } else { + searchFields.createdTime = [dayjs(start).format('YYYY-MM-DD HH:mm:ss'), dayjs(end).format('YYYY-MM-DD HH:mm:ss')]; + } +}; const tableColumns: DataTableColumns = [ { title: '时间', key: 'createdTime' }, @@ -258,7 +273,7 @@ watchEffect(() => { - +