From b525b92163db25fa6e66f8b80a27d0b45f7fa8a4 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 28 Aug 2025 09:51:24 +0800 Subject: [PATCH 1/8] =?UTF-8?q?fix:=20UPF=E6=B5=81=E9=87=8F=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E5=AD=97=E8=8A=82=E6=95=B0=E6=8D=AE=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96=E6=98=BE=E7=A4=BA=E4=B8=8D=E4=B8=80=E8=87=B4=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/parse-utils.ts | 19 ------------------- .../overview/hooks/useUPFTotalFlow.ts | 6 +++--- .../overview2/hooks/useUPFTotalFlow.ts | 6 +++--- 3 files changed, 6 insertions(+), 25 deletions(-) diff --git a/src/utils/parse-utils.ts b/src/utils/parse-utils.ts index ada8afec..3df76e1e 100644 --- a/src/utils/parse-utils.ts +++ b/src/utils/parse-utils.ts @@ -177,25 +177,6 @@ export function parseSizeFromKbs(sizeByte: number, timeInterval: number): any { return [(realBit / 1000 / 1000).toFixed(2), ' Mbits/sec']; } -/** - * 位数据转换单位 - * @param bits 位Bit大小 64009540 = 512.08 MB - * @returns xx B / KB / MB / GB / TB / PB / EB / ZB / YB - */ -export function parseSizeFromBits(bits: number | string): string { - bits = Number(bits) || 0; - if (bits <= 0) return '0 B'; - bits = bits * 8; - const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; - const unitIndex = Math.floor(Math.log2(bits) / 10); - const value = bits / Math.pow(1000, unitIndex); - const unti = units[unitIndex]; - if (unitIndex > 0) { - return `${value.toFixed(2)} ${unti}`; - } - return `${value} ${unti}`; -} - /** * 字节数转换单位 * @param byte 字节Byte大小 64009540 = 512.08 MB diff --git a/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts b/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts index edc1335b..16c3f6d2 100644 --- a/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts +++ b/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts @@ -1,5 +1,5 @@ import { parseDateToStr } from '@/utils/date-utils'; -import { parseSizeFromBits, parseSizeFromKbs } from '@/utils/parse-utils'; +import { parseSizeFromByte, parseSizeFromKbs } from '@/utils/parse-utils'; import { ref } from 'vue'; type FDType = { @@ -81,9 +81,9 @@ export function upfTFParse(day: string, data: Record) { let { up, down } = data; upfTotalFlow.value[day] = { up: up, - upFrom: parseSizeFromBits(up), + upFrom: parseSizeFromByte(up), down: down, - downFrom: parseSizeFromBits(down), + downFrom: parseSizeFromByte(down), requestFlag: false, }; } diff --git a/src/views/dashboard/overview2/hooks/useUPFTotalFlow.ts b/src/views/dashboard/overview2/hooks/useUPFTotalFlow.ts index 4366405d..c90af755 100644 --- a/src/views/dashboard/overview2/hooks/useUPFTotalFlow.ts +++ b/src/views/dashboard/overview2/hooks/useUPFTotalFlow.ts @@ -1,5 +1,5 @@ import { parseDateToStr } from '@/utils/date-utils'; -import { parseSizeFromBits, parseSizeFromKbs } from '@/utils/parse-utils'; +import { parseSizeFromByte, parseSizeFromKbs } from '@/utils/parse-utils'; import { ref } from 'vue'; type FDType = { @@ -79,9 +79,9 @@ export function upfTFParse(day: string, data: Record) { let { up, down } = data; upfTotalFlow.value[day] = { up: up, - upFrom: parseSizeFromBits(up), + upFrom: parseSizeFromByte(up), down: down, - downFrom: parseSizeFromBits(down), + downFrom: parseSizeFromByte(down), requestFlag: false, }; } From a7024df325781bc25eb059c5b2a531e56136c0b3 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 28 Aug 2025 09:52:25 +0800 Subject: [PATCH 2/8] =?UTF-8?q?fix:=20UPF=E6=B5=81=E9=87=8F=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=95=B0=E6=8D=AE=E5=90=8C=E6=97=B6=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dashboard/overview/index.vue | 6 ++-- src/views/dashboard/overview2/index.vue | 39 +++++++++++++------------ 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/views/dashboard/overview/index.vue b/src/views/dashboard/overview/index.vue index 83ceaa57..16952394 100644 --- a/src/views/dashboard/overview/index.vue +++ b/src/views/dashboard/overview/index.vue @@ -229,15 +229,15 @@ function loadData() { interval10s.value = setInterval(() => { if (!interval10s.value || !initFlag) return; if (upfTFActive.value === '0') { - upfTFSend('7'); upfTFActive.value = '7'; } else if (upfTFActive.value === '7') { - upfTFSend('30'); upfTFActive.value = '30'; } else if (upfTFActive.value === '30') { - upfTFSend('0'); upfTFActive.value = '0'; } + upfTFSend('0'); + upfTFSend('7'); + upfTFSend('30'); }, 10_000); clearInterval(interval5s.value); diff --git a/src/views/dashboard/overview2/index.vue b/src/views/dashboard/overview2/index.vue index 9c10bf27..5cbeec79 100644 --- a/src/views/dashboard/overview2/index.vue +++ b/src/views/dashboard/overview2/index.vue @@ -176,15 +176,15 @@ async function fnGetSkim() { { request: (neId: string) => listAMFNblist({ neId }), process: async (res: any, neId: any) => { - console.log(neId) - if (res.code === RESULT_CODE_SUCCESS&& Array.isArray(res.data)) { + console.log(neId); + if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.data)) { skimState.gnbNum += res.data.length; skimState.gnbUeNum += res.data.reduce( (sum: number, item: any) => sum + item.ueNum, 0 ); const amfNbRes = await listAMFNbStatelist({ neId }); - console.log(amfNbRes) + console.log(amfNbRes); if ( amfNbRes.code === RESULT_CODE_SUCCESS && Array.isArray(amfNbRes.data) @@ -224,13 +224,13 @@ async function fnGetSkim() { ); const mmeNbRes = await listMMENbStatelist({ neId }); - console.log(mmeNbRes) + console.log(mmeNbRes); if ( mmeNbRes.code === RESULT_CODE_SUCCESS && Array.isArray(mmeNbRes.data) ) { // skimState.eNbSumNum += mmeNbRes.data.length; - console.log(mmeNbRes) + console.log(mmeNbRes); tempEnbSumNum += mmeNbRes.data.length; } } @@ -238,21 +238,20 @@ async function fnGetSkim() { }, ], ]); - console.log(neCascaderOptions) + console.log(neCascaderOptions); const requests = neCascaderOptions.value.flatMap( (ne: any) => ne.children ?.map((child: any) => { - console.log(child.neId) + console.log(child.neId); const handler = neHandlers.get(child.neType); return handler ? { promise: handler.request(child.neId), process: handler.process, - neId: child.neId, // 这里加上neId - - } + neId: child.neId, // 这里加上neId + } : null; }) .filter(Boolean) || [] @@ -311,15 +310,15 @@ function loadData() { interval10s.value = setInterval(() => { if (!interval10s.value || !initFlag) return; if (upfTFActive.value === '0') { - upfTFSend('7'); upfTFActive.value = '7'; } else if (upfTFActive.value === '7') { - upfTFSend('30'); upfTFActive.value = '30'; } else if (upfTFActive.value === '30') { - upfTFSend('0'); upfTFActive.value = '0'; } + upfTFSend('0'); + upfTFSend('7'); + upfTFSend('30'); }, 10_000); clearInterval(interval5s.value); @@ -375,12 +374,14 @@ async function fnSelectUDM(e: any) { pageNum: 1, pageSize: 1, }); - console.log(res) + console.log(res); // listUDMSub({ neId: udmNeId.value, pageNum: 1, pageSize: 1 }).then(res => { - if (res.code === RESULT_CODE_SUCCESS && typeof res.data.total === 'number') { + if ( + res.code === RESULT_CODE_SUCCESS && + typeof res.data.total === 'number' + ) { skimState.udmSubNum = res.data.total; - console.log(res) - + console.log(res); } else { skimState.udmSubNum = 0; } @@ -393,7 +394,7 @@ async function fnSelectUDM(e: any) { } /**资源控制-选择NE */ function fnSelectNeRe(e: any) { - console.log(e) + console.log(e); graphNodeClickID.value = e.key; } // @@ -408,7 +409,7 @@ const getPopupContainer = () => { onMounted(() => { // 获取网元网元列表 neListStore.neCascaderOptions.forEach(item => { - console.log(item) + console.log(item); if (item.value === 'UPF') { neOtions.value = JSON.parse(JSON.stringify(item.children)); } From d4e603be637036a036d1090f26c7982a57e79134 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 28 Aug 2025 10:42:07 +0800 Subject: [PATCH 3/8] =?UTF-8?q?fix:=20=E5=8F=82=E6=95=B0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=A1=E9=AA=8C=E8=BF=87=E6=BB=A4=E9=95=BF?= =?UTF-8?q?=E5=BA=A6~=E5=92=8C-=E5=AE=9A=E4=B9=89=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/ne/neConfig/hooks/useOptions.ts | 52 +++++++++++------------ 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/src/views/ne/neConfig/hooks/useOptions.ts b/src/views/ne/neConfig/hooks/useOptions.ts index 8c88fde8..ba531f69 100644 --- a/src/views/ne/neConfig/hooks/useOptions.ts +++ b/src/views/ne/neConfig/hooks/useOptions.ts @@ -29,8 +29,13 @@ export default function useOptions({ t }: any) { case 'int': // filter: "0~128" - if (filter && filter.indexOf('~') !== -1) { - const filterArr = filter.split('~'); + if (filter) { + let filterArr = ['0', '1']; + if (filter.indexOf('-') !== -1) { + filterArr = filter.split('-'); + } else if (filter.indexOf('~') !== -1) { + filterArr = filter.split('~'); + } const minInt = parseInt(filterArr[0]); const maxInt = parseInt(filterArr[1]); const valueInt = parseInt(value); @@ -47,18 +52,12 @@ export default function useOptions({ t }: any) { break; case 'ipv4': if (!regExpIPv4.test(value)) { - return [ - false, - t('views.ne.neConfig.requireIpv4', { display }), - ]; + return [false, t('views.ne.neConfig.requireIpv4', { display })]; } break; case 'ipv6': if (!regExpIPv6.test(value)) { - return [ - false, - t('views.ne.neConfig.requireIpv6', { display }), - ]; + return [false, t('views.ne.neConfig.requireIpv6', { display })]; } break; case 'enum': @@ -71,10 +70,7 @@ export default function useOptions({ t }: any) { } if (!Object.keys(filterJson).includes(`${value}`)) { - return [ - false, - t('views.ne.neConfig.requireEnum', { display }), - ]; + return [false, t('views.ne.neConfig.requireEnum', { display })]; } } break; @@ -90,10 +86,7 @@ export default function useOptions({ t }: any) { } if (!Object.values(filterJson).includes(`${value}`)) { - return [ - false, - t('views.ne.neConfig.requireBool', { display }), - ]; + return [false, t('views.ne.neConfig.requireBool', { display })]; } } break; @@ -101,12 +94,20 @@ export default function useOptions({ t }: any) { // filter: "0~128" // 字符串长度判断 - if (filter && filter.indexOf('~') !== -1) { + if (filter) { try { - const filterArr = filter.split('~'); - let rule = new RegExp( - '^\\S{' + filterArr[0] + ',' + filterArr[1] + '}$' - ); + let rule: RegExp = new RegExp('^.*$'); + if (filter.indexOf('-') !== -1) { + const filterArr = filter.split('-'); + rule = new RegExp( + '^.{' + filterArr[0] + ',' + filterArr[1] + '}$' + ); + } else if (filter.indexOf('~') !== -1) { + const filterArr = filter.split('~'); + rule = new RegExp( + '^\\S{' + filterArr[0] + ',' + filterArr[1] + '}$' + ); + } if (!rule.test(value)) { return [ false, @@ -157,10 +158,7 @@ export default function useOptions({ t }: any) { break; default: - return [ - false, - t('views.ne.neConfig.requireUn', { display }), - ]; + return [false, t('views.ne.neConfig.requireUn', { display })]; } return result; } From 3da786f6b9bf38fc4cd47acf71f76396980f2003 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 28 Aug 2025 10:55:31 +0800 Subject: [PATCH 4/8] =?UTF-8?q?feat:=20=E7=BD=91=E5=85=83=E5=8F=AF?= =?UTF-8?q?=E9=80=89=E9=9D=99=E6=80=81=E5=8F=AF=E9=80=89=E9=A1=B9=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0PGWC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/constants/ne-constants.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/constants/ne-constants.ts b/src/constants/ne-constants.ts index cdf6b689..7d9ef989 100644 --- a/src/constants/ne-constants.ts +++ b/src/constants/ne-constants.ts @@ -22,6 +22,12 @@ export const NE_TYPE_LIST = [ 'CHF', 'HLR', 'SGWC', + 'PGWC', + 'IP-SM-GW', + 'MMTel-AS', + 'I-CSCF', + 'P-CSCF', + 'S-CSCF', ]; /** From e5ce2ebb021ca7ea965e5884d2e02fc5e06ce649 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 28 Aug 2025 16:09:45 +0800 Subject: [PATCH 5/8] =?UTF-8?q?fix:=20cdr/ue=E5=AF=BC=E5=87=BA=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E5=90=8E=E9=94=81=E5=AE=9A=E6=8C=89=E9=92=AE=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E9=98=B2=E9=87=8D=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dashboard/amfUE/index.vue | 1 + src/views/dashboard/imsCDR/index.vue | 1 + src/views/dashboard/mmeUE/index.vue | 1 + src/views/dashboard/sgwcCDR/index.vue | 1 + src/views/dashboard/smfCDR/index.vue | 1 + src/views/dashboard/smscCDR/index.vue | 1 + 6 files changed, 6 insertions(+) diff --git a/src/views/dashboard/amfUE/index.vue b/src/views/dashboard/amfUE/index.vue index 5d6a5cba..4edc10c3 100644 --- a/src/views/dashboard/amfUE/index.vue +++ b/src/views/dashboard/amfUE/index.vue @@ -339,6 +339,7 @@ function fnExportList() { title: t('common.tipTitle'), content: t('views.dashboard.ue.exportTip'), onOk() { + modalState.confirmLoading = true; const hide = message.loading(t('common.loading'), 0); const querys = toRaw(queryParams); querys.pageSize = 10000; diff --git a/src/views/dashboard/imsCDR/index.vue b/src/views/dashboard/imsCDR/index.vue index 61eb8983..c9a64dd5 100644 --- a/src/views/dashboard/imsCDR/index.vue +++ b/src/views/dashboard/imsCDR/index.vue @@ -408,6 +408,7 @@ function fnExportList() { title: t('common.tipTitle'), content: t('views.dashboard.cdr.exportTip'), onOk() { + modalState.confirmLoading = true; const hide = message.loading(t('common.loading'), 0); const querys = toRaw(queryParams); querys.pageSize = 10000; diff --git a/src/views/dashboard/mmeUE/index.vue b/src/views/dashboard/mmeUE/index.vue index d98431df..3d848803 100644 --- a/src/views/dashboard/mmeUE/index.vue +++ b/src/views/dashboard/mmeUE/index.vue @@ -341,6 +341,7 @@ function fnExportList() { title: t('common.tipTitle'), content: t('views.dashboard.ue.exportTip'), onOk() { + modalState.confirmLoading = true; const hide = message.loading(t('common.loading'), 0); const querys = toRaw(queryParams); querys.pageSize = 10000; diff --git a/src/views/dashboard/sgwcCDR/index.vue b/src/views/dashboard/sgwcCDR/index.vue index a1f4cd3f..b00a849e 100644 --- a/src/views/dashboard/sgwcCDR/index.vue +++ b/src/views/dashboard/sgwcCDR/index.vue @@ -378,6 +378,7 @@ function fnExportList() { title: t('common.tipTitle'), content: t('views.dashboard.cdr.exportTip'), onOk() { + modalState.confirmLoading = true; const hide = message.loading(t('common.loading'), 0); const querys = toRaw(queryParams); querys.pageSize = 10000; diff --git a/src/views/dashboard/smfCDR/index.vue b/src/views/dashboard/smfCDR/index.vue index 222e1b47..28975ea6 100644 --- a/src/views/dashboard/smfCDR/index.vue +++ b/src/views/dashboard/smfCDR/index.vue @@ -405,6 +405,7 @@ function fnExportList() { title: t('common.tipTitle'), content: t('views.dashboard.cdr.exportTip'), onOk() { + modalState.confirmLoading = true; const hide = message.loading(t('common.loading'), 0); const querys = toRaw(queryParams); querys.pageSize = 10000; diff --git a/src/views/dashboard/smscCDR/index.vue b/src/views/dashboard/smscCDR/index.vue index 9b3d034e..cac8d744 100644 --- a/src/views/dashboard/smscCDR/index.vue +++ b/src/views/dashboard/smscCDR/index.vue @@ -372,6 +372,7 @@ function fnExportList() { title: t('common.tipTitle'), content: t('views.dashboard.cdr.exportTip'), onOk() { + modalState.confirmLoading = true; const hide = message.loading(t('common.loading'), 0); const querys = toRaw(queryParams); querys.pageSize = 10000; From e075779b9142b7fcfc74ac3ec4678990ffffcd65 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Fri, 29 Aug 2025 18:49:49 +0800 Subject: [PATCH 6/8] =?UTF-8?q?style:=20=E7=BD=91=E5=85=83=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E7=89=88=E6=9C=AC=E6=98=BE=E7=A4=BA=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E6=9C=89=E5=8C=85=E5=AD=98=E5=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/ne/neVersion/index.vue | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/views/ne/neVersion/index.vue b/src/views/ne/neVersion/index.vue index 8242cf65..10a2740a 100644 --- a/src/views/ne/neVersion/index.vue +++ b/src/views/ne/neVersion/index.vue @@ -108,6 +108,7 @@ let tableColumns = ref([ { title: t('views.ne.neVersion.version'), dataIndex: 'version', + key: 'version', align: 'left', width: 150, resizable: true, @@ -605,6 +606,21 @@ onMounted(() => { +