diff --git a/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts b/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts index bcc22eeb..e0da6a4b 100644 --- a/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts +++ b/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts @@ -6,6 +6,8 @@ type TFType = { up: string; /**下行 N6 */ down: string; + /**请求标记 */ + requestFlag: boolean; }; /**UPF-总流量数 */ @@ -14,14 +16,17 @@ export const upfTotalFlow = ref([ { up: '0 B', down: '0 B', + requestFlag: false, }, { up: '0 B', down: '0 B', + requestFlag: false, }, { up: '0 B', down: '0 B', + requestFlag: false, }, ]); diff --git a/src/views/dashboard/overview/hooks/useWS.ts b/src/views/dashboard/overview/hooks/useWS.ts index 073594ee..aeeb2825 100644 --- a/src/views/dashboard/overview/hooks/useWS.ts +++ b/src/views/dashboard/overview/hooks/useWS.ts @@ -75,16 +75,19 @@ export default function useWS() { const v0 = upfTFParse(data); upfTotalFlow.value[0].up = v0.up; upfTotalFlow.value[0].down = v0.down; + upfTotalFlow.value[0].requestFlag = false; break; case '1030_7': const v7 = upfTFParse(data); upfTotalFlow.value[1].up = v7.up; upfTotalFlow.value[1].down = v7.down; + upfTotalFlow.value[1].requestFlag = false; break; case '1030_30': const v30 = upfTFParse(data); upfTotalFlow.value[2].up = v30.up; upfTotalFlow.value[2].down = v30.down; + upfTotalFlow.value[2].requestFlag = false; break; } @@ -126,6 +129,20 @@ export default function useWS() { /**UPF-总流量数 发消息*/ function upfTFSend(day: 0 | 7 | 30) { + // 请求标记检查避免重复发送 + let index = 0; + if (day === 0) { + index = 0; + } else if (day === 7) { + index = 1; + } else if (day === 30) { + index = 2; + } + if (upfTotalFlow.value[index].requestFlag) { + return; + } + upfTotalFlow.value[index].requestFlag = true; + ws.send({ requestId: `1030_${day}`, type: 'upf_tf', diff --git a/src/views/dashboard/overview/index.vue b/src/views/dashboard/overview/index.vue index 474a2d65..7a53fa95 100644 --- a/src/views/dashboard/overview/index.vue +++ b/src/views/dashboard/overview/index.vue @@ -28,24 +28,24 @@ const appStore = useAppStore(); const { t } = useI18n(); const { wsSend, cdrEventSend, ueEventSend, upfTFSend } = useWS(); -/**用户在线信息 */ -let onlineInfo: { - /**签约用户数量 */ - subNum: number; +/**概览状态类型 */ +type SkimStateType = { + /**UDM签约用户数量 */ + udmSubNum: number; /**SMF在线用户数 */ smfUeNum: number; /**IMS在线用户数 */ imsUeNum: number; /**基站数量 */ nbNum: number; - /**原始严重程度 */ - activeAlarmSeverity: DictType[]; -} = reactive({ - subNum: 0, +}; + +/**概览状态信息 */ +let skimState: SkimStateType = reactive({ + udmSubNum: 0, smfUeNum: 0, imsUeNum: 0, nbNum: 0, - activeAlarmSeverity: [], }); /**总览节点 */ @@ -107,11 +107,9 @@ function InitData() { onMounted(() => { Promise.allSettled([ listSub({ - neid: '003', - sortField: 'imsi', - sortOrder: 'asc', - pageNum: '1', - pageSize: '20', + neid: '001', + pageNum: 1, + pageSize: 1, }), listBase5G({ neType: ['AMF', '001'], @@ -125,7 +123,10 @@ onMounted(() => { ]) .then(resArr => { if (resArr[0].status === 'fulfilled') { - onlineInfo.subNum = resArr[0].value.total; + const res = resArr[0].value; + if (res.code === RESULT_CODE_SUCCESS) { + skimState.udmSubNum = res.total; + } } if ( @@ -133,20 +134,20 @@ onMounted(() => { resArr[1].value.code === RESULT_CODE_SUCCESS && Array.isArray(resArr[1].value.rows) ) { - onlineInfo.nbNum = resArr[1].value.rows.length; + skimState.nbNum = resArr[1].value.rows.length; } if (resArr[2].status === 'fulfilled') { const res = resArr[2].value; if (res.code === RESULT_CODE_SUCCESS) { - onlineInfo.smfUeNum = res.data; + skimState.smfUeNum = res.data; } } if (resArr[3].status === 'fulfilled') { const res = resArr[3].value; if (res.code === RESULT_CODE_SUCCESS) { - onlineInfo.imsUeNum = res.data; + skimState.imsUeNum = res.data; } } }) @@ -181,28 +182,28 @@ onBeforeUnmount(() => {
-

{{ onlineInfo.subNum }}

+

{{ skimState.udmSubNum }}

{{ t('views.dashboard.overview.skim.users') }}
-

{{ onlineInfo.nbNum }}

+

{{ skimState.nbNum }}

{{ t('views.dashboard.overview.skim.base') }}
-

{{ onlineInfo.imsUeNum }}

+

{{ skimState.imsUeNum }}

IMS {{ t('views.dashboard.overview.skim.session') }}
-

{{ onlineInfo.smfUeNum }}

+

{{ skimState.smfUeNum }}

Data {{ t('views.dashboard.overview.skim.session') }}