feat: 添加服务类型适配不同的显示菜单内容

This commit is contained in:
TsMask
2025-08-21 19:49:56 +08:00
parent 7916cc5a54
commit 2319cdf36b
69 changed files with 821 additions and 296 deletions

View File

@@ -11,7 +11,7 @@ import {
RESULT_CODE_SUCCESS,
} from '@/constants/result-constants';
import useDictStore from '@/store/modules/dict';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { listAMFDataUE, delAMFDataUE, exportAMFDataUE } from '@/api/neData/amf';
import { parseDateToStr } from '@/utils/date-utils';
import { OptionsType, WS } from '@/plugins/ws-websocket';
@@ -22,7 +22,7 @@ import { useClipboard } from '@vueuse/core';
const { copy } = useClipboard({ legacy: true });
const { t } = useI18n();
const { getDict } = useDictStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const ws = new WS();
const queue = new PQueue({ concurrency: 1, autoStart: true });
/**网元可选 */
@@ -464,7 +464,7 @@ onMounted(() => {
});
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'AMF') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -11,7 +11,7 @@ import {
RESULT_CODE_SUCCESS,
} from '@/constants/result-constants';
import useDictStore from '@/store/modules/dict';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import {
delIMSDataCDR,
exportIMSDataCDR,
@@ -26,7 +26,7 @@ import dayjs, { type Dayjs } from 'dayjs';
const { copy } = useClipboard({ legacy: true });
const { t } = useI18n();
const { getDict } = useDictStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const ws = new WS();
const queue = new PQueue({ concurrency: 1, autoStart: true });
@@ -523,7 +523,7 @@ onMounted(() => {
});
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'IMS') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -12,7 +12,7 @@ import {
RESULT_CODE_SUCCESS,
} from '@/constants/result-constants';
import useDictStore from '@/store/modules/dict';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { listMMEDataUE, delMMEDataUE, exportMMEDataUE } from '@/api/neData/mme';
import { parseDateToStr } from '@/utils/date-utils';
import { OptionsType, WS } from '@/plugins/ws-websocket';
@@ -22,7 +22,7 @@ import { useClipboard } from '@vueuse/core';
const { copy } = useClipboard({ legacy: true });
const { t } = useI18n();
const { getDict } = useDictStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const ws = new WS();
const queue = new PQueue({ concurrency: 1, autoStart: true });
@@ -472,7 +472,7 @@ onMounted(() => {
});
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'MME') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -27,13 +27,13 @@ import useWS from './hooks/useWS';
import useAppStore from '@/store/modules/app';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { useRouter } from 'vue-router';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { message } from 'ant-design-vue';
import { upfWhoId } from './hooks/useWS';
const router = useRouter();
const appStore = useAppStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
const { wsSend, userActivitySend, upfTFSend, reSendUPF } = useWS();
@@ -292,7 +292,7 @@ const getPopupContainer = () => {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'UPF') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}
@@ -307,7 +307,7 @@ onMounted(() => {
fnSelectUDM({ key: udmOtions.value[0].value });
}
// 过滤不可用的网元
neCascaderOptions.value = neListStore.getNeCascaderOptions.filter(
neCascaderOptions.value = neStore.getNeCascaderOptions.filter(
(item: any) => {
return ['UDM', 'SMF', 'IMS', 'AMF', 'MME'].includes(item.value);
}
@@ -362,7 +362,7 @@ onBeforeUnmount(() => {
<div
class="item toRouter"
:title="t('views.dashboard.overview.toRouter')"
v-if="neListStore.fnHasNe(['udm'])"
v-if="neStore.fnHasNe(['udm'])"
>
<div @click="fnToRouter('UdmSub_2001')">
<UserOutlined
@@ -399,7 +399,7 @@ onBeforeUnmount(() => {
:title="t('views.dashboard.overview.toRouter')"
style="margin: 0 12px"
v-perms:has="['dashboard:overview:imsUeNum']"
v-if="neListStore.fnHasNe(['ims'])"
v-if="neStore.fnHasNe(['ims'])"
>
<div>
<img :src="svgUserIMS" style="width: 18px; margin-right: 8px" />
@@ -414,7 +414,7 @@ onBeforeUnmount(() => {
@click="fnToRouter('SmfSub_2005')"
:title="t('views.dashboard.overview.toRouter')"
v-perms:has="['dashboard:overview:smfUeNum']"
v-if="neListStore.fnHasNe(['smf'])"
v-if="neStore.fnHasNe(['smf'])"
>
<div>
<img :src="svgUserSMF" style="width: 18px; margin-right: 8px" />
@@ -430,7 +430,7 @@ onBeforeUnmount(() => {
<div
class="skim panel base"
v-perms:has="['dashboard:overview:gnbBase']"
v-if="neListStore.fnHasNe(['amf'])"
v-if="neStore.fnHasNe(['amf'])"
>
<div class="inner">
<h3>
@@ -471,7 +471,7 @@ onBeforeUnmount(() => {
<div
class="skim panel base"
v-perms:has="['dashboard:overview:enbBase']"
v-if="neListStore.fnHasNe(['mme'])"
v-if="neStore.fnHasNe(['mme'])"
>
<div class="inner">
<h3>

View File

@@ -29,13 +29,13 @@ import useWS from './hooks/useWS';
import useAppStore from '@/store/modules/app';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { useRouter } from 'vue-router';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { message } from 'ant-design-vue';
import { upfWhoId } from './hooks/useWS';
import { listAMFNbStatelist } from '@/api/neData/amf';
import { listMMENbStatelist } from '@/api/neData/mme';
const neListStore = useNeListStore();
const neStore = useNeStore();
const router = useRouter();
const appStore = useAppStore();
const { t } = useI18n();
@@ -407,7 +407,7 @@ const getPopupContainer = () => {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.getNeCascaderOptions.forEach(item => {
console.log(item)
if (item.value === 'UPF') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
@@ -426,7 +426,7 @@ onMounted(() => {
// fnSelectNeRe({ key: onlineArr[0].value });
// }
// 过滤不可用的网元
neCascaderOptions.value = neListStore.getNeCascaderOptions.filter(
neCascaderOptions.value = neStore.getNeCascaderOptions.filter(
(item: any) => {
return ['UDM', 'SMF', 'IMS', 'AMF', 'MME'].includes(item.value);
}
@@ -443,7 +443,7 @@ onMounted(() => {
let onlineArr: Record<string, any>[] = [];
// UDM
neListStore.neList.forEach((v: any) => {
neStore.list.forEach((v: any) => {
if (
v.status &&
[
@@ -511,7 +511,7 @@ onBeforeUnmount(() => {
<div
class="item toRouter"
:title="t('views.dashboard.overview.toRouter')"
v-if="neListStore.fnHasNe(['udm'])"
v-if="neStore.fnHasNe(['udm'])"
>
<div @click="fnToRouter('UdmSub_2001')">
<UserOutlined
@@ -548,7 +548,7 @@ onBeforeUnmount(() => {
:title="t('views.dashboard.overview.toRouter')"
style="margin: 0 12px"
v-perms:has="['dashboard:overview:imsUeNum']"
v-if="neListStore.fnHasNe(['ims'])"
v-if="neStore.fnHasNe(['ims'])"
>
<div>
<img :src="svgUserIMS" style="width: 18px; margin-right: 8px" />
@@ -563,7 +563,7 @@ onBeforeUnmount(() => {
@click="fnToRouter('SmfSub_2005')"
:title="t('views.dashboard.overview.toRouter')"
v-perms:has="['dashboard:overview:smfUeNum']"
v-if="neListStore.fnHasNe(['smf'])"
v-if="neStore.fnHasNe(['smf'])"
>
<div>
<img :src="svgUserSMF" style="width: 18px; margin-right: 8px" />
@@ -679,7 +679,7 @@ onBeforeUnmount(() => {
<div
class="skim panel base"
v-perms:has="['dashboard:overview:gnbBase']"
v-if="neListStore.fnHasNe(['amf'])"
v-if="neStore.fnHasNe(['amf'])"
>
<div class="inner">
<h3 class="leftright">
@@ -737,7 +737,7 @@ onBeforeUnmount(() => {
<div
class="skim panel base"
v-perms:has="['dashboard:overview:enbBase']"
v-if="neListStore.fnHasNe(['mme'])"
v-if="neStore.fnHasNe(['mme'])"
>
<div class="inner">
<h3></h3>

View File

@@ -5,7 +5,7 @@ import { Modal, message } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import {
RESULT_CODE_ERROR,
@@ -23,7 +23,7 @@ import saveAs from 'file-saver';
import { useClipboard } from '@vueuse/core';
const { copy } = useClipboard({ legacy: true });
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
const ws = new WS();
const queue = new PQueue({ concurrency: 1, autoStart: true });
@@ -476,7 +476,7 @@ function wsMessage(res: Record<string, any>) {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'SGWC') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -5,7 +5,7 @@ import { Modal, message } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import {
RESULT_CODE_ERROR,
@@ -23,7 +23,7 @@ import dayjs, { type Dayjs } from 'dayjs';
import { useClipboard } from '@vueuse/core';
const { copy } = useClipboard({ legacy: true });
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
const ws = new WS();
const queue = new PQueue({ concurrency: 1, autoStart: true });
@@ -503,7 +503,7 @@ function wsMessage(res: Record<string, any>) {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'SMF') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -35,11 +35,11 @@ import {
} from '@/constants/result-constants';
import { parseSizeFromByte } from '@/utils/parse-utils';
import { message } from 'ant-design-vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import dayjs, { Dayjs } from 'dayjs';
import { parseDateToStr } from '@/utils/date-utils';
const { t, currentLocale } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
const ws = new WS();
/**图DOM节点实例对象 */
@@ -563,7 +563,7 @@ function fnRealTime() {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'SMF') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -11,7 +11,7 @@ import {
RESULT_CODE_ERROR,
RESULT_CODE_SUCCESS,
} from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import {
delSMSCDataCDR,
exportSMSCDataCDR,
@@ -26,7 +26,7 @@ import { hasPermissions } from '@/plugins/auth-user';
import dayjs, { type Dayjs } from 'dayjs';
const { copy } = useClipboard({ legacy: true });
const { getDict } = useDictStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
const ws = new WS();
const queue = new PQueue({ concurrency: 1, autoStart: true });
@@ -477,7 +477,7 @@ onMounted(() => {
});
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'SMSC') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -17,7 +17,7 @@ import {
exportAlarm,
} from '@/api/faultManage/actAlarm';
import useI18n from '@/hooks/useI18n';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useDictStore from '@/store/modules/dict';
import saveAs from 'file-saver';
import TableColumnsDnd from '@/components/TableColumnsDnd/index.vue';
@@ -26,7 +26,7 @@ import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { readLoalXlsx } from '@/utils/execl-utils';
import { parseDateToStr } from '@/utils/date-utils';
import dayjs, { type Dayjs } from 'dayjs';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { getDict } = useDictStore();
const { t, currentLocale } = useI18n();
@@ -861,7 +861,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('views.ne.common.neTypePlease')"
/>
@@ -1362,7 +1362,7 @@ onMounted(() => {
>
<a-auto-complete
v-model:value="modalState.showSetFrom.ne_type"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('common.inputPlease')"
/>

View File

@@ -8,14 +8,14 @@ import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import { listAct, exportAll } from '@/api/faultManage/eventAlarm';
import useI18n from '@/hooks/useI18n';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import saveAs from 'file-saver';
import TableColumnsDnd from '@/components/TableColumnsDnd/index.vue';
import { writeSheet } from '@/utils/execl-utils';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { parseDateToStr } from '@/utils/date-utils';
import dayjs, { type Dayjs } from 'dayjs';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
/**表格字段列排序 */
@@ -453,7 +453,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('views.ne.common.neTypePlease')"
/>

View File

@@ -14,13 +14,13 @@ import {
import { listAct, exportAlarm } from '@/api/faultManage/actAlarm';
import useI18n from '@/hooks/useI18n';
import useDictStore from '@/store/modules/dict';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import saveAs from 'file-saver';
import { writeSheet } from '@/utils/execl-utils';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { parseDateToStr } from '@/utils/date-utils';
import dayjs, { type Dayjs } from 'dayjs';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { getDict } = useDictStore();
const { t } = useI18n();
@@ -660,7 +660,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('views.ne.common.neTypePlease')"
/>

View File

@@ -7,13 +7,13 @@ import { ColumnsType } from 'ant-design-vue/es/table';
import { parseDateToStr } from '@/utils/date-utils';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { listAlarm } from '@/api/logManage/alarm';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useDictStore from '@/store/modules/dict';
import useI18n from '@/hooks/useI18n';
import dayjs, { type Dayjs } from 'dayjs';
const neStore = useNeStore();
const { getDict } = useDictStore();
const { t } = useI18n();
const neListStore = useNeListStore();
/**字典数据 */
let dict: {
/**告警状态 */
@@ -298,7 +298,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
:placeholder="t('views.ne.common.neTypePlease')"
allow-clear
/>

View File

@@ -8,13 +8,13 @@ import BackupModal from '@/views/ne/neConfigBackup/components/BackupModal.vue';
import { parseDateToStr } from '@/utils/date-utils';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useI18n from '@/hooks/useI18n';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import saveAs from 'file-saver';
import { delFile, getFile, listFile } from '@/api/tool/file';
import { parseSizeFromFile } from '@/utils/parse-utils';
import { pushBackupFTP } from '@/api/neData/backup';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**文件来源 */
let sourceState = reactive({
@@ -318,7 +318,7 @@ function fnSyncFileToFTP(fileName: string) {
onMounted(() => {
sourceState.list = sourceState.list.filter(item => {
if (!item.neType) return true;
return neListStore.fnHasNe([item.neType]);
return neStore.fnHasNe([item.neType]);
});
});
</script>

View File

@@ -7,13 +7,13 @@ import { ColumnsType } from 'ant-design-vue/es/table';
import { parseDateToStr } from '@/utils/date-utils';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { listForwarding } from '@/api/logManage/forwarding';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useDictStore from '@/store/modules/dict';
import useI18n from '@/hooks/useI18n';
import dayjs, { type Dayjs } from 'dayjs';
const { getDict } = useDictStore();
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**字典数据 */
let dict: {
/**告警状态 */
@@ -312,7 +312,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
:placeholder="t('views.ne.common.neTypePlease')"
allow-clear
/>

View File

@@ -4,13 +4,13 @@ import { PageContainer } from 'antdv-pro-layout';
import { Modal, message } from 'ant-design-vue/es';
import CodemirrorEdite from '@/components/CodemirrorEdite/index.vue';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
import useI18n from '@/hooks/useI18n';
import { getMMLByNE, sendMMlByNE } from '@/api/mmlManage/neOperate';
import { uploadFileToNE } from '@/api/tool/file';
import { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
/**网元参数 */
@@ -541,7 +541,7 @@ function fnAutoCompleteKeydown(evt: any) {
onMounted(() => {
// 获取网元网元列表
neCascaderOptions.value = neListStore.getNeCascaderOptions.filter(
neCascaderOptions.value = neStore.getNeCascaderOptions.filter(
(item: any) => {
return !['OMC', 'CBC', 'SGWC'].includes(item.value); // 过滤不可用的网元
}

View File

@@ -4,14 +4,14 @@ import { PageContainer } from 'antdv-pro-layout';
import { Modal, message } from 'ant-design-vue/es';
import CodemirrorEdite from '@/components/CodemirrorEdite/index.vue';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
import useI18n from '@/hooks/useI18n';
import { getMMLByOMC, sendMMlByOMC } from '@/api/mmlManage/omcOperate';
import { uploadFileToNE } from '@/api/tool/file';
import { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**网元参数 */
let neOptions = ref<Record<string, any>[]>([]);
@@ -505,7 +505,7 @@ function fnAutoCompleteKeydown(evt: any) {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'OMC') {
neOptions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -4,14 +4,14 @@ import { PageContainer } from 'antdv-pro-layout';
import { Modal, message } from 'ant-design-vue/es';
import CodemirrorEdite from '@/components/CodemirrorEdite/index.vue';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
import useI18n from '@/hooks/useI18n';
import { getMMLByUDM, sendMMlByUDM } from '@/api/mmlManage/udmOperate';
import { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface';
import { uploadFileToNE } from '@/api/tool/file';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**网元参数 */
let neOptions = ref<Record<string, any>[]>([]);
@@ -505,7 +505,7 @@ function fnAutoCompleteKeydown(evt: any) {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'UDM') {
neOptions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -8,7 +8,7 @@ import { DataNode } from 'ant-design-vue/es/tree';
import useI18n from '@/hooks/useI18n';
import TableColumnsDnd from '@/components/TableColumnsDnd/index.vue';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useOptions from './hooks/useOptions';
import useConfigList from './hooks/useConfigList';
import useConfigArray from './hooks/useConfigArray';
@@ -16,7 +16,7 @@ import useConfigArrayChild from './hooks/useConfigArrayChild';
import useArrayImport from './hooks/useArrayImport';
import useArrayBatchDel from './hooks/useArrayBatchDel';
import { getAllNeConfig, getNeConfigData } from '@/api/ne/neConfig';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
const route = useRoute();
const { ruleVerification, smfByUPFIdLoadData, smfByUPFIdOptions } = useOptions({
@@ -393,7 +393,7 @@ const { batchState, modalBatchOpen, modalBatchClose, modalBatchOk } =
onMounted(() => {
// 获取网元网元列表
neCascaderOptions.value = neListStore.getNeCascaderOptions.filter(
neCascaderOptions.value = neStore.getNeCascaderOptions.filter(
(item: any) => {
return !['LMF', 'NEF'].includes(item.value); // 过滤不可用的网元
}

View File

@@ -6,7 +6,7 @@ import { Form, Modal, TableColumnsType, message } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import BackupModal from './components/BackupModal.vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import useDictStore from '@/store/modules/dict';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
@@ -21,7 +21,7 @@ import { pushBackupFTP } from '@/api/neData/backup';
import saveAs from 'file-saver';
const { t } = useI18n();
const { getDict } = useDictStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**字典数据-状态 */
let dictStatus = ref<DictType[]>([]);
@@ -404,7 +404,7 @@ function fnSyncFileToFTP(row: Record<string, any>) {
<a-form-item :label="t('views.ne.common.neType')" name="neType ">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
:allow-clear="true"
:placeholder="t('common.inputPlease')"
/>

View File

@@ -7,13 +7,13 @@ import { DataNode } from 'ant-design-vue/es/tree';
import useI18n from '@/hooks/useI18n';
import TableColumnsDnd from '@/components/TableColumnsDnd/index.vue';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useOptions from './hooks/useOptions';
import useConfigList from './hooks/useConfigList';
import useConfigArray from './hooks/useConfigArray';
import useConfigArrayChild from './hooks/useConfigArrayChild';
import { getAllNeConfig, getNeConfigData } from '@/api/ne/neConfig';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
const { ruleVerification, smfByUPFIdLoadData, smfByUPFIdOptions } = useOptions({
t,
@@ -536,7 +536,7 @@ const {
onMounted(() => {
// 获取网元网元列表
neCascaderOptions.value = neListStore.getNeSelectOtions.filter(
neCascaderOptions.value = neStore.getNeSelectOtions.filter(
(item: any) => {
return !['LMF', 'NEF'].includes(item.value); // 过滤不可用的网元
}
@@ -767,9 +767,10 @@ onMounted(() => {
@dblclick="listEdit(record)"
>
<template v-if="record['type'] === 'enum'">
{{ JSON.parse(record['filter'])[text] || '&nbsp;' }}
{{ JSON.parse(record['filter'])[text] }}
</template>
<template v-else>{{ `${text}` || '&nbsp;' }}</template>
<template v-else>{{ `${text}` }}</template>
&nbsp; <!-- 空格占位 -->
<EditOutlined
class="editable-cell__icon"
@click="listEdit(record)"
@@ -890,7 +891,7 @@ onMounted(() => {
{{ JSON.parse(text['filter'])[text.value] }}
</template>
<template v-else>
{{ `${text.value}` || '&nbsp;' }}
{{ `${text.value}` }}
</template>
</div>
</div>
@@ -976,7 +977,7 @@ onMounted(() => {
{{ JSON.parse(text['filter'])[text.value] }}
</template>
<template v-else>
{{ `${text.value}` || '&nbsp;' }}
{{ `${text.value}` }}
</template>
</div>
</div>
@@ -1089,7 +1090,7 @@ onMounted(() => {
></a-input>
</div>
<div v-else>
{{ `${item.value || '&nbsp;'}` }}
{{ `${item.value }}
</div>
</div>
</a-tooltip>

View File

@@ -7,13 +7,13 @@ import { Modal, message } from 'ant-design-vue/es';
import { parseDateToStr } from '@/utils/date-utils';
import { getNeFile, listNeFiles } from '@/api/tool/neFile';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import ViewDrawer from './components/ViewDrawer.vue';
import saveAs from 'file-saver';
import { useRoute } from 'vue-router';
import { parseSizeFromFile } from '@/utils/parse-utils';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
const route = useRoute();
@@ -300,7 +300,7 @@ onMounted(() => {
<span>{{ t('views.logManage.neFile.neType') }}:</span>&nbsp;
<a-cascader
v-model:value="neTypeSelect"
:options="neListStore.getNeCascaderOptions"
:options="neStore.getNeCascaderOptions"
@change="fnNeChange"
:allow-clear="false"
:placeholder="t('views.logManage.neFile.neTypePlease')"

View File

@@ -7,12 +7,12 @@ import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { listNeInfo, delNeInfo, stateNeInfo } from '@/api/ne/neInfo';
import useDictStore from '@/store/modules/dict';
import useNeOptions from './hooks/useNeOptions';
const { getDict } = useDictStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
const {
fnNeStart,
@@ -262,7 +262,7 @@ function reloadRowInfo(row: Record<string, any>) {
}
})
.finally(() => {
neListStore.fnNelistRefresh();
neStore.fnNelistRefresh();
});
}
@@ -308,7 +308,7 @@ function fnRecordDelete(id: string) {
}
});
// 刷新缓存
neListStore.fnNelistRefresh();
neStore.fnNelistRefresh();
} else {
message.error({
content: `${res.msg}`,
@@ -404,7 +404,7 @@ function fnGetList(pageNum?: number) {
})
.finally(() => {
// 刷新缓存的网元信息
neListStore.fnNelistRefresh();
neStore.fnNelistRefresh();
});
}
@@ -435,7 +435,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType ">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('common.inputPlease')"
/>

View File

@@ -4,7 +4,7 @@ import { PageContainer } from 'antdv-pro-layout';
import { Modal, TableColumnsType, message } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import useDictStore from '@/store/modules/dict';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
@@ -12,7 +12,7 @@ import { listNeLicense, stateNeLicense } from '@/api/ne/neLicense';
import { parseDateToStr } from '@/utils/date-utils';
const { t } = useI18n();
const { getDict } = useDictStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const EditModal = defineAsyncComponent(
() => import('./components/EditModal.vue')
);
@@ -348,7 +348,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType ">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
:allow-clear="true"
:placeholder="t('common.inputPlease')"
/>

View File

@@ -8,9 +8,9 @@ import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
import { fnRestStepState, fnToStepName, stepState } from '../hooks/useStep';
import useI18n from '@/hooks/useI18n';
import useDictStore from '@/store/modules/dict';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
const { getDict } = useDictStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
/**字典数据 */
@@ -201,7 +201,7 @@ function fnModalOk() {
duration: 3,
});
neListStore.fnNelistRefresh(); // 刷新缓存的网元信息
neStore.fnNelistRefresh(); // 刷新缓存的网元信息
stepState.neInfo = from; // 保存网元信息
modalState.stepNext = true; // 开启下一步
} else {

View File

@@ -1,8 +1,8 @@
import { reactive, toRaw } from 'vue';
import { getPara5GFilee, savePara5GFile, updateNeInfo } from '@/api/ne/neInfo';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const neListStore = useNeListStore();
const neStore = useNeStore();
/**对象信息信息状态类型 */
type StateType = {
@@ -38,7 +38,7 @@ export function usePara5G() {
/**载入数据*/
function fnReloadData() {
state.confirmLoading = true;
Promise.all([getPara5GFilee(), neListStore.fnNelistRefresh()]).then(
Promise.all([getPara5GFilee(), neStore.fnNelistRefresh()]).then(
resArr => {
// 已保存的配置
if (resArr[0].code === RESULT_CODE_SUCCESS) {

View File

@@ -4,14 +4,14 @@ import { PageContainer } from 'antdv-pro-layout';
import { Modal, TableColumnsType, message } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { listNeSoftware, delNeSoftware } from '@/api/ne/neSoftware';
import { parseDateToStr } from '@/utils/date-utils';
import { downloadFile } from '@/api/tool/file';
import { saveAs } from 'file-saver';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
// 异步加载组件
@@ -351,7 +351,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType ">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('common.inputPlease')"
/>

View File

@@ -10,7 +10,7 @@ import {
} from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { listNeVersion, operateNeVersion } from '@/api/ne/neVersion';
import { parseDateToStr } from '@/utils/date-utils';
@@ -18,7 +18,7 @@ import useI18n from '@/hooks/useI18n';
import useDictStore from '@/store/modules/dict';
import useMaskStore from '@/store/modules/mask';
const maskStore = useMaskStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
const { getDict } = useDictStore();
@@ -463,7 +463,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType ">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('common.inputPlease')"
/>

View File

@@ -8,13 +8,13 @@ import BackupModal from '@/views/ne/neConfigBackup/components/BackupModal.vue';
import { parseDateToStr } from '@/utils/date-utils';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useI18n from '@/hooks/useI18n';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import saveAs from 'file-saver';
import { delFile, getFile, listFile } from '@/api/tool/file';
import { parseSizeFromFile } from '@/utils/parse-utils';
import { pushBackupFTP } from '@/api/neData/backup';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**文件来源 */
let sourceState = reactive({
@@ -308,7 +308,7 @@ function fnSyncFileToFTP(fileName: string) {
onMounted(() => {
sourceState.list = sourceState.list.filter(item => {
if (!item.neType) return true;
return neListStore.fnHasNe([item.neType]);
return neStore.fnHasNe([item.neType]);
});
});
</script>

View File

@@ -6,11 +6,11 @@ import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { useRoute } from 'vue-router';
import { listAMFNblist } from '@/api/neData/amf';
import { listMMENblist } from '@/api/neData/mme';
const neListStore = useNeListStore();
const neStore = useNeStore();
const route = useRoute();
const { t } = useI18n();
@@ -264,7 +264,7 @@ function fnGetList(pageNum?: number) {
onMounted(() => {
// 获取网元网元列表
for (const item of neListStore.getNeCascaderOptions) {
for (const item of neStore.getNeCascaderOptions) {
// 过滤不可用的网元
if (!['AMF', 'MME'].includes(item.value)) continue;
const v = JSON.parse(JSON.stringify(item));

View File

@@ -12,7 +12,7 @@ import { SizeType } from 'ant-design-vue/es/config-provider';
import { ColumnsType } from 'ant-design-vue/es/table';
import { ProModal } from 'antdv-pro-modal';
import UploadModal from '@/components/UploadModal/index.vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
const { t, currentLocale } = useI18n();
import {
@@ -32,7 +32,7 @@ import saveAs from 'file-saver';
import { readSheet, writeSheet } from '@/utils/execl-utils';
import { useRoute } from 'vue-router';
const route = useRoute();
const neListStore = useNeListStore();
const neStore = useNeStore();
// 异步加载组件
const HistoryModal = defineAsyncComponent(
@@ -657,7 +657,7 @@ async function fnModalImportTemplate() {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (['AMF', 'MME'].includes(item.value)) {
neCascaderOptions.value.push(JSON.parse(JSON.stringify(item)));
}

View File

@@ -5,7 +5,7 @@ import { listAMFNbStatelist } from '@/api/neData/amf';
import { parseBasePath } from '@/plugins/file-static-url';
import { edgeLineAnimateState } from '@/views/monitor/topologyBuild/hooks/registerEdge';
import { nodeImageAnimateState } from '@/views/monitor/topologyBuild/hooks/registerNode';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { stateNeInfo } from '@/api/ne/neInfo';
@@ -13,7 +13,7 @@ import { parseDateToStr } from '@/utils/date-utils';
import { useFullscreen } from '@vueuse/core';
import { listMMENbStatelist } from '@/api/neData/mme';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**图DOM节点实例对象 */
const graphG6Dom = useTemplateRef('graphG6Dom');
@@ -380,7 +380,7 @@ async function fnGraphDataBase() {
edges: [],
};
// 添加基础网元
for (const item of neListStore.getNeCascaderOptions) {
for (const item of neStore.getNeCascaderOptions) {
if ('OMC' === item.value) {
if (item.children?.length === 0) continue;
// 是否存在OMC保证唯一

View File

@@ -2,12 +2,11 @@
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { ProModal } from 'antdv-pro-modal';
import { message, Modal, Form, notification } from 'ant-design-vue/es';
import { message, Modal, Form } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import TableColumnsDnd from '@/components/TableColumnsDnd/index.vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import {
@@ -16,9 +15,9 @@ import {
listCBC,
updateCBCStatus,
updateCBC,
} from '@/api/cbc/cbe';
import { parseDateToStr, parseDuration } from '@/utils/date-utils';
} from '@/api/neData/cbc';
import { parseDateToStr } from '@/utils/date-utils';
const neStore = useNeStore();
const { t } = useI18n();
/**网元参数 */
@@ -832,33 +831,29 @@ function pwsTypeChange(value: any) {
onMounted(() => {
//
useNeListStore()
.fnNelist()
.then(res => {
if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.data)) {
if (res.data.length > 0) {
let arr: Record<string, any>[] = [];
res.data.forEach(i => {
if (i.neType === 'CBC') {
arr.push({ value: i.neId, label: i.neName });
}
});
neOtions.value = arr;
if (arr.length > 0) {
queryParams.neId = arr[0].value;
}
}
} else {
message.warning({
content: t('common.noData'),
duration: 2,
});
}
})
.finally(() => {
//
fnGetList();
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'CBC') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}
});
if (neOtions.value.length === 0) {
message.warning({
content: t('common.noData'),
duration: 2,
});
return;
}
if (neOtions.value.length > 0) {
queryParams.neId = neOtions.value[0].value;
} else {
message.warning({
content: t('common.noData'),
duration: 2,
});
}
//
fnGetList();
});
</script>

View File

@@ -5,12 +5,12 @@ import { message } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { listIMSSessionList } from '@/api/neData/ims';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -173,7 +173,7 @@ function fnGetList(pageNum?: number) {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'IMS') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -6,7 +6,7 @@ import { message, Modal, Form, TableColumnsType } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import UploadModal from '@/components/UploadModal/index.vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import {
addPCFRule,
@@ -21,7 +21,7 @@ import { uploadFileToNE } from '@/api/tool/file';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { saveAs } from 'file-saver';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -693,7 +693,7 @@ function fnModalDownloadImportTemplate() {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'PCF') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -7,11 +7,11 @@ import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import { listSMFSubList } from '@/api/neData/smf';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -247,7 +247,7 @@ function fnGetList(pageNum?: number) {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'SMF') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -8,7 +8,7 @@ import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import UploadModal from '@/components/UploadModal/index.vue';
import TableColumnsDnd from '@/components/TableColumnsDnd/index.vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { saveAs } from 'file-saver';
@@ -27,7 +27,7 @@ import {
import { uploadFile } from '@/api/tool/file';
import { getNeViewFile } from '@/api/tool/neFile';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -739,7 +739,7 @@ function fnModalDownloadImportTemplate() {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'UDM') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -8,7 +8,7 @@ import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import UploadModal from '@/components/UploadModal/index.vue';
import TableColumnsDnd from '@/components/TableColumnsDnd/index.vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import saveAs from 'file-saver';
@@ -27,7 +27,7 @@ import {
import { uploadFile } from '@/api/tool/file';
import { getNeViewFile } from '@/api/tool/neFile';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -1130,7 +1130,7 @@ async function fnModalDownloadImportTemplate() {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'UDM') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -22,14 +22,14 @@ import {
listUDMVOIP,
resetUDMVOIP,
} from '@/api/neData/udm_voip';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { saveAs } from 'file-saver';
import { uploadFile } from '@/api/tool/file';
import { getNeViewFile } from '@/api/tool/neFile';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -579,7 +579,7 @@ function fnModalDownloadImportTemplate() {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'UDM') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -12,7 +12,7 @@ import {
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import UploadModal from '@/components/UploadModal/index.vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { saveAs } from 'file-saver';
@@ -29,7 +29,7 @@ import {
resetUDMVolteIMS,
} from '@/api/neData/udm_volte_ims';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**字典数据 */
let dict: {
/**Tag标签类型 0=VoIP, 1=VoLTE */
@@ -658,7 +658,7 @@ function fnModalDownloadImportTemplate() {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'UDM') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -6,11 +6,11 @@ import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import { listN3IWFSubList } from '@/api/neUser/n3iwf';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { t } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -104,7 +104,7 @@ function fnGetList() {
onMounted(() => {
// 获取网元网元列表
neListStore.neCascaderOptions.forEach(item => {
neStore.neCascaderOptions.forEach(item => {
if (item.value === 'N3IWF') {
neOtions.value = JSON.parse(JSON.stringify(item.children));
}

View File

@@ -8,7 +8,7 @@ import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useI18n from '@/hooks/useI18n';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import {
addCustom,
delCustom,
@@ -19,7 +19,7 @@ import { getKPITitle } from '@/api/perfManage/goldTarget';
import useDictStore from '@/store/modules/dict';
const { t, currentLocale } = useI18n();
const { getDict } = useDictStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
/**字典数据 */
let dict: {
/**状态 */
@@ -461,7 +461,7 @@ function fnChangeUnit(value: any) {
let neCascaderOptions = ref<Record<string, any>[]>([]);
onMounted(() => {
// 过滤不可用的网元
neCascaderOptions.value = neListStore.getNeCascaderOptions.filter(
neCascaderOptions.value = neStore.getNeCascaderOptions.filter(
(item: any) => {
return !['OMC', 'NSSF', 'NEF', 'NRF', 'LMF', 'N3IWF'].includes(
item.value

View File

@@ -35,7 +35,7 @@ import {
RESULT_CODE_ERROR,
RESULT_CODE_SUCCESS,
} from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { getKPITitle, listKPIData } from '@/api/perfManage/goldTarget';
import { parseDateToStr } from '@/utils/date-utils';
@@ -47,7 +47,7 @@ import { useRoute } from 'vue-router';
import { LineOutlined } from '@ant-design/icons-vue';
import useLayoutStore from '@/store/modules/layout';
const layoutStore = useLayoutStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const route = useRoute();
const { t, currentLocale } = useI18n();
const ws = new WS();
@@ -825,7 +825,7 @@ watch(
onMounted(() => {
// 目前支持的 AMF AUSF MME MOCNGW NSSF SMF UDM UPF PCF
// 获取网元网元列表
neCascaderOptions.value = neListStore.getNeCascaderOptions.filter(
neCascaderOptions.value = neStore.getNeCascaderOptions.filter(
(item: any) => {
// 过滤不可用的网元
return !['OMC', 'NSSF', 'NEF', 'NRF', 'LMF', 'N3IWF'].includes(

View File

@@ -6,7 +6,7 @@ import { message, Form, Modal } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import useNeInfoStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useDictStore from '@/store/modules/dict';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useI18n from '@/hooks/useI18n';
@@ -18,7 +18,7 @@ import {
} from '@/api/perfManage/kpi-title';
const { t } = useI18n();
const { getDict } = useDictStore();
const { getNeSelectOtions } = useNeInfoStore();
const neStore = useNeStore();
/**字典数据 */
let dict: {
@@ -390,7 +390,7 @@ onMounted(() => {
<a-form-item label="NE Type" name="neType">
<a-auto-complete
v-model:value="queryParams.neType"
:options="getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('common.inputPlease')"
/>
@@ -577,7 +577,7 @@ onMounted(() => {
>
<a-auto-complete
v-model:value="modalState.from.neType"
:options="getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('common.inputPlease')"
:disabled="!!modalState.from.id"

View File

@@ -34,7 +34,7 @@ import {
RESULT_CODE_ERROR,
RESULT_CODE_SUCCESS,
} from '@/constants/result-constants';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useI18n from '@/hooks/useI18n';
import { listCustom } from '@/api/perfManage/customTarget';
import { listCustomData } from '@/api/perfManage/customData';
@@ -48,7 +48,7 @@ import { useRoute } from 'vue-router';
import dayjs from 'dayjs';
import useLayoutStore from '@/store/modules/layout';
const layoutStore = useLayoutStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const route = useRoute();
const { t, currentLocale } = useI18n();
const ws = new WS();
@@ -964,7 +964,7 @@ onMounted(() => {
});
typeArr = Array.from(new Set(typeArr));
// 过滤不可用的网元
neCascaderOptions.value = neListStore.getNeCascaderOptions.filter(
neCascaderOptions.value = neStore.getNeCascaderOptions.filter(
(item: any) => {
return typeArr.includes(item.value);
}

View File

@@ -20,7 +20,7 @@ import { listKPIData, getKPITitle } from '@/api/perfManage/goldTarget';
import useI18n from '@/hooks/useI18n';
import { parseDateToStr } from '@/utils/date-utils';
import dayjs from 'dayjs';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { message } from 'ant-design-vue';
import { generateColorRGBA } from '@/utils/generate-utils';
import { LineSeriesOption } from 'echarts/charts';
@@ -30,7 +30,7 @@ import { useDebounceFn } from '@vueuse/core';
import { LineOutlined } from '@ant-design/icons-vue';
import { TableColumnType } from 'ant-design-vue';
const { t, currentLocale } = useI18n();
const neListStore = useNeListStore();
const neStore = useNeStore();
//日期快捷选择
const ranges = ref([
{
@@ -71,7 +71,7 @@ const ALL_NE_TYPES = [
] as const;
type AllChartType = (typeof ALL_NE_TYPES)[number] & string;
// 在 ALL_NE_TYPES 定义之后添加 小写转大写
const neTypeOptions = neListStore.getNeCascaderOptions
const neTypeOptions = neStore.getNeCascaderOptions
.filter(v => ALL_NE_TYPES.includes(v.value.toLowerCase()))
.map(v => ({
label: v.label,

View File

@@ -145,11 +145,11 @@ import * as echarts from 'echarts/core'
import { LineChart } from 'echarts/charts'
import { GridComponent } from 'echarts/components'
import { CanvasRenderer } from 'echarts/renderers'
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { WS } from '@/plugins/ws-websocket'
import { listKPIData } from '@/api/perfManage/goldTarget'
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'
import useI18n from '@/hooks/useI18n';
const neStore = useNeStore();
const { t } = useI18n();
echarts.use([LineChart, GridComponent, CanvasRenderer])
@@ -174,7 +174,7 @@ const wsStatus = ref('未连接')
onMounted(async () => {
// console.log('组件挂载开始获取IMS网元列表') // 调试信息
const res = await useNeListStore().fnNelist()
const res = await neStore.fnNelist()
// console.log('获取到的网元列表响应:', res) // 调试信息
if (res && Array.isArray(res.data)) {

View File

@@ -7,9 +7,10 @@ import { ColumnsType } from 'ant-design-vue/es/table';
import { parseDateToStr } from '@/utils/date-utils';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { listperfData } from '@/api/perfManage/perfData';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useDictStore from '@/store/modules/dict';
import useI18n from '@/hooks/useI18n';
const neStore = useNeStore();
const { getDict } = useDictStore();
const { t } = useI18n();
@@ -223,7 +224,7 @@ onMounted(() => {
}
});
// 获取网元网元列表
useNeListStore().fnNelist();
neStore.fnNelist();
// 获取列表数据
fnGetList();
});
@@ -246,7 +247,7 @@ onMounted(() => {
>
<a-auto-complete
v-model:value="queryParams.neType"
:options="useNeListStore().getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
/>
</a-form-item>

View File

@@ -9,7 +9,7 @@ import { ColumnsType } from 'ant-design-vue/es/table';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useI18n from '@/hooks/useI18n';
import useDictStore from '@/store/modules/dict';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import {
addPerfThre,
delPerfThre,
@@ -19,6 +19,7 @@ import {
threStop,
threRun,
} from '@/api/perfManage/perfThreshold';
const neStore = useNeStore();
const { getDict } = useDictStore();
const { t, currentLocale } = useI18n();
@@ -189,7 +190,7 @@ function fnGetList(pageNum?: number) {
queryParams.pageNum = pageNum;
}
listPerfThreshold(toRaw(queryParams)).then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
if (res.code === RESULT_CODE_SUCCESS) {
// 取消勾选
if (tableState.selectedRowKeys.length > 0) {
tableState.selectedRowKeys = [];
@@ -490,16 +491,8 @@ onMounted(() => {
}
});
Promise.allSettled([
// 获取网元网元列表
useNeListStore().fnNelist(),
// 获取性能测量集列表
// useNeListStore().fnNeTaskPerformance(),
// getNePerformanceList(),
]).finally(() => {
// 获取列表数据
fnGetList();
});
// 获取列表数据
fnGetList();
});
</script>
@@ -517,7 +510,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType ">
<a-auto-complete
v-model:value="queryParams.neType"
:options="useNeListStore().getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('views.ne.common.neTypePlease')"
/>
@@ -610,9 +603,7 @@ onMounted(() => {
<template v-if="column.key === 'id'">
<a-space :size="8" align="center">
<a-tooltip>
<template #title>
Run
</template>
<template #title> Run </template>
<a-button
type="link"
@click.prevent="fnTaskModalVisible('run', record)"
@@ -691,7 +682,7 @@ onMounted(() => {
>
<a-select
v-model:value="modalState.from.neType"
:options="useNeListStore().getNeSelectOtions"
:options="neStore.getNeSelectOtions"
@change="fnSelectPerformanceInit"
:allow-clear="false"
:placeholder="t('views.ne.common.neTypePlease')"

View File

@@ -10,7 +10,7 @@ import { parseDateToStr } from '@/utils/date-utils';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useI18n from '@/hooks/useI18n';
import useUserStore from '@/store/modules/user';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import {
addPerfTask,
delPerfTask,
@@ -20,7 +20,7 @@ import {
taskStop,
taskRun,
} from '@/api/perfManage/taskManage';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t, currentLocale } = useI18n();
const generateOptions = (start: any, end: any) => {
@@ -719,7 +719,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType ">
<a-auto-complete
v-model:value="queryParams.neType"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
:placeholder="t('views.ne.common.neTypePlease')"
/>
@@ -882,7 +882,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.common.neType')" name="neType">
<a-cascader
:value="modalState.neType"
:options="neListStore.getNeCascaderOptions"
:options="neStore.getNeCascaderOptions"
disabled
/>
</a-form-item>
@@ -999,7 +999,7 @@ onMounted(() => {
>
<a-cascader
v-model:value="modalState.neType"
:options="neListStore.getNeCascaderOptions"
:options="neStore.getNeCascaderOptions"
@change="fnNeChange"
:allow-clear="false"
:placeholder="t('views.ne.common.neTypePlease')"

View File

@@ -8,9 +8,9 @@ import {
RESULT_CODE_SUCCESS,
} from '@/constants/result-constants';
import TerminalSSHView from '@/components/TerminalSSHView/index.vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { iperfI, iperfV } from '@/api/tool/iperf';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
/**网元参数 */

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { reactive, onMounted, onBeforeUnmount, ref, toRaw } from 'vue';
import { reactive, onMounted, onBeforeUnmount, ref } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { message } from 'ant-design-vue/es';
import useI18n from '@/hooks/useI18n';
@@ -8,9 +8,9 @@ import {
RESULT_CODE_SUCCESS,
} from '@/constants/result-constants';
import TerminalSSHView from '@/components/TerminalSSHView/index.vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import { pingV } from '@/api/tool/ping';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
/**网元参数 */
@@ -187,7 +187,7 @@ function fnMessage(res: Record<string, any>) {
/**钩子函数,界面打开初始化*/
onMounted(() => {
// 获取网元网元列表
for (const item of neListStore.getNeCascaderOptions) {
for (const item of neStore.getNeCascaderOptions) {
neCascaderOptions.value.push(item); // 过滤不可用的网元
}
if (neCascaderOptions.value.length === 0) {

View File

@@ -5,10 +5,10 @@ import { ColumnsType } from 'ant-design-vue/es/table';
import { Modal, message } from 'ant-design-vue/es';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { delNeHost, listNeHost } from '@/api/ne/neHost';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useDictStore from '@/store/modules/dict';
import useI18n from '@/hooks/useI18n';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { getDict } = useDictStore();
const { t } = useI18n();
const EditModal = defineAsyncComponent(
@@ -305,7 +305,7 @@ onMounted(() => {
<a-form-item :label="t('views.ne.neHost.title')" name="title">
<a-auto-complete
v-model:value="queryParams.title"
:options="neListStore.getNeSelectOtions"
:options="neStore.getNeSelectOtions"
allow-clear
size="small"
:placeholder="t('common.inputPlease')"

View File

@@ -9,13 +9,13 @@ import { parseSizeFromFile } from '@/utils/parse-utils';
import { getNeDirZip, getNeFile, listNeFiles } from '@/api/tool/neFile';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import ViewDrawer from '@/views/ne/neFile/components/ViewDrawer.vue';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import useTabsStore from '@/store/modules/tabs';
import useI18n from '@/hooks/useI18n';
import saveAs from 'file-saver';
import { useRoute, useRouter } from 'vue-router';
const tabsStore = useTabsStore();
const neListStore = useNeListStore();
const neStore = useNeStore();
const { t } = useI18n();
const route = useRoute();
const router = useRouter();
@@ -360,7 +360,7 @@ onMounted(() => {
<span>{{ t('views.logManage.neFile.neType') }}:</span>&nbsp;
<a-cascader
v-model:value="neTypeSelect"
:options="neListStore.getNeCascaderOptions"
:options="neStore.getNeCascaderOptions"
@change="fnNeChange"
:allow-clear="false"
:placeholder="t('views.logManage.neFile.neTypePlease')"

View File

@@ -11,7 +11,7 @@ import { parseDateToStr } from '@/utils/date-utils';
import { MENU_PATH_INLINE } from '@/constants/menu-constants';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useI18n from '@/hooks/useI18n';
import useNeListStore from '@/store/modules/ne_list';
import useNeStore from '@/store/modules/ne';
import {
addTraceTask,
delTraceTask,
@@ -23,7 +23,7 @@ import useDictStore from '@/store/modules/dict';
import { regExpIPv4 } from '@/utils/regular-utils';
import dayjs, { Dayjs } from 'dayjs';
import { parseObjHumpToLine } from '@/utils/parse-utils';
const neListStore = useNeListStore();
const neStore = useNeStore();
const { getDict } = useDictStore();
const { t } = useI18n();
const router = useRouter();
@@ -613,7 +613,7 @@ onMounted(() => {
);
// 获取网元网元列表
neCascaderOptions.value = neListStore.getNeCascaderOptions.filter(
neCascaderOptions.value = neStore.getNeCascaderOptions.filter(
(item: any) => {
return ['AMF', 'AUSF', 'SMF', 'UDM', 'PCF', 'UPF'].includes(item.value); // 过滤不可用的网元
}