fix: 网元状态切换保留List页面状态

This commit is contained in:
TsMask
2025-01-24 20:28:26 +08:00
parent 22e595131c
commit 36de89570f
3 changed files with 16 additions and 34 deletions

View File

@@ -315,11 +315,15 @@ let modalState: ModalStateType = reactive({
openByEdit: false,
title: 'NB Config List',
from: {
index: undefined,
address: '',
index: undefined,
name: '',
nbName: undefined,
offTime: undefined,
onTime: undefined,
position: '',
state: undefined,
ueNum: undefined,
},
confirmLoading: false,
});

View File

@@ -573,7 +573,7 @@ const interval = ref<boolean>(false);
/**递归刷新图状态 */
function repeatFn(reload: boolean = false) {
if (!interval.value) {
if (!interval.value || !graphG6Dom.value) {
return;
}
fnGraphState(reload)

View File

@@ -1,44 +1,17 @@
<script setup lang="ts">
import {
onMounted,
type Component,
defineAsyncComponent,
shallowRef,
ref,
} from 'vue';
import { ref } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import ListComponent from '@/views/ne-data/base-station/components/list.vue';
import TopologyComponent from '@/views/ne-data/base-station/components/topology.vue';
import useI18n from '@/hooks/useI18n';
const { t } = useI18n();
const defineComponent = shallowRef<Component | null>(null);
const value = ref<string>('list');
function fnSwitch(evt: any) {
const name = evt.target?.value;
if (name === 'topology') {
defineComponent.value = defineAsyncComponent(
() => import('@/views/ne-data/base-station/components/topology.vue')
);
}
if (name === 'list') {
defineComponent.value = defineAsyncComponent(
() => import('@/views/ne-data/base-station/components/list.vue')
);
}
}
onMounted(() => {
fnSwitch({ target: { value: 'list' } });
});
</script>
<template>
<PageContainer>
<template #extra>
<a-radio-group
v-model:value="value"
button-style="solid"
@change="fnSwitch"
>
<a-radio-group v-model:value="value" button-style="solid">
<a-radio-button value="list">
{{ t('views.neData.baseStation.list') }}
</a-radio-button>
@@ -48,7 +21,12 @@ onMounted(() => {
</a-radio-group>
</template>
<component :is="defineComponent" />
<div v-show="value === 'list'">
<ListComponent></ListComponent>
</div>
<div v-if="value === 'topology'">
<TopologyComponent></TopologyComponent>
</div>
</PageContainer>
</template>