diff --git a/.env.development b/.env.development index a9f414b6..4a11b125 100644 --- a/.env.development +++ b/.env.development @@ -11,7 +11,7 @@ VITE_APP_NAME = "Core Network OMC" VITE_APP_CODE = "OMC" # 应用版本 -VITE_APP_VERSION = "2.250214" +VITE_APP_VERSION = "2.250221" # 接口基础URL地址-不带/后缀 VITE_API_BASE_URL = "/omc-api" diff --git a/.env.production b/.env.production index a9f414b6..4a11b125 100644 --- a/.env.production +++ b/.env.production @@ -11,7 +11,7 @@ VITE_APP_NAME = "Core Network OMC" VITE_APP_CODE = "OMC" # 应用版本 -VITE_APP_VERSION = "2.250214" +VITE_APP_VERSION = "2.250221" # 接口基础URL地址-不带/后缀 VITE_API_BASE_URL = "/omc-api" diff --git a/src/views/dashboard/imsCDR/index.vue b/src/views/dashboard/imsCDR/index.vue index 6bf14f23..fa5702ce 100644 --- a/src/views/dashboard/imsCDR/index.vue +++ b/src/views/dashboard/imsCDR/index.vue @@ -24,6 +24,7 @@ import saveAs from 'file-saver'; import PQueue from 'p-queue'; import { listTenant } from '@/api/system/tenant'; import { useClipboard } from '@vueuse/core'; +import dayjs, { type Dayjs } from 'dayjs'; const { copy } = useClipboard({ legacy: true }); const { t } = useI18n(); const { getDict } = useDictStore(); @@ -45,7 +46,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({ @@ -60,9 +79,9 @@ let queryParams = reactive({ sortField: 'timestamp', sortOrder: 'desc', /**开始时间 */ - startTime: '', + startTime: undefined as undefined | number, /**结束时间 */ - endTime: '', + endTime: undefined as undefined | number, /**当前页数 */ pageNum: 1, /**每页条数 */ @@ -77,12 +96,12 @@ function fnQueryReset() { callerParty: '', calledParty: '', tenantName: '', - 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(); @@ -343,11 +362,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)) { // 取消勾选 @@ -612,12 +637,12 @@ onBeforeUnmount(() => { > diff --git a/src/views/dashboard/sgwcCDR/index.vue b/src/views/dashboard/sgwcCDR/index.vue index 9f5c6a25..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(() => { > @@ -767,19 +792,21 @@ onBeforeUnmount(() => { MSISDN: {{ record.cdrJSON.servedMSISDN }} -
- GGSN Address: - - {{ - record.cdrJSON.pGWAddressUsed || record.cdrJSON.GGSNAddress - }} - +
+ PGW Address: + {{ record.cdrJSON.pGWAddressUsed }}
-
+
+ GGSN Address: + {{ record.cdrJSON.GGSNAddress }} +
+
+ SGW Address: + {{ record.cdrJSON.sGWAddress }} +
+
SGSN Address: - - {{ record.cdrJSON.sGWAddress || record.cdrJSON.SGSNAddress }} - + {{ record.cdrJSON.SGSNAddress }}
RAT Type: diff --git a/src/views/dashboard/smscCDR/index.vue b/src/views/dashboard/smscCDR/index.vue index 02a12ae9..a5176e33 100644 --- a/src/views/dashboard/smscCDR/index.vue +++ b/src/views/dashboard/smscCDR/index.vue @@ -24,6 +24,7 @@ import PQueue from 'p-queue'; import { listTenant } from '@/api/system/tenant'; 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(); @@ -42,7 +43,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({ @@ -58,9 +77,9 @@ let queryParams = reactive({ sortField: 'timestamp', sortOrder: 'desc', /**开始时间 */ - startTime: '', + startTime: undefined as undefined | number, /**结束时间 */ - endTime: '', + endTime: undefined as undefined | number, /**当前页数 */ pageNum: 1, /**每页条数 */ @@ -76,12 +95,12 @@ function fnQueryReset() { calledParty: '', /** 租户名称*/ tenantName: '', - 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(); @@ -317,11 +336,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)) { // 取消勾选 @@ -579,12 +606,12 @@ onBeforeUnmount(() => { >