fix: 看板拓扑网元状态移动index统一ws
This commit is contained in:
@@ -14,9 +14,7 @@ import {
|
|||||||
notNeNodes,
|
notNeNodes,
|
||||||
} from '../../hooks/useTopology';
|
} from '../../hooks/useTopology';
|
||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import useWS from '../../hooks/useWS';
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const { wsSend } = useWS();
|
|
||||||
|
|
||||||
/**图DOM节点实例对象 */
|
/**图DOM节点实例对象 */
|
||||||
const graphG6Dom = ref<HTMLElement | undefined>(undefined);
|
const graphG6Dom = ref<HTMLElement | undefined>(undefined);
|
||||||
@@ -239,41 +237,12 @@ function fnGraphDataLoad(reload: boolean = false) {
|
|||||||
} else {
|
} else {
|
||||||
handleRanderGraph(graphG6Dom.value, graphState.data);
|
handleRanderGraph(graphG6Dom.value, graphState.data);
|
||||||
}
|
}
|
||||||
fnGetState(); // 获取网元状态
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**网元状态定时器 */
|
|
||||||
const stateTimeout = ref<any>(null);
|
|
||||||
|
|
||||||
/**查询网元状态 */
|
|
||||||
async function fnGetState() {
|
|
||||||
clearTimeout(stateTimeout.value);
|
|
||||||
// 获取节点状态
|
|
||||||
for (const node of graphState.data.nodes) {
|
|
||||||
if (notNeNodes.includes(node.id)) continue;
|
|
||||||
const { neType, neId } = node.neInfo;
|
|
||||||
if (!neType || !neId) continue;
|
|
||||||
wsSend({
|
|
||||||
requestId: `neState_${neType}_${neId}`,
|
|
||||||
type: 'ne_state',
|
|
||||||
data: {
|
|
||||||
neType: neType,
|
|
||||||
neId: neId,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
stateTimeout.value = setTimeout(() => fnGetState(), 10_000);
|
|
||||||
}
|
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
fnGraphDataLoad(false);
|
fnGraphDataLoad(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
|
||||||
clearTimeout(stateTimeout.value);
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import { listSub } from '@/api/neUser/sub';
|
|||||||
import { listUENum } from '@/api/neUser/ue';
|
import { listUENum } from '@/api/neUser/ue';
|
||||||
import { listBase5G } from '@/api/neUser/base5G';
|
import { listBase5G } from '@/api/neUser/base5G';
|
||||||
|
|
||||||
import { graphNodeClickID } from './hooks/useTopology';
|
import { graphNodeClickID, graphState, notNeNodes } from './hooks/useTopology';
|
||||||
import { upfTotalFlow, upfTFActive } from './hooks/useUPFTotalFlow';
|
import { upfTotalFlow, upfTFActive } from './hooks/useUPFTotalFlow';
|
||||||
import { useFullscreen } from '@vueuse/core';
|
import { useFullscreen } from '@vueuse/core';
|
||||||
import useWS from './hooks/useWS';
|
import useWS from './hooks/useWS';
|
||||||
@@ -46,6 +46,50 @@ const { isFullscreen, toggle } = useFullscreen(viewportDom);
|
|||||||
/**10s调度器 */
|
/**10s调度器 */
|
||||||
const stateInterval = ref<any>(null);
|
const stateInterval = ref<any>(null);
|
||||||
|
|
||||||
|
/**网元状态定时器 */
|
||||||
|
const stateTimeout = ref<any>(null);
|
||||||
|
|
||||||
|
/**查询网元状态 */
|
||||||
|
async function fnGetState() {
|
||||||
|
clearTimeout(stateTimeout.value);
|
||||||
|
// 获取节点状态
|
||||||
|
for (const node of graphState.data.nodes) {
|
||||||
|
if (notNeNodes.includes(node.id)) continue;
|
||||||
|
const { neType, neId } = node.neInfo;
|
||||||
|
if (!neType || !neId) continue;
|
||||||
|
wsSend({
|
||||||
|
requestId: `neState_${neType}_${neId}`,
|
||||||
|
type: 'ne_state',
|
||||||
|
data: {
|
||||||
|
neType: neType,
|
||||||
|
neId: neId,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
stateTimeout.value = setTimeout(() => fnGetState(), 5_000);
|
||||||
|
}
|
||||||
|
|
||||||
|
function InitData() {
|
||||||
|
cdrEventSend();
|
||||||
|
ueEventSend();
|
||||||
|
upfTFSend(0);
|
||||||
|
upfTFSend(7);
|
||||||
|
upfTFSend(30);
|
||||||
|
fnGetState(); // 获取网元状态
|
||||||
|
|
||||||
|
stateInterval.value = setInterval(() => {
|
||||||
|
upfTFActive.value = upfTFActive.value >= 2 ? 0 : upfTFActive.value + 1;
|
||||||
|
if (upfTFActive.value === 0) {
|
||||||
|
upfTFSend(7);
|
||||||
|
} else if (upfTFActive.value === 1) {
|
||||||
|
upfTFSend(30);
|
||||||
|
} else if (upfTFActive.value === 2) {
|
||||||
|
upfTFSend(0);
|
||||||
|
}
|
||||||
|
}, 10_000);
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
Promise.allSettled([
|
Promise.allSettled([
|
||||||
listSub({
|
listSub({
|
||||||
@@ -86,26 +130,12 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
cdrEventSend();
|
InitData();
|
||||||
ueEventSend();
|
|
||||||
upfTFSend(0);
|
|
||||||
upfTFSend(7);
|
|
||||||
upfTFSend(30);
|
|
||||||
|
|
||||||
stateInterval.value = setInterval(() => {
|
|
||||||
upfTFActive.value = upfTFActive.value >= 2 ? 0 : upfTFActive.value + 1;
|
|
||||||
if (upfTFActive.value === 0) {
|
|
||||||
upfTFSend(7);
|
|
||||||
} else if (upfTFActive.value === 1) {
|
|
||||||
upfTFSend(30);
|
|
||||||
} else if (upfTFActive.value === 2) {
|
|
||||||
upfTFSend(0);
|
|
||||||
}
|
|
||||||
}, 10_000);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
|
clearTimeout(stateTimeout.value);
|
||||||
clearTimeout(stateInterval.value);
|
clearTimeout(stateInterval.value);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user