From e3f70640b86bd6066b690dd66cbef8fba9937c06 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 2 Jul 2025 15:27:45 +0800 Subject: [PATCH 01/70] =?UTF-8?q?fix:=20=E8=B7=9F=E8=B8=AA=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=BC=96=E5=8F=B7=E7=9A=84=E4=BC=A0=E5=85=A5=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/traceManage/task/analyze.vue | 4 +++- src/views/traceManage/task/components/TaskInfoIcon.vue | 4 ++-- src/views/traceManage/task/data.vue | 4 +++- src/views/traceManage/task/index.vue | 8 ++++---- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/views/traceManage/task/analyze.vue b/src/views/traceManage/task/analyze.vue index 2e426606..9ebca001 100644 --- a/src/views/traceManage/task/analyze.vue +++ b/src/views/traceManage/task/analyze.vue @@ -31,6 +31,8 @@ const wk = new wkUtil.WK(); /**跟踪编号 */ const traceId = ref(route.query.traceId as string); +/**任务编号 */ +const id = ref(route.query.id as string); /**关闭跳转 */ function fnClose() { @@ -588,7 +590,7 @@ onBeforeUnmount(() => { {{ traceId }} - + diff --git a/src/views/traceManage/task/components/TaskInfoIcon.vue b/src/views/traceManage/task/components/TaskInfoIcon.vue index 093be150..cbebadc5 100644 --- a/src/views/traceManage/task/components/TaskInfoIcon.vue +++ b/src/views/traceManage/task/components/TaskInfoIcon.vue @@ -9,7 +9,7 @@ const { t } = useI18n(); const { getDict } = useDictStore(); const props = defineProps({ - traceId: { + id: { type: [String, Number], required: true, }, @@ -50,7 +50,7 @@ onMounted(() => { }) .finally(() => { // 获取信息 - fnGetTaskInfo(props.traceId); + fnGetTaskInfo(props.id); }); }); diff --git a/src/views/traceManage/task/data.vue b/src/views/traceManage/task/data.vue index ff7d0ddf..00fc8512 100644 --- a/src/views/traceManage/task/data.vue +++ b/src/views/traceManage/task/data.vue @@ -23,6 +23,8 @@ const route = useRoute(); /**跟踪编号 */ const traceId = ref(route.query.traceId as string); +/**任务编号 */ +const id = ref(route.query.id as string); /**关闭跳转 */ function fnClose() { @@ -431,7 +433,7 @@ onMounted(() => { {{ traceId }} - + diff --git a/src/views/traceManage/task/index.vue b/src/views/traceManage/task/index.vue index dbf2eb19..4f9999ca 100644 --- a/src/views/traceManage/task/index.vue +++ b/src/views/traceManage/task/index.vue @@ -592,10 +592,10 @@ function fnModalCancel() { } /**跳转内嵌详情页面 */ -function fnRecordView(traceId: any, type: 'analyze' | 'data') { +function fnRecordView(record: any, type: 'analyze' | 'data') { router.push({ path: `${route.path}${MENU_PATH_INLINE}/${type}`, - query: { traceId }, + query: { traceId: record.traceId, id: record.id }, }); } @@ -795,7 +795,7 @@ onMounted(() => { @@ -808,7 +808,7 @@ onMounted(() => { From 93ea37bbc10509456dd1c356883e80eb23a5cc41 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 2 Jul 2025 18:10:09 +0800 Subject: [PATCH 02/70] =?UTF-8?q?fix:=20SMF-DATA=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=AE=8C=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dashboard/smfCDRByIMSI/index.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/dashboard/smfCDRByIMSI/index.vue b/src/views/dashboard/smfCDRByIMSI/index.vue index 90e45b92..73f606fa 100644 --- a/src/views/dashboard/smfCDRByIMSI/index.vue +++ b/src/views/dashboard/smfCDRByIMSI/index.vue @@ -37,6 +37,7 @@ import { parseSizeFromByte } from '@/utils/parse-utils'; import { message } from 'ant-design-vue'; import useNeListStore from '@/store/modules/ne_list'; import dayjs, { Dayjs } from 'dayjs'; +import { parseDateToStr } from '@/utils/date-utils'; const { t, currentLocale } = useI18n(); const neListStore = useNeListStore(); const ws = new WS(); @@ -381,7 +382,7 @@ function fnRanderChartDataLoad() { break; } // 时间 - const dataTime = item.cdrJSON.invocationTimestamp; + const dataTime = parseDateToStr(item.cdrJSON.invocationTimestamp); const listOfMultipleUnitUsage = item.cdrJSON.listOfMultipleUnitUsage; if ( !Array.isArray(listOfMultipleUnitUsage) || From 8e769a99e9c32af885d2029a18f8f9eb0ac04cc5 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 2 Jul 2025 18:49:16 +0800 Subject: [PATCH 03/70] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DlistCacheKey?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E4=B8=AD=E7=9A=84URL=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/monitor/cache.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/monitor/cache.ts b/src/api/monitor/cache.ts index 37ef06ed..7019498a 100644 --- a/src/api/monitor/cache.ts +++ b/src/api/monitor/cache.ts @@ -29,7 +29,7 @@ export function listCacheName() { */ export function listCacheKey(cacheName: string) { return request({ - url: `/monitor/cache//keys`, + url: `/monitor/cache/keys`, method: 'GET', params: { cacheName }, }); From 799eacc9fa1c35aa843e4a8b25f5cadbc560cbc9 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Sat, 5 Jul 2025 10:17:34 +0800 Subject: [PATCH 04/70] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=202.2507.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98972264..79ed900a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # 版本发布日志 +## 2.2507.1-20250705 + +- 修复 缓存管理列表key查询URL路径错误 +- 优化 SMF-Date显示图表日期显示不完整,改日期格式 +- 修复 跟踪任务编号的传入获取信息不一致 +- 修复 参数配置可见visible属性判断 + ## 2.2506.4-20250627 - 修复 UDM-IMS数据批量新增/批量删除命令调整 From c80e7f17deba0669e648aa086513f42e9e9654bb Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Sat, 5 Jul 2025 10:28:27 +0800 Subject: [PATCH 05/70] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=202.2507.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- .env.production | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env.development b/.env.development index 98a7b1ff..fcaa71d3 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.2506.4" +VITE_APP_VERSION = "2.2507.1" # 接口基础URL地址-不带/后缀 VITE_API_BASE_URL = "/omc-api" diff --git a/.env.production b/.env.production index 98a7b1ff..fcaa71d3 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.2506.4" +VITE_APP_VERSION = "2.2507.1" # 接口基础URL地址-不带/后缀 VITE_API_BASE_URL = "/omc-api" From 2e23709fe4cd23b4b62faffda5df74eabbee779d Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Mon, 7 Jul 2025 10:43:50 +0800 Subject: [PATCH 06/70] =?UTF-8?q?feat:=20HLR=E8=B7=9F=E8=B8=AA=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=A0=87=E8=AF=86=E4=B8=BAUDM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/routers.ts | 2 +- src/views/traceManage/task-hlr/index.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/router/routers.ts b/src/router/routers.ts index 523a82fb..4691b28e 100644 --- a/src/router/routers.ts +++ b/src/router/routers.ts @@ -58,7 +58,7 @@ export const constantRoutes: RouteRecordRaw[] = [ { path: '/trace-task-hlr', name: 'TraceTaskHLR', // 跟踪任务HLR - meta: { title: 'router.traceTaskHLR', neType: ['HLR'] }, + meta: { title: 'router.traceTaskHLR', neType: ['UDM','HLR'] }, component: () => import('@/views/traceManage/task-hlr/index.vue'), }, { diff --git a/src/views/traceManage/task-hlr/index.vue b/src/views/traceManage/task-hlr/index.vue index 581e618e..ffb51333 100644 --- a/src/views/traceManage/task-hlr/index.vue +++ b/src/views/traceManage/task-hlr/index.vue @@ -248,7 +248,7 @@ function fnRecordStop(id: string) { content: t('views.traceManage.task.stopTaskTip', { id }), onOk() { const hide = message.loading(t('common.loading'), 0); - stopTaskHLR({ id }) + stopTaskHLR({ id: `${id}` }) .then(res => { if (res.code === RESULT_CODE_SUCCESS) { message.success({ From a0ae95345cd8b3be65d468c02d3963f13af44e25 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 10 Jul 2025 11:23:27 +0800 Subject: [PATCH 07/70] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4=E5=AE=89?= =?UTF-8?q?=E8=A3=85UE=5FPOOL=E6=94=B9=E5=88=B0=E5=9F=BA=E7=A1=80=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ne/neQuickSetup/components/Para5GForm.vue | 37 ++++++++----------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/src/views/ne/neQuickSetup/components/Para5GForm.vue b/src/views/ne/neQuickSetup/components/Para5GForm.vue index 84032680..b63c2165 100644 --- a/src/views/ne/neQuickSetup/components/Para5GForm.vue +++ b/src/views/ne/neQuickSetup/components/Para5GForm.vue @@ -165,6 +165,21 @@ watch( placeholder="1-65535" > + + + + + @@ -244,28 +259,6 @@ watch( - - - - - - - Date: Thu, 10 Jul 2025 14:30:07 +0800 Subject: [PATCH 08/70] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4=E5=AE=89?= =?UTF-8?q?=E8=A3=85UE=5FPOOL=E6=94=B9=E5=88=B0=E5=9F=BA=E7=A1=80=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/ne/neQuickSetup/components/Para5GForm.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/ne/neQuickSetup/components/Para5GForm.vue b/src/views/ne/neQuickSetup/components/Para5GForm.vue index b63c2165..d6e004ff 100644 --- a/src/views/ne/neQuickSetup/components/Para5GForm.vue +++ b/src/views/ne/neQuickSetup/components/Para5GForm.vue @@ -174,7 +174,7 @@ watch( > From 818f91ad8996546e7e813107f68c9f3674f66977 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 15 Jul 2025 19:47:46 +0800 Subject: [PATCH 09/70] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4nssf/n3iwf?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/neUser/n3iwf.ts | 32 ++++------------------ src/api/neUser/nssf.ts | 32 +++++++++++----------- src/api/neUser/nssfAmf.ts | 43 ------------------------------ src/views/neUser/n3iwf/index.vue | 6 ++--- src/views/neUser/nssf/index.vue | 4 +-- src/views/neUser/nssfAmf/index.vue | 4 +-- 6 files changed, 28 insertions(+), 93 deletions(-) delete mode 100644 src/api/neUser/nssfAmf.ts diff --git a/src/api/neUser/n3iwf.ts b/src/api/neUser/n3iwf.ts index 3e2c4ece..4a028dbd 100644 --- a/src/api/neUser/n3iwf.ts +++ b/src/api/neUser/n3iwf.ts @@ -3,36 +3,14 @@ import { request } from '@/plugins/http-fetch'; import { parseObjLineToHump } from '@/utils/parse-utils'; /** - * 查询列表 - * @param query 查询参数 + * N3IWF-在线订阅用户列表信息 + * @param query 查询参数 {imsi} * @returns object */ -export async function listN3iwf(query: Record) { - const result = await request({ - url: '/api/rest/ueManagement/v1/elementType/n3iwf/objectType/ueInfo', +export function listN3IWFSubList(query: Record) { + return request({ + url: '/neData/n3iwf/sub/list', method: 'GET', params: query, }); - const data = { - data: { total: 0, rows: [] as any }, - code: result.code, - msg: result.msg, - }; - // 解析数据 - if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { - const rows = parseObjLineToHump(result.data.data); - data.data.total = rows.length; - data.data.rows = rows; - } - // 模拟数据 - // data.rows = [ - // { - // "activeTime": "2023-11-29 06:35:43", - // "imsi": "460302072701181", - // "nai": "0460302072701181@nai.epc.mnc030.mcc460.3gppnetwork.org", - // "regState": 1 - // } - // ] - - return data; } diff --git a/src/api/neUser/nssf.ts b/src/api/neUser/nssf.ts index 817c7361..9050bb47 100644 --- a/src/api/neUser/nssf.ts +++ b/src/api/neUser/nssf.ts @@ -3,24 +3,24 @@ import { request } from '@/plugins/http-fetch'; import { parseObjLineToHump } from '@/utils/parse-utils'; /** - * 查询列表 + * NSSF-在线订阅用户列表信息 + * @param query 查询参数 {imsi} * @returns object */ -export async function listNSSF() { - const result = await request({ - url: '/api/rest/ueManagement/v1/elementType/nssf/objectType/subscriptions', +export function listNSSFSubList() { + return request({ + url: '/neData/nssf/sub/list', + method: 'GET', + }); +} + +/** + * NSSF-可用AMF列表信息 + * @returns object + */ +export function listNSSFAmfList() { + return request({ + url: '/neData/nssf/amf/list', method: 'GET', }); - let data = { - data: { total: 0, rows: [] as any }, - code: result.code, - msg: result.msg, - }; - // 解析数据 - if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { - const rows = parseObjLineToHump(result.data.data); - data.data.total = rows.length; - data.data.rows = rows; - } - return data; } diff --git a/src/api/neUser/nssfAmf.ts b/src/api/neUser/nssfAmf.ts deleted file mode 100644 index edf06582..00000000 --- a/src/api/neUser/nssfAmf.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; -import { request } from '@/plugins/http-fetch'; -import { parseObjLineToHump } from '@/utils/parse-utils'; - -/** - * 查询列表 - * @returns object - */ -export async function listNSSFAMF() { - const result = await request({ - url: '/api/rest/ueManagement/v1/elementType/nssf/objectType/availableAMFs', - method: 'GET', - }); - const data = { - data: { total: 0, rows: [] as any }, - code: result.code, - msg: result.msg, - }; - // 解析数据 - if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { - const rows = parseObjLineToHump(result.data.data); - data.data.total = rows.length; - data.data.rows = rows; - } - - // let testData = { - // total:0, - // rows: [ - // { - // nfId: '001', - // amfSetId: '001', - // }, - // { - // nfId: '002', - // amfSetId: '[001,002]', - // }, - // ], - // code: 1, - // msg:'', - // }; - //return testData; - return data; -} diff --git a/src/views/neUser/n3iwf/index.vue b/src/views/neUser/n3iwf/index.vue index e4116adc..5b9e559b 100644 --- a/src/views/neUser/n3iwf/index.vue +++ b/src/views/neUser/n3iwf/index.vue @@ -5,7 +5,7 @@ import { message } from 'ant-design-vue/es'; import { SizeType } from 'ant-design-vue/es/config-provider'; import { MenuInfo } from 'ant-design-vue/es/menu/src/interface'; import { ColumnsType } from 'ant-design-vue/es/table'; -import { listN3iwf } from '@/api/neUser/n3iwf'; +import { listN3IWFSubList } from '@/api/neUser/n3iwf'; import useNeListStore from '@/store/modules/ne_list'; import useI18n from '@/hooks/useI18n'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; @@ -91,10 +91,10 @@ function fnTableSize({ key }: MenuInfo) { function fnGetList() { if (tableState.loading) return; tableState.loading = true; - listN3iwf(toRaw(queryParams)).then(res => { + listN3IWFSubList(toRaw(queryParams)).then(res => { if (res.code === RESULT_CODE_SUCCESS) { const { total, rows } = res.data; - tableState.data = rows; + tableState.data = rows; } else { tableState.data = []; } diff --git a/src/views/neUser/nssf/index.vue b/src/views/neUser/nssf/index.vue index b92b1e52..5b35b893 100644 --- a/src/views/neUser/nssf/index.vue +++ b/src/views/neUser/nssf/index.vue @@ -4,7 +4,7 @@ import { PageContainer } from 'antdv-pro-layout'; import { SizeType } from 'ant-design-vue/es/config-provider'; import { MenuInfo } from 'ant-design-vue/es/menu/src/interface'; import { ColumnsType } from 'ant-design-vue/es/table'; -import { listNSSF } from '@/api/neUser/nssf'; +import { listNSSFSubList } from '@/api/neUser/nssf'; import useI18n from '@/hooks/useI18n'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; const { t } = useI18n(); @@ -63,7 +63,7 @@ function fnTableSize({ key }: MenuInfo) { function fnGetList(pageNum?: number) { if (tableState.loading) return; tableState.loading = true; - listNSSF().then(res => { + listNSSFSubList().then(res => { if (res.code === RESULT_CODE_SUCCESS) { // 取消勾选 if (tableState.selectedRowKeys.length > 0) { diff --git a/src/views/neUser/nssfAmf/index.vue b/src/views/neUser/nssfAmf/index.vue index a8152998..c5092ea3 100644 --- a/src/views/neUser/nssfAmf/index.vue +++ b/src/views/neUser/nssfAmf/index.vue @@ -4,7 +4,7 @@ import { PageContainer } from 'antdv-pro-layout'; import { SizeType } from 'ant-design-vue/es/config-provider'; import { MenuInfo } from 'ant-design-vue/es/menu/src/interface'; import { ColumnsType } from 'ant-design-vue/es/table'; -import { listNSSFAMF } from '@/api/neUser/nssfAmf'; +import { listNSSFAmfList } from '@/api/neUser/nssf'; import useI18n from '@/hooks/useI18n'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; const { t } = useI18n(); @@ -57,7 +57,7 @@ function fnTableSize({ key }: MenuInfo) { function fnGetList(pageNum?: number) { if (tableState.loading) return; tableState.loading = true; - listNSSFAMF().then(res => { + listNSSFAmfList().then(res => { if (res.code === RESULT_CODE_SUCCESS) { // 取消勾选 if (tableState.selectedRowKeys.length > 0) { From 3eae546aa4d546e268e4a55136bc2c7ea0b5db85 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 15 Jul 2025 19:49:18 +0800 Subject: [PATCH 10/70] =?UTF-8?q?fix:=20CDR=E8=BF=94=E5=9B=9E=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/neData/ims.ts | 8 ++++---- src/api/neData/sgwc.ts | 8 ++++---- src/api/neData/smf.ts | 8 ++++---- src/views/dashboard/imsCDR/index.vue | 17 ++++++----------- src/views/dashboard/sgwcCDR/index.vue | 17 ++++++----------- src/views/dashboard/smfCDR/index.vue | 17 ++++++----------- src/views/dashboard/smfCDRByIMSI/index.vue | 5 ++++- src/views/dashboard/smscCDR/index.vue | 17 ++++++----------- 8 files changed, 40 insertions(+), 57 deletions(-) diff --git a/src/api/neData/ims.ts b/src/api/neData/ims.ts index b56486a5..cbefa062 100644 --- a/src/api/neData/ims.ts +++ b/src/api/neData/ims.ts @@ -29,14 +29,14 @@ export function delIMSDataCDR(cdrIds: string | number) { /** * IMS-CDR会话列表导出 - * @param data 查询列表条件 + * @param query 查询列表条件 * @returns object */ -export function exportIMSDataCDR(data: Record) { +export function exportIMSDataCDR(query: Record) { return request({ url: '/neData/ims/cdr/export', - method: 'POST', - data, + method: 'GET', + params: query, responseType: 'blob', timeout: 60_000, }); diff --git a/src/api/neData/sgwc.ts b/src/api/neData/sgwc.ts index 1cb3853f..b7ea17c7 100644 --- a/src/api/neData/sgwc.ts +++ b/src/api/neData/sgwc.ts @@ -29,14 +29,14 @@ export function delSGWCDataCDR(cdrIds: string | number) { /** * SGWC-CDR会话列表导出 - * @param data 查询列表条件 + * @param query 查询列表条件 * @returns object */ -export function exportSGWCDataCDR(data: Record) { +export function exportSGWCDataCDR(query: Record) { return request({ url: '/neData/sgwc/cdr/export', - method: 'POST', - data, + method: 'GET', + params: query, responseType: 'blob', timeout: 60_000, }); diff --git a/src/api/neData/smf.ts b/src/api/neData/smf.ts index 9b87a10f..61f79cea 100644 --- a/src/api/neData/smf.ts +++ b/src/api/neData/smf.ts @@ -29,14 +29,14 @@ export function delSMFDataCDR(cdrIds: string | number) { /** * SMF-CDR会话列表导出 - * @param data 查询列表条件 + * @param query 查询列表条件 * @returns object */ -export function exportSMFDataCDR(data: Record) { +export function exportSMFDataCDR(query: Record) { return request({ url: '/neData/smf/cdr/export', - method: 'POST', - data, + method: 'GET', + params: query, responseType: 'blob', timeout: 60_000, }); diff --git a/src/views/dashboard/imsCDR/index.vue b/src/views/dashboard/imsCDR/index.vue index 6ebe6d06..61eb8983 100644 --- a/src/views/dashboard/imsCDR/index.vue +++ b/src/views/dashboard/imsCDR/index.vue @@ -290,14 +290,11 @@ function fnTableSelectedRowKeys(keys: (string | number)[]) { type ModalStateType = { /**确定按钮 loading */ confirmLoading: boolean; - /**最大ID值 */ - maxId: number; }; /**对话框对象信息状态 */ let modalState: ModalStateType = reactive({ confirmLoading: false, - maxId: 0, }); /** @@ -399,11 +396,6 @@ function fnGetList(pageNum?: number) { return item; }); - - // 取最大值ID用作实时累加 - if (total > 0) { - modalState.maxId = Number(rows[0].id); - } } tableState.loading = false; }); @@ -490,15 +482,18 @@ function wsMessage(res: Record) { // cdrEvent CDR会话事件 if (data.groupId === `1005_${queryParams.neId}`) { const cdrEvent = data.data; + let cdrJSON = {}; + try { + cdrJSON = JSON.parse(cdrEvent.cdrJSON); + } catch (e) {} queue.add(async () => { - modalState.maxId += 1; tableState.data.unshift({ - id: modalState.maxId, + id: cdrEvent.id, neType: cdrEvent.neType, neName: cdrEvent.neName, rmUID: cdrEvent.rmUID, timestamp: cdrEvent.timestamp, - cdrJSON: cdrEvent.CDR, + cdrJSON: cdrJSON, }); tablePagination.total += 1; if (tableState.data.length > 100) { diff --git a/src/views/dashboard/sgwcCDR/index.vue b/src/views/dashboard/sgwcCDR/index.vue index b436d566..a1f4cd3f 100644 --- a/src/views/dashboard/sgwcCDR/index.vue +++ b/src/views/dashboard/sgwcCDR/index.vue @@ -260,14 +260,11 @@ function fnTableSelectedRowKeys(keys: (string | number)[]) { type ModalStateType = { /**确定按钮 loading */ confirmLoading: boolean; - /**最大ID值 */ - maxId: number; }; /**对话框对象信息状态 */ let modalState: ModalStateType = reactive({ confirmLoading: false, - maxId: 0, }); /** @@ -369,11 +366,6 @@ function fnGetList(pageNum?: number) { return item; }); - - // 取最大值ID用作实时累加 - if (total > 0) { - modalState.maxId = Number(rows[0].id); - } } tableState.loading = false; }); @@ -460,15 +452,18 @@ function wsMessage(res: Record) { // cdrEvent CDR会话事件 if (data.groupId === `1008_${queryParams.neId}`) { const cdrEvent = data.data; + let cdrJSON = {}; + try { + cdrJSON = JSON.parse(cdrEvent.cdrJSON); + } catch (e) {} queue.add(async () => { - modalState.maxId += 1; tableState.data.unshift({ - id: modalState.maxId, + id: cdrEvent.id, neType: cdrEvent.neType, neName: cdrEvent.neName, rmUID: cdrEvent.rmUID, timestamp: cdrEvent.timestamp, - cdrJSON: cdrEvent.CDR, + cdrJSON: cdrJSON, }); tablePagination.total += 1; if (tableState.data.length > 100) { diff --git a/src/views/dashboard/smfCDR/index.vue b/src/views/dashboard/smfCDR/index.vue index dee1bde8..222e1b47 100644 --- a/src/views/dashboard/smfCDR/index.vue +++ b/src/views/dashboard/smfCDR/index.vue @@ -287,14 +287,11 @@ function fnTableSelectedRowKeys(keys: (string | number)[]) { type ModalStateType = { /**确定按钮 loading */ confirmLoading: boolean; - /**最大ID值 */ - maxId: number; }; /**对话框对象信息状态 */ let modalState: ModalStateType = reactive({ confirmLoading: false, - maxId: 0, }); /** @@ -396,11 +393,6 @@ function fnGetList(pageNum?: number) { return item; }); - - // 取最大值ID用作实时累加 - if (total > 0) { - modalState.maxId = Number(rows[0].id); - } } tableState.loading = false; }); @@ -487,15 +479,18 @@ function wsMessage(res: Record) { // cdrEvent CDR会话事件 if (data.groupId === `1006_${queryParams.neId}`) { const cdrEvent = data.data; + let cdrJSON = {}; + try { + cdrJSON = JSON.parse(cdrEvent.cdrJSON); + } catch (e) {} queue.add(async () => { - modalState.maxId += 1; tableState.data.unshift({ - id: modalState.maxId, + id: cdrEvent.id, neType: cdrEvent.neType, neName: cdrEvent.neName, rmUID: cdrEvent.rmUID, timestamp: cdrEvent.timestamp, - cdrJSON: cdrEvent.CDR, + cdrJSON: cdrJSON, }); tablePagination.total += 1; if (tableState.data.length > 100) { diff --git a/src/views/dashboard/smfCDRByIMSI/index.vue b/src/views/dashboard/smfCDRByIMSI/index.vue index 73f606fa..3a4ae59a 100644 --- a/src/views/dashboard/smfCDRByIMSI/index.vue +++ b/src/views/dashboard/smfCDRByIMSI/index.vue @@ -505,6 +505,10 @@ function fnRealTime() { // cdrEvent CDR会话事件 if (data.groupId === `1006_${queryParams.neId}`) { const cdrEvent = data.data; + let cdrJSON: any = {}; + try { + cdrJSON = JSON.parse(cdrEvent.cdrJSON); + } catch (e) {} // 对应结束时间内 if (queryParams.endTime) { const endTime = Math.round(queryParams.endTime / 1000); @@ -512,7 +516,6 @@ function fnRealTime() { return; } } - const cdrJSON = cdrEvent.CDR; if (!cdrJSON.invocationTimestamp) { return; } diff --git a/src/views/dashboard/smscCDR/index.vue b/src/views/dashboard/smscCDR/index.vue index 2b17344d..9b3d034e 100644 --- a/src/views/dashboard/smscCDR/index.vue +++ b/src/views/dashboard/smscCDR/index.vue @@ -254,14 +254,11 @@ function fnTableSelectedRowKeys(keys: (string | number)[]) { type ModalStateType = { /**确定按钮 loading */ confirmLoading: boolean; - /**最大ID值 */ - maxId: number; }; /**对话框对象信息状态 */ let modalState: ModalStateType = reactive({ confirmLoading: false, - maxId: 0, }); /** @@ -363,11 +360,6 @@ function fnGetList(pageNum?: number) { return item; }); - - // 取最大值ID用作实时累加 - if (total > 0) { - modalState.maxId = Number(rows[0].id); - } } tableState.loading = false; }); @@ -454,15 +446,18 @@ function wsMessage(res: Record) { // cdrEvent CDR会话事件 if (data.groupId === `1007_${queryParams.neId}`) { const cdrEvent = data.data; + let cdrJSON = {}; + try { + cdrJSON = JSON.parse(cdrEvent.cdrJSON); + } catch (e) {} queue.add(async () => { - modalState.maxId += 1; tableState.data.unshift({ - id: modalState.maxId, + id: cdrEvent.id, neType: cdrEvent.neType, neName: cdrEvent.neName, rmUID: cdrEvent.rmUID, timestamp: cdrEvent.timestamp, - cdrJSON: cdrEvent.CDR, + cdrJSON: cdrJSON, }); tablePagination.total += 1; if (tableState.data.length > 100) { From 27b2cfb449ffd6c2aaff3f0cc23bd5a596e75cee Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 15 Jul 2025 19:50:09 +0800 Subject: [PATCH 11/70] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4MML=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E8=AF=B7=E6=B1=82=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mmlManage/neOperate.ts | 38 ++++++++++-------------- src/api/mmlManage/udmOperate.ts | 38 ++++++++++-------------- src/views/mmlManage/neOperate/index.vue | 14 ++++----- src/views/mmlManage/udmOperate/index.vue | 4 +-- 4 files changed, 39 insertions(+), 55 deletions(-) diff --git a/src/api/mmlManage/neOperate.ts b/src/api/mmlManage/neOperate.ts index 34cb3f2c..a4744380 100644 --- a/src/api/mmlManage/neOperate.ts +++ b/src/api/mmlManage/neOperate.ts @@ -1,6 +1,4 @@ -import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import { request } from '@/plugins/http-fetch'; -import { parseObjLineToHump } from '@/utils/parse-utils'; /** * 查询网元可用cmd命令 @@ -8,22 +6,17 @@ import { parseObjLineToHump } from '@/utils/parse-utils'; * @returns object */ export async function getMMLByNE(neType: string) { - // 发起请求 - const result = await request({ - url: `/api/rest/databaseManagement/v1/elementType/omc_db/objectType/mml_system`, + return request({ + url: '/tool/mml/system/list', method: 'GET', params: { - SQL: `select * from mml_system where ne_type = '${neType}' and status = 'Active'`, + neType: neType, + status: 'Active', + pageNum: 1, + pageSize: 1000, }, + timeout: 60_000, }); - // 解析数据 - if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { - let data = result.data.data[0]; - return Object.assign(result, { - data: parseObjLineToHump(data['mml_system']), - }); - } - return result; } /** @@ -40,16 +33,15 @@ export async function sendMMlByNE( objectType: string, cmdArr: string[] ) { - // 发起请求 - const result = await request({ - url: `/api/rest/operationManagement/v1/elementType/${neType}/objectType/${objectType}?ne_id=${neId}`, + return request({ + url: '/tool/mml/command', method: 'POST', - data: { mml: cmdArr }, + data: { + neType: neType, + neId: neId, + type: objectType, + command: cmdArr, + }, timeout: 180_000, }); - // 解析数据 - if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { - result.data = result.data.data; - } - return result; } diff --git a/src/api/mmlManage/udmOperate.ts b/src/api/mmlManage/udmOperate.ts index 31042eae..5fa50452 100644 --- a/src/api/mmlManage/udmOperate.ts +++ b/src/api/mmlManage/udmOperate.ts @@ -1,28 +1,21 @@ -import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import { request } from '@/plugins/http-fetch'; -import { parseObjLineToHump } from '@/utils/parse-utils'; /** * 查询UDM可用cmd命令 * @returns object */ export async function getMMLByUDM() { - // 发起请求 - const result = await request({ - url: `/api/rest/databaseManagement/v1/elementType/omc_db/objectType/mml_subscriber`, + return request({ + url: '/tool/mml/subscriber/list', method: 'GET', params: { - SQL: `select * from mml_subscriber where ne_type = 'UDM' and status = 'Active'`, + neType: 'UDM', + status: 'Active', + pageNum: 1, + pageSize: 1000, }, + timeout: 60_000, }); - // 解析数据 - if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { - let data = result.data.data[0]; - return Object.assign(result, { - data: parseObjLineToHump(data['mml_subscriber']), - }); - } - return result; } /** @@ -32,16 +25,15 @@ export async function getMMLByUDM() { * @returns */ export async function sendMMlByUDM(neId: string, cmdArr: string[]) { - // 发起请求 - const result = await request({ - url: `/api/rest/operationManagement/v1/elementType/UDM/objectType/mml?ne_id=${neId}`, + return request({ + url: '/tool/mml/command', method: 'POST', - data: { mml: cmdArr }, + data: { + neType: 'UDM', + neId: neId, + type: 'General', + command: cmdArr, + }, timeout: 180_000, }); - // 解析数据 - if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { - result.data = result.data.data; - } - return result; } diff --git a/src/views/mmlManage/neOperate/index.vue b/src/views/mmlManage/neOperate/index.vue index 714b3fab..3dec8ee2 100644 --- a/src/views/mmlManage/neOperate/index.vue +++ b/src/views/mmlManage/neOperate/index.vue @@ -48,7 +48,7 @@ let state: StateType = reactive({ key: '', operation: '', object: '', - objectType: 'mml', + objectType: 'General', param: [], }, from: { @@ -103,7 +103,7 @@ function fnCleanFrom() { key: '', operation: '', object: '', - objectType: 'mml', + objectType: 'General', param: [], }; state.from = {}; @@ -342,7 +342,7 @@ function fnNeChange(keys: any, _: any) { key: '', operation: '', object: '', - objectType: 'mml', + objectType: 'General', param: {}, }; fnGetList(); @@ -354,12 +354,12 @@ function fnGetList() { const neType = state.neType[0]; state.mmlNeType = neType; getMMLByNE(neType).then(res => { - if (res.code === RESULT_CODE_SUCCESS) { + if (res.code === RESULT_CODE_SUCCESS && res.data) { // 构建自动完成筛选结构 const autoCompleteArr: Record[] = []; // 构建树结构 const treeArr: Record[] = []; - for (const item of res.data) { + for (const item of res.data.rows) { const id = item['id']; const object = item['object']; const objectType = item['objectType']; @@ -680,10 +680,10 @@ onMounted(() => { v-model:value="state.mmlSelect.objectType" style="width: 20%" > - + {{ t('views.mmlManage.neOperate.mml') }} - + {{ t('views.mmlManage.neOperate.mml2') }} diff --git a/src/views/mmlManage/udmOperate/index.vue b/src/views/mmlManage/udmOperate/index.vue index 2fa177e4..4805a7f4 100644 --- a/src/views/mmlManage/udmOperate/index.vue +++ b/src/views/mmlManage/udmOperate/index.vue @@ -342,12 +342,12 @@ function ruleVerification( /**查询可选命令列表 */ function fnGetList() { getMMLByUDM().then(res => { - if (res.code === RESULT_CODE_SUCCESS) { + if (res.code === RESULT_CODE_SUCCESS && res.data) { // 构建自动完成筛选结构 const autoCompleteArr: Record[] = []; // 构建树结构 const treeArr: Record[] = []; - for (const item of res.data) { + for (const item of res.data.rows) { const id = item['id']; const object = item['object']; const operation = item['operation']; From dd9bcaa7ce57a5b90579d0b0704ac7e7e0955db4 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 15 Jul 2025 19:51:20 +0800 Subject: [PATCH 12/70] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E7=B1=BB=E5=9E=8B=E5=8F=82=E6=95=B0=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/faultManage/actAlarm.ts | 2 +- src/api/logManage/security.ts | 71 ------------------- src/views/faultManage/active-alarm/index.vue | 6 +- src/views/faultManage/history-alarm/index.vue | 6 +- 4 files changed, 7 insertions(+), 78 deletions(-) delete mode 100644 src/api/logManage/security.ts diff --git a/src/api/faultManage/actAlarm.ts b/src/api/faultManage/actAlarm.ts index 210d9023..3b2743a4 100644 --- a/src/api/faultManage/actAlarm.ts +++ b/src/api/faultManage/actAlarm.ts @@ -12,7 +12,7 @@ export async function getActiveAlarmTotal() { url: `/neData/alarm/list`, method: 'GET', params: { - alarmStatus: '1', + alarmStatus: 'Active', sortField: 'event_time', sortOrder: 'desc', pageNum: 1, diff --git a/src/api/logManage/security.ts b/src/api/logManage/security.ts deleted file mode 100644 index 4a1448b2..00000000 --- a/src/api/logManage/security.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; -import { request } from '@/plugins/http-fetch'; -import { parseObjLineToHump } from '@/utils/parse-utils'; - -/** - * 查询日志列表 - * @param query 查询参数 - * @returns object - */ -export async function listSecurityLog(query: Record) { - let totalSQL = 'select count(*) as total from security_log where 1=1 '; - let rowsSQL = 'select * from security_log where 1=1 '; - - // 查询 - let querySQL = ''; - if (query.accountName) { - querySQL += ` and account_name like '%${query.accountName}%' `; - } - if (query.opType) { - querySQL += ` and op_type = '${query.opType}' `; - } - if (query.beginTime) { - querySQL += ` and op_time >= '${query.beginTime}' `; - } - if (query.endTime) { - querySQL += ` and op_time <= '${query.endTime}' `; - } - - // 排序 - let sortSql = ' order by op_time '; - if (query.sortOrder === 'asc') { - sortSql += ' asc '; - } else { - sortSql += ' desc '; - } - - // 分页 - const pageNum = (query.pageNum - 1) * query.pageSize; - const limtSql = ` limit ${pageNum},${query.pageSize} `; - - // 发起请求 - const result = await request({ - url: `/api/rest/databaseManagement/v1/select/omc_db/security_log`, - method: 'GET', - params: { - totalSQL: totalSQL + querySQL, - rowsSQL: rowsSQL + querySQL + sortSql + limtSql, - }, - }); - - // 解析数据 - if (result.code === RESULT_CODE_SUCCESS) { - const data = { - data: { total: 0, rows: [] as any }, - code: result.code, - msg: result.msg, - }; - result.data.data.forEach((item: any) => { - const itemData = item['security_log']; - if (Array.isArray(itemData)) { - if (itemData.length === 1 && itemData[0]['total'] >= 0) { - data.data.total = itemData[0]['total']; - } else { - data.data.rows = itemData.map(v => parseObjLineToHump(v)); - } - } - }); - return data; - } - return result; -} diff --git a/src/views/faultManage/active-alarm/index.vue b/src/views/faultManage/active-alarm/index.vue index bce1180d..7d9efbd9 100644 --- a/src/views/faultManage/active-alarm/index.vue +++ b/src/views/faultManage/active-alarm/index.vue @@ -70,7 +70,7 @@ let rangePickerPresets = ref([ /**查询参数 */ let queryParams = reactive({ - alarmStatus: 1, + alarmStatus: 'Active', sortField: 'event_time', sortOrder: 'desc', /**告警设备类型 */ @@ -102,7 +102,7 @@ let queryParams = reactive({ /**查询参数重置 */ function fnQueryReset() { queryParams = Object.assign(queryParams, { - alarmStatus: 1, + alarmStatus: 'Active', /**告警设备类型 */ neType: '', /**告警网元名称 */ @@ -386,7 +386,7 @@ let modalState: ModalStateType = reactive({ objectName: '', locationInfo: '', province: '', - alarmStatus: '', + alarmStatus: 'Active', specificProblemId: '', specificProblem: '', addInfo: '', diff --git a/src/views/faultManage/history-alarm/index.vue b/src/views/faultManage/history-alarm/index.vue index 3c085bb5..7833ac68 100644 --- a/src/views/faultManage/history-alarm/index.vue +++ b/src/views/faultManage/history-alarm/index.vue @@ -61,7 +61,7 @@ let rangePickerPresets = ref([ /**查询参数 */ let queryParams = reactive({ - alarmStatus: 0, + alarmStatus: 'Clear', sortField: 'event_time', sortOrder: 'desc', /**告警设备类型 */ @@ -91,7 +91,7 @@ let queryParams = reactive({ /**查询参数重置 */ function fnQueryReset() { queryParams = Object.assign(queryParams, { - alarmStatus: 0, + alarmStatus: 'Clear', /**告警设备类型 */ neType: '', /**告警网元名称 */ @@ -317,7 +317,7 @@ let modalState: ModalStateType = reactive({ objectName: '', locationInfo: '', province: '', - alarmStatus: '', + alarmStatus: 'Clear', specificProblemId: '', specificProblem: '', addInfo: '', From 73993eb4ce30f325453c82503378dcd523639817 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 15 Jul 2025 19:51:54 +0800 Subject: [PATCH 13/70] =?UTF-8?q?fix:=20=E5=8F=82=E6=95=B0=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=88=97=E8=A1=A8=E9=A1=B9=E4=B8=8D=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=8B=BE=E9=80=89=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/ne/neConfig/index.vue | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/views/ne/neConfig/index.vue b/src/views/ne/neConfig/index.vue index 6633e02e..c7560ca6 100644 --- a/src/views/ne/neConfig/index.vue +++ b/src/views/ne/neConfig/index.vue @@ -652,7 +652,6 @@ onMounted(() => { @@ -795,7 +794,6 @@ onMounted(() => { Date: Tue, 15 Jul 2025 19:52:38 +0800 Subject: [PATCH 14/70] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4UE=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=BF=94=E5=9B=9E=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/neData/amf.ts | 8 ++-- src/api/neData/mme.ts | 8 ++-- src/views/dashboard/amfUE/index.vue | 14 +++--- src/views/dashboard/mmeUE/index.vue | 16 +++---- .../components/UserActivity/index.vue | 48 ++++++++----------- 5 files changed, 42 insertions(+), 52 deletions(-) diff --git a/src/api/neData/amf.ts b/src/api/neData/amf.ts index 77895799..824c2bb4 100644 --- a/src/api/neData/amf.ts +++ b/src/api/neData/amf.ts @@ -29,14 +29,14 @@ export function delAMFDataUE(ueIds: string | number) { /** * AMF-UE会话列表导出 - * @param data 查询列表条件 + * @param query 查询列表条件 * @returns object */ -export function exportAMFDataUE(data: Record) { +export function exportAMFDataUE(query: Record) { return request({ url: '/neData/amf/ue/export', - method: 'POST', - data, + method: 'GET', + params: query, responseType: 'blob', timeout: 60_000, }); diff --git a/src/api/neData/mme.ts b/src/api/neData/mme.ts index 6b1bbe3b..de5f63f9 100644 --- a/src/api/neData/mme.ts +++ b/src/api/neData/mme.ts @@ -29,14 +29,14 @@ export function delMMEDataUE(ueIds: string | number) { /** * MME-UE会话列表导出 - * @param data 查询列表条件 + * @param query 查询列表条件 * @returns object */ -export function exportMMEDataUE(data: Record) { +export function exportMMEDataUE(query: Record) { return request({ url: '/neData/mme/ue/export', - method: 'POST', - data, + method: 'GET', + params: query, responseType: 'blob', timeout: 60_000, }); diff --git a/src/views/dashboard/amfUE/index.vue b/src/views/dashboard/amfUE/index.vue index 27a5c1b9..5d6a5cba 100644 --- a/src/views/dashboard/amfUE/index.vue +++ b/src/views/dashboard/amfUE/index.vue @@ -174,7 +174,7 @@ let tableColumns: ColumnsType = [ if (record?.time) { return record.time; } - return parseDateToStr(+record.timestamp * 1000); + return parseDateToStr(record.timestamp); }, }, { @@ -685,16 +685,16 @@ onBeforeUnmount(() => {