diff --git a/src/views/dashboard/overview2/index.vue b/src/views/dashboard/overview2/index.vue index 5bdb9c97..77f56b3c 100644 --- a/src/views/dashboard/overview2/index.vue +++ b/src/views/dashboard/overview2/index.vue @@ -32,12 +32,9 @@ import { useRouter } from 'vue-router'; import useNeListStore from '@/store/modules/ne_list'; import { message } from 'ant-design-vue'; import { upfWhoId } from './hooks/useWS'; -import { - listAMFNbStatelist, -} from '@/api/neData/amf'; +import { listAMFNbStatelist } from '@/api/neData/amf'; import { listMMENbStatelist } from '@/api/neData/mme'; - const neListStore = useNeListStore(); const router = useRouter(); const appStore = useAppStore(); @@ -76,7 +73,6 @@ let skimState: SkimStateType = reactive({ enbUeNum: 0, gNbSumNum: 0, eNbSumNum: 0, - }); /**网元参数 */ @@ -99,13 +95,10 @@ function fnGetNeState() { for (const node of graphState.data.nodes) { if (notNeNodes.includes(node.id)) continue; - const neInfoList = node.neInfoList || []; if (neInfoList.length === 0) continue; - for (const neInfo of neInfoList) { - if (!neInfo.neType || !neInfo.neId) continue; wsSend({ @@ -122,28 +115,29 @@ function fnGetNeState() { /**获取概览信息 */ async function fnGetSkim() { - - let tempGnbSumNum = 0; - let tempEnbSumNum = 0; - const neHandlers = new Map([ - [ - 'UDM', - { - request: (neId: string) => listUDMSub({ neId: neId, pageNum: 1, pageSize: 1 }), - process: (res: any) => { - if (res.code === RESULT_CODE_SUCCESS && typeof res.data === 'number') { - skimState.udmSubNum += res.data; - } - }, - }, - ], + // [ + // 'UDM', + // { + // request: (neId: string) => + // listUDMSub({ neId: neId, pageNum: 1, pageSize: 1 }), + // process: (res: any) => + // res.code === RESULT_CODE_SUCCESS && + // (skimState.udmSubNum += res.data.total), + // }, + // ], [ 'SMF', { request: (neId: string) => listSMFSubNum(neId), - process: (res: any) => - res.code === RESULT_CODE_SUCCESS && (skimState.smfUeNum += res.data), + process: (res: any) => { + if ( + res.code === RESULT_CODE_SUCCESS && + typeof res.data === 'number' + ) { + skimState.smfUeNum += res.data; + } + }, }, ], [ @@ -199,10 +193,9 @@ async function fnGetSkim() { const handler = neHandlers.get(child.neType); return handler ? { - promise: handler.request(child.neId), - process: handler.process, - neId: child.neId, // 这里加上neId - } + promise: handler.request(child.neId), + process: handler.process, + } : null; }) .filter(Boolean) || [] @@ -212,7 +205,7 @@ async function fnGetSkim() { // 重置 Object.assign(skimState, { - udmSubNum: 0, + // udmSubNum: 0, smfUeNum: 0, imsUeNum: 0, gnbNum: 0, @@ -220,47 +213,22 @@ async function fnGetSkim() { enbNum: 0, enbUeNum: 0, }); - const processPromises = results.map((result, index) => { - const req = requests[index]; + results.forEach((result, index) => { if (result.status === 'fulfilled') { - return req.process(result.value, req.neId); + requests[index].process(result.value); } else { - return req.process(0, req.neId); + requests[index].process(0); } }); - // 等待所有 process 执行完再赋值gNbSumNum等 - await Promise.all(processPromises); - - skimState.gNbSumNum = tempGnbSumNum; - skimState.eNbSumNum = tempEnbSumNum; - // UDM - // UDM - 使用await确保同步处理 - // try { - // const udmRes = await listUDMSub({ neId: udmNeId.value, pageNum: 1, pageSize: 1 }); - // if (udmRes.code === RESULT_CODE_SUCCESS) { - // skimState.udmSubNum = udmRes.total; - // } else { - // skimState.udmSubNum = 0; - // } - // } catch (error) { - // skimState.udmSubNum = 0; - // } - // UDM - // listUDMSub({ neId: udmNeId.value, pageNum: 1, pageSize: 1 }).then(res => { - // if (res.code === RESULT_CODE_SUCCESS) { - // skimState.udmSubNum = res.data.total; - // } else { - // skimState.udmSubNum = 0; - // } - // }).catch(() => { - // skimState.udmSubNum = 0; - // }); + listUDMSub({ neId: udmNeId.value, pageNum: 1, pageSize: 1 }).then(res => { + if (res.code === RESULT_CODE_SUCCESS) { + skimState.udmSubNum = res.data.total; + } + }); } - - /**初始数据函数 */ function loadData() { fnGetNeState(); // 获取网元状态 @@ -332,11 +300,15 @@ let onlineOtions = ref[]>([]); async function fnSelectUDM(e: any) { udmNeId.value = e.key; try { - const res = await listUDMSub({ neId: udmNeId.value, pageNum: 1, pageSize: 1 }); + const res = await listUDMSub({ + neId: udmNeId.value, + pageNum: 1, + pageSize: 1, + }); // listUDMSub({ neId: udmNeId.value, pageNum: 1, pageSize: 1 }).then(res => { if (res.code === RESULT_CODE_SUCCESS && typeof res.data === 'number') { skimState.udmSubNum = res.data; - }else{ + } else { skimState.udmSubNum = 0; } // }).catch(() => { @@ -360,81 +332,39 @@ const getPopupContainer = () => { }; onMounted(() => { - neListStore - .fnNelist() - .then(res => { - if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.data)) { - if (res.data.length > 0) { - // UPF - let arr: Record[] = []; - res.data.forEach(i => { - if (i.neType === 'UPF') { - arr.push({ value: i.neId, label: i.neName, rmUid: i.rmUid }); - } - }); - neOtions.value = arr; - if (arr.length > 0) { - //queryParams.neRealId = arr[0].value; - fnSelectNe(arr[0].value, arr[0]); - } - //online Ne - let onlineArr: Record[] = []; - - // UDM - let arr1: Record[] = []; - res.data.forEach((v: any) => { - if (v.status && ['UDM', 'UPF', 'AUSF', 'PCF', 'SMF', 'AMF', 'OMC', 'SMSC', 'IMS', 'MME'].includes(v.neType)) { - onlineArr.push({ value: v.neType + '_' + v.neId, label: v.neName, rmUid: v.rmUid }); - } - if (v.neType === 'UDM') { - arr1.push({ value: v.neId, label: v.neName, rmUid: v.rmUid }); - } - }); - udmOtions.value = arr1; - onlineOtions.value = onlineArr; - // if (arr1.length > 0) { - // fnSelectUDM({ key: arr1[0].value }); - // } - // 确保设置正确的udmNeId - if (arr1.length > 0) { - udmNeId.value = arr1[0].value; - } - // 移除单独的fnSelectUDM调用,让fnGetSkim统一处理 - // if (arr1.length > 0) { - // fnSelectUDM({ key: arr1[0].value }); - // } - - if (onlineArr.length > 0) { - fnSelectNeRe({ key: onlineArr[0].value }); - } - - // 过滤不可用的网元 - neCascaderOptions.value = neListStore.getNeCascaderOptions.filter( - (item: any) => { - return ['UDM', 'SMF', 'IMS', 'AMF', 'MME'].includes(item.value); - } - ); - if (neCascaderOptions.value.length === 0) { - message.warning({ - content: t('common.noData'), - duration: 2, - }); - return; - } - } - } else { - message.warning({ - content: t('common.noData'), - duration: 2, - }); - } - }) - .finally(() => { - initFlag = true; - fnGetSkim().then(() => { - loadData(); - }); + // 获取网元网元列表 + neListStore.neCascaderOptions.forEach(item => { + if (item.value === 'UPF') { + neOtions.value = JSON.parse(JSON.stringify(item.children)); + } + if (item.value === 'UDM') { + udmOtions.value = JSON.parse(JSON.stringify(item.children)); + } + }); + if (neOtions.value.length > 0) { + fnSelectNe(neOtions.value[0].value, neOtions.value[0]); + } + if (udmOtions.value.length > 0) { + fnSelectUDM({ key: udmOtions.value[0].value }); + } + // 过滤不可用的网元 + neCascaderOptions.value = neListStore.getNeCascaderOptions.filter( + (item: any) => { + return ['UDM', 'SMF', 'IMS', 'AMF', 'MME'].includes(item.value); + } + ); + if (neCascaderOptions.value.length === 0) { + message.warning({ + content: t('common.noData'), + duration: 2, }); + return; + } + + initFlag = true; + fnGetSkim().then(() => { + loadData(); + }); }); onBeforeUnmount(() => { @@ -449,7 +379,11 @@ onBeforeUnmount(() => {