From 3a854be8fe7b268be5c90c622095ab5c4de914fd Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 25 Jul 2024 10:50:54 +0800 Subject: [PATCH 01/15] =?UTF-8?q?fix:=20=E6=9F=A5=E8=AF=A2IMS=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E7=94=A8=E6=88=B7=E6=95=B0=E6=8E=A5=E5=8F=A3=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=A0=BC=E5=BC=8F=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/neUser/ims.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/api/neUser/ims.ts b/src/api/neUser/ims.ts index 71c5bf2c..0ead4388 100644 --- a/src/api/neUser/ims.ts +++ b/src/api/neUser/ims.ts @@ -52,9 +52,11 @@ export async function listUENumByIMS(neId: String) { method: 'get', }); if (result.code === RESULT_CODE_SUCCESS) { - return Object.assign(result, { - data: result.data['ueNum'], - }); + let num = result.data['ueNum'] || 0; + if (num === 0) { + num = result.data.data['ueNum'] || 0; + } + return Object.assign(result, { data: num }); } // 模拟数据 From 396fb0b12455c2fc19704e9795e0df296f5ed7bf Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 25 Jul 2024 18:23:28 +0800 Subject: [PATCH 02/15] =?UTF-8?q?fix:=20KPI=E6=8E=A5=E6=94=B6=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E5=AF=B9=E5=BA=94neId=EF=BC=8C=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8D=E6=94=AF=E6=8C=81=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/perfManage/goldTarget/index.vue | 124 ++++++++++------------ 1 file changed, 59 insertions(+), 65 deletions(-) diff --git a/src/views/perfManage/goldTarget/index.vue b/src/views/perfManage/goldTarget/index.vue index 5ce183ff..0dfbc726 100644 --- a/src/views/perfManage/goldTarget/index.vue +++ b/src/views/perfManage/goldTarget/index.vue @@ -254,15 +254,7 @@ function fnGetListTitle() { .then(res => { if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.data)) { tableColumns.value = []; - const columns: ColumnsType = [ - { - title: t('views.perfManage.perfData.neName'), - dataIndex: 'neName', - key: 'neName', - align: 'left', - width: 100, - }, - ]; + const columns: ColumnsType = []; for (const item of res.data) { const kpiDisplay = item[`${language}Title`]; const kpiValue = item[`kpiId`]; @@ -277,6 +269,13 @@ function fnGetListTitle() { maxWidth: 300, }); } + columns.push({ + title: t('views.perfManage.perfData.neName'), + dataIndex: 'neName', + key: 'neName', + align: 'left', + width: 100, + }); columns.push({ title: t('views.perfManage.goldTarget.time'), dataIndex: 'timeGroup', @@ -458,7 +457,7 @@ function fnRanderChartData() { } for (const item of orgData) { - chartDataXAxisData.push(item['timeGroup']); + chartDataXAxisData.push(parseDateToStr(+item['timeGroup'])); const keys = Object.keys(item); for (const y of chartDataYSeriesData) { for (const key of keys) { @@ -505,21 +504,23 @@ function fnLegendSelected(bool: any) { /**图表实时统计 */ function fnRealTimeSwitch(bool: any) { if (bool) { + tableState.seached = false; // 建立链接 const options: OptionsType = { url: '/ws', params: { /**订阅通道组 * - * 指标(GroupID:10) + * 指标(GroupID:10_neType_neId) */ - subGroupID: '10', + subGroupID: `10_${queryParams.neType}_${queryParams.neId}`, }, onmessage: wsMessage, onerror: wsError, }; ws.connect(options); } else { + tableState.seached = true; ws.close(); } } @@ -543,39 +544,40 @@ function wsMessage(res: Record) { return; } // kpiEvent 黄金指标指标事件 - if (data.groupId === '10') { - const kpiEvent = data.data; - // 非对应网元类型 - if (kpiEvent.neType !== queryParams.neType) return; + const kpiEvent = data.data; + tableState.data.unshift(kpiEvent); + tablePagination.total++; - for (const key of Object.keys(data.data)) { - const v = kpiEvent[key]; - // x轴 - if (key === 'timeGroup') { - // chartDataXAxisData.shift(); - chartDataXAxisData.push(v); - continue; - } - // y轴 - const yItem = chartDataYSeriesData.find(item => item.key === key); - if (yItem) { - // yItem.data.shift(); - yItem.data.push(v); - } + // 非对应网元类型 + if (kpiEvent.neType !== queryParams.neType) return; + + for (const key of Object.keys(data.data)) { + const v = kpiEvent[key]; + // x轴 + if (key === 'timeGroup') { + // chartDataXAxisData.shift(); + chartDataXAxisData.push(parseDateToStr(+v)); + continue; + } + // y轴 + const yItem = chartDataYSeriesData.find(item => item.key === key); + if (yItem) { + // yItem.data.shift(); + yItem.data.push(+v); } - - // 绘制图数据 - kpiChart.value.setOption({ - xAxis: { - data: chartDataXAxisData, - }, - series: chartDataYSeriesData, - }); } + + // 绘制图数据 + kpiChart.value.setOption({ + xAxis: { + data: chartDataXAxisData, + }, + series: chartDataYSeriesData, + }); } onMounted(() => { - // 目前支持的 AMF AUSF MME MOCNGW NSSF SMF UDM UPF + // 目前支持的 AMF AUSF MME MOCNGW NSSF SMF UDM UPF PCF // 获取网元网元列表 neInfoStore.fnNelist().then(res => { if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.data)) { @@ -583,15 +585,9 @@ onMounted(() => { // 过滤不可用的网元 neCascaderOptions.value = neInfoStore.getNeCascaderOptions.filter( (item: any) => { - return ![ - 'OMC', - 'PCF', - 'NSSF', - 'NEF', - 'NRF', - 'LMF', - 'N3IWF', - ].includes(item.value); + return !['OMC', 'NSSF', 'NEF', 'NRF', 'LMF', 'N3IWF'].includes( + item.value + ); } ); if (neCascaderOptions.value.length === 0) { @@ -619,9 +615,9 @@ onMounted(() => { // 查询当前小时 const nowDate: Date = new Date(); nowDate.setMinutes(0, 0, 0); - queryRangePicker.value[0] = parseDateToStr(nowDate); + queryRangePicker.value[0] = `${nowDate.getTime()}`; nowDate.setMinutes(59, 59, 59); - queryRangePicker.value[1] = parseDateToStr(nowDate); + queryRangePicker.value[1] = `${nowDate.getTime()}`; fnGetListTitle(); // 绘图 fnRanderChart(); @@ -666,15 +662,17 @@ onBeforeUnmount(() => { + :show-time="{ format: 'HH:mm:ss' }" + format="YYYY-MM-DD HH:mm:ss" + value-format="x" + style="width: 100%" + > @@ -747,15 +745,6 @@ onBeforeUnmount(() => {