feat: 看板统计UPF总量10s/避免重复请求
This commit is contained in:
@@ -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(() => {
|
||||
<div class="skim panel">
|
||||
<div class="inner">
|
||||
<div class="item">
|
||||
<h4>{{ onlineInfo.subNum }}</h4>
|
||||
<h4>{{ skimState.udmSubNum }}</h4>
|
||||
<span>
|
||||
<UserOutlined style="color: #006cff" />
|
||||
{{ t('views.dashboard.overview.skim.users') }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h4>{{ onlineInfo.nbNum }}</h4>
|
||||
<h4>{{ skimState.nbNum }}</h4>
|
||||
<span>
|
||||
<GlobalOutlined style="color: #edcb35" />
|
||||
{{ t('views.dashboard.overview.skim.base') }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h4>{{ onlineInfo.imsUeNum }}</h4>
|
||||
<h4>{{ skimState.imsUeNum }}</h4>
|
||||
<span>
|
||||
<UserSwitchOutlined style="color: #6acca3" />
|
||||
IMS {{ t('views.dashboard.overview.skim.session') }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h4>{{ onlineInfo.smfUeNum }}</h4>
|
||||
<h4>{{ skimState.smfUeNum }}</h4>
|
||||
<span>
|
||||
<UserSwitchOutlined style="color: #6acca3" />
|
||||
Data {{ t('views.dashboard.overview.skim.session') }}
|
||||
|
||||
Reference in New Issue
Block a user