From 1514e65df4bd253de4c0f53fd0a7933eddbeb629 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 26 Mar 2025 16:32:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20KPI=E6=80=BB=E8=A7=88=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=8C=87=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/perfManage/kpiOverView/index.vue | 54 +++++++++++++++------- 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/src/views/perfManage/kpiOverView/index.vue b/src/views/perfManage/kpiOverView/index.vue index 5c43a449..1788706f 100644 --- a/src/views/perfManage/kpiOverView/index.vue +++ b/src/views/perfManage/kpiOverView/index.vue @@ -42,7 +42,7 @@ interface ChartDataItem { const tableLoading = ref(false); const rangeLoading = ref(false); //网元类型定义 -const ALL_NE_TYPES = ['AMF', 'SMF', 'UPF', 'MME', 'IMS', 'SMSC'] as const; +const ALL_NE_TYPES = ['AMF', 'UPF', 'IMS'] as const; type NeType = (typeof ALL_NE_TYPES)[number]; echarts.use([ @@ -119,12 +119,16 @@ const toggleRealtime = () => { // 定义要筛选的指标 ID,按网元类型组织 const TARGET_KPI_IDS: Record = { - AMF: ['AMF.02', 'AMF.03', 'AMF.A.07', 'AMF.A.08'], - SMF: ['SMF.02', 'SMF.03', 'SMF.04', 'SMF.05'], - UPF: ['UPF.03', 'UPF.04', 'UPF.05', 'UPF.06'], - MME: ['MME.A.01', 'MME.A.02', 'MME.A.03'], - IMS: ['SCSCF.01', 'SCSCF.02', 'SCSCF.05', 'SCSCF.06'], - SMSC: ['SMSC.A.01', 'SMSC.A.02', 'SMSC.A.03'], + AMF: ['AMF.02', 'AMF.03'], + UPF: ['UPF.04', 'UPF.05'], + IMS: ['SCSCF.03', 'SCSCF.04', 'SCSCF.05', 'SCSCF.06', 'SCSCF.07', 'SCSCF.08'], + + // AMF: ['AMF.02', 'AMF.03', 'AMF.A.07', 'AMF.A.08'], + // SMF: ['SMF.02', 'SMF.03', 'SMF.04', 'SMF.05'], + // UPF: ['UPF.03', 'UPF.04', 'UPF.05', 'UPF.06'], + // MME: ['MME.A.01', 'MME.A.02', 'MME.A.03'], + // IMS: ['SCSCF.01', 'SCSCF.02', 'SCSCF.05', 'SCSCF.06'], + // SMSC: ['SMSC.A.01', 'SMSC.A.02', 'SMSC.A.03'], }; // 实时数据开关函数 @@ -186,13 +190,15 @@ const wsMessage = (res: Record) => { return; } const { code, data } = res; - if (code === RESULT_CODE_ERROR || !data?.groupId) return; + if (code === RESULT_CODE_ERROR || !data?.groupId) { + tableLoading.value = false; + return; + } handleWebSocketMessage(data.data); }; // 添加数据处理函数 const processChartData = (rawData: any[]) => { const groupedData = new Map(); //数据按时间分组 - rawData.forEach(item => { //合并相同时间点的数据 const timeKey = item.timeGroup; @@ -755,7 +761,22 @@ const kpiStats = ref([]); // 添加一个计算函数来更新统计数据 const updateKpiStats = () => { if (!chartData.value.length || !kpiColumns.value.length) { - kpiStats.value = []; + kpiStats.value = selectedKPIs.value.map(kpiId => { + // 找到对应的KPI标题 + let title = kpiId; + const kpi = kpiColumns.value.find(col => col.kpiId === kpiId); + if (kpi) { + title = kpi.title; + } + return { + kpiId: kpiId, + title: title, + max: 0, + min: 0, + avg: 0, + total: 0, + }; + }); return; } kpiStats.value = selectedKPIs.value @@ -983,6 +1004,7 @@ const tableRowConfig = computed(() => {