From 8df5e278c862a280189b424dead0a83ed549654f Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 25 Feb 2025 14:53:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=8C=83=E5=9B=B4=E9=80=89=E6=8B=A9=E5=99=A8=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=BF=AB=E9=80=9F=E9=80=89=E6=8B=A9=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E5=B0=8F=E6=97=B6=E3=80=81=E4=BB=8A=E5=A4=A9=E5=92=8C=E6=98=A8?= =?UTF-8?q?=E5=A4=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dashboard/imsCDR/index.vue | 53 +++++++++++++++++++------- src/views/dashboard/sgwcCDR/index.vue | 53 +++++++++++++++++++------- src/views/dashboard/smscCDR/index.vue | 55 ++++++++++++++++++++------- 3 files changed, 119 insertions(+), 42 deletions(-) diff --git a/src/views/dashboard/imsCDR/index.vue b/src/views/dashboard/imsCDR/index.vue index 1dd05528..03103783 100644 --- a/src/views/dashboard/imsCDR/index.vue +++ b/src/views/dashboard/imsCDR/index.vue @@ -22,6 +22,7 @@ import { OptionsType, WS } from '@/plugins/ws-websocket'; import saveAs from 'file-saver'; import PQueue from 'p-queue'; import { useClipboard } from '@vueuse/core'; +import dayjs, { type Dayjs } from 'dayjs'; const { copy } = useClipboard({ legacy: true }); const { t } = useI18n(); const { getDict } = useDictStore(); @@ -43,7 +44,25 @@ let dict: { let neOtions = ref[]>([]); /**开始结束时间 */ -let queryRangePicker = ref<[string, string]>(['', '']); +let queryRangePicker = ref<[Dayjs, Dayjs] | undefined>([ + dayjs().startOf('hour'), + dayjs().endOf('hour'), +]); +/**时间范围 */ +let rangePickerPresets = ref([ + { + label: 'Now hour', + value: [dayjs().startOf('hour'), dayjs().endOf('hour')], + }, + { label: 'Today', value: [dayjs().startOf('day'), dayjs().endOf('day')] }, + { + label: 'Yesterday', + value: [ + dayjs().subtract(1, 'day').startOf('day'), + dayjs().subtract(1, 'day').endOf('day'), + ], + }, +]); /**查询参数 */ let queryParams = reactive({ @@ -56,9 +75,9 @@ let queryParams = reactive({ sortField: 'timestamp', sortOrder: 'desc', /**开始时间 */ - startTime: '', + startTime: undefined as undefined | number, /**结束时间 */ - endTime: '', + endTime: undefined as undefined | number, /**当前页数 */ pageNum: 1, /**每页条数 */ @@ -72,12 +91,12 @@ function fnQueryReset() { recordType: '', callerParty: '', calledParty: '', - startTime: '', - endTime: '', + startTime: undefined, + endTime: undefined, pageNum: 1, pageSize: 20, }); - queryRangePicker.value = ['', '']; + queryRangePicker.value = [dayjs().startOf('hour'), dayjs().endOf('hour')]; tablePagination.current = 1; tablePagination.pageSize = 20; fnGetList(); @@ -328,11 +347,17 @@ function fnGetList(pageNum?: number) { if (pageNum) { queryParams.pageNum = pageNum; } - if (!queryRangePicker.value) { - queryRangePicker.value = ['', '']; + // 时间范围 + if ( + Array.isArray(queryRangePicker.value) && + queryRangePicker.value.length > 0 + ) { + queryParams.startTime = queryRangePicker.value[0].valueOf(); + queryParams.endTime = queryRangePicker.value[1].valueOf(); + } else { + queryParams.startTime = undefined; + queryParams.endTime = undefined; } - queryParams.startTime = queryRangePicker.value[0]; - queryParams.endTime = queryRangePicker.value[1]; listIMSDataCDR(toRaw(queryParams)).then(res => { if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.rows)) { // 取消勾选 @@ -595,12 +620,12 @@ onBeforeUnmount(() => { > diff --git a/src/views/dashboard/sgwcCDR/index.vue b/src/views/dashboard/sgwcCDR/index.vue index bf3c0c65..212810d3 100644 --- a/src/views/dashboard/sgwcCDR/index.vue +++ b/src/views/dashboard/sgwcCDR/index.vue @@ -20,6 +20,7 @@ import { OptionsType, WS } from '@/plugins/ws-websocket'; import PQueue from 'p-queue'; import saveAs from 'file-saver'; import { useClipboard } from '@vueuse/core'; +import dayjs, { type Dayjs } from 'dayjs'; const { copy } = useClipboard({ legacy: true }); const { t } = useI18n(); const ws = new WS(); @@ -29,7 +30,25 @@ const queue = new PQueue({ concurrency: 1, autoStart: true }); let neOtions = ref[]>([]); /**开始结束时间 */ -let queryRangePicker = ref<[string, string]>(['', '']); +let queryRangePicker = ref<[Dayjs, Dayjs] | undefined>([ + dayjs().startOf('hour'), + dayjs().endOf('hour'), +]); +/**时间范围 */ +let rangePickerPresets = ref([ + { + label: 'Now hour', + value: [dayjs().startOf('hour'), dayjs().endOf('hour')], + }, + { label: 'Today', value: [dayjs().startOf('day'), dayjs().endOf('day')] }, + { + label: 'Yesterday', + value: [ + dayjs().subtract(1, 'day').startOf('day'), + dayjs().subtract(1, 'day').endOf('day'), + ], + }, +]); /**查询参数 */ let queryParams = reactive({ @@ -41,9 +60,9 @@ let queryParams = reactive({ sortField: 'timestamp', sortOrder: 'desc', /**开始时间 */ - startTime: '', + startTime: undefined as undefined | number, /**结束时间 */ - endTime: '', + endTime: undefined as undefined | number, /**当前页数 */ pageNum: 1, /**每页条数 */ @@ -55,12 +74,12 @@ function fnQueryReset() { queryParams = Object.assign(queryParams, { imsi: '', msisdn: '', - startTime: '', - endTime: '', + startTime: undefined, + endTime: undefined, pageNum: 1, pageSize: 20, }); - queryRangePicker.value = ['', '']; + queryRangePicker.value = [dayjs().startOf('hour'), dayjs().endOf('hour')]; tablePagination.current = 1; tablePagination.pageSize = 20; fnGetList(); @@ -310,11 +329,17 @@ function fnGetList(pageNum?: number) { if (pageNum) { queryParams.pageNum = pageNum; } - if (!queryRangePicker.value) { - queryRangePicker.value = ['', '']; + // 时间范围 + if ( + Array.isArray(queryRangePicker.value) && + queryRangePicker.value.length > 0 + ) { + queryParams.startTime = queryRangePicker.value[0].valueOf(); + queryParams.endTime = queryRangePicker.value[1].valueOf(); + } else { + queryParams.startTime = undefined; + queryParams.endTime = undefined; } - queryParams.startTime = queryRangePicker.value[0]; - queryParams.endTime = queryRangePicker.value[1]; listSGWCDataCDR(toRaw(queryParams)).then(res => { if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.rows)) { // 取消勾选 @@ -554,12 +579,12 @@ onBeforeUnmount(() => { > diff --git a/src/views/dashboard/smscCDR/index.vue b/src/views/dashboard/smscCDR/index.vue index da009f54..0c20cad4 100644 --- a/src/views/dashboard/smscCDR/index.vue +++ b/src/views/dashboard/smscCDR/index.vue @@ -23,6 +23,7 @@ import saveAs from 'file-saver'; import PQueue from 'p-queue'; import { useClipboard } from '@vueuse/core'; import { hasPermissions } from '@/plugins/auth-user'; +import dayjs, { type Dayjs } from 'dayjs'; const { copy } = useClipboard({ legacy: true }); const { getDict } = useDictStore(); const { t } = useI18n(); @@ -41,7 +42,25 @@ let dict: { let neOtions = ref[]>([]); /**开始结束时间 */ -let queryRangePicker = ref<[string, string]>(['', '']); +let queryRangePicker = ref<[Dayjs, Dayjs] | undefined>([ + dayjs().startOf('hour'), + dayjs().endOf('hour'), +]); +/**时间范围 */ +let rangePickerPresets = ref([ + { + label: 'Now hour', + value: [dayjs().startOf('hour'), dayjs().endOf('hour')], + }, + { label: 'Today', value: [dayjs().startOf('day'), dayjs().endOf('day')] }, + { + label: 'Yesterday', + value: [ + dayjs().subtract(1, 'day').startOf('day'), + dayjs().subtract(1, 'day').endOf('day'), + ], + }, +]); /**查询参数 */ let queryParams = reactive({ @@ -54,9 +73,9 @@ let queryParams = reactive({ sortField: 'timestamp', sortOrder: 'desc', /**开始时间 */ - startTime: '', + startTime: undefined as undefined | number, /**结束时间 */ - endTime: '', + endTime: undefined as undefined | number, /**当前页数 */ pageNum: 1, /**每页条数 */ @@ -70,12 +89,12 @@ function fnQueryReset() { recordType: '', callerParty: '', calledParty: '', - startTime: '', - endTime: '', + startTime: undefined, + endTime: undefined, pageNum: 1, pageSize: 20, }); - queryRangePicker.value = ['', '']; + queryRangePicker.value = [dayjs().startOf('hour'), dayjs().endOf('hour')]; tablePagination.current = 1; tablePagination.pageSize = 20; fnGetList(); @@ -304,11 +323,19 @@ function fnGetList(pageNum?: number) { if (pageNum) { queryParams.pageNum = pageNum; } - if (!queryRangePicker.value) { - queryRangePicker.value = ['', '']; + + // 时间范围 + if ( + Array.isArray(queryRangePicker.value) && + queryRangePicker.value.length > 0 + ) { + queryParams.startTime = queryRangePicker.value[0].valueOf(); + queryParams.endTime = queryRangePicker.value[1].valueOf(); + } else { + queryParams.startTime = undefined; + queryParams.endTime = undefined; } - queryParams.startTime = queryRangePicker.value[0]; - queryParams.endTime = queryRangePicker.value[1]; + listSMSCDataCDR(toRaw(queryParams)).then(res => { if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.rows)) { // 取消勾选 @@ -566,12 +593,12 @@ onBeforeUnmount(() => { >