From a61716d40d0d27bbc19d2f308255cbcf72a44a20 Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Wed, 29 May 2024 16:32:11 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BD=91=E5=85=83=E5=85=AC=E5=85=B1?=
=?UTF-8?q?=E5=8F=82=E6=95=B0=E9=85=8D=E7=BD=AE=E8=A1=A8=E5=8D=95=E7=BB=84?=
=?UTF-8?q?=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/i18n/locales/en-US.ts | 9 +-
src/i18n/locales/zh-CN.ts | 9 +-
.../ne/neConfPara5G/components/Para5GForm.vue | 501 ++++++++++++++++++
src/views/ne/neConfPara5G/index.vue | 257 ++-------
.../components/NeInfoConfigPara5G.vue | 238 ++-------
5 files changed, 588 insertions(+), 426 deletions(-)
create mode 100644 src/views/ne/neConfPara5G/components/Para5GForm.vue
diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts
index 1b225f89..5e1019f5 100644
--- a/src/i18n/locales/en-US.ts
+++ b/src/i18n/locales/en-US.ts
@@ -747,10 +747,13 @@ export default {
uploadChangeFail: "Some network elements failed to update the license, please check whether the service terminal environment is available!",
},
neConfPara5G: {
+ save: 'Save',
+ reload: 'Reload',
title: 'Save Info',
sync: 'Sync to NE',
syncNe: 'Select NE',
- save: 'Save Success!',
+ syncNeDone: 'Synchronization to network element terminals complete',
+ saveOk: 'Save Success!',
},
neQuickSetup: {
stepPrev: 'Previous',
@@ -1690,8 +1693,8 @@ export default {
i18nDefault: "Default Languages",
i18nInstruction: 'Whether to display the internationalization switch and set the system default language',
reset: "System Reset",
- resetInstruction: "System reset will destroy all data in the current system, please operate with caution.",
- resetTipContent: 'System reset will destroy all data in the current system. Are you sure you want to continue?',
+ resetInstruction: "A system reset will erase all data in the current system, please proceed with caution!!!!",
+ resetTipContent: 'Are you sure you want to clear all data from the current system and insist on continuing?',
},
role:{
allScopeOptions:'All data permissions',
diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts
index 104f98e2..634eedd6 100644
--- a/src/i18n/locales/zh-CN.ts
+++ b/src/i18n/locales/zh-CN.ts
@@ -747,10 +747,13 @@ export default {
uploadChangeFail: "部分网元更新许可证失败,请检查服务终端环境是否可用!",
},
neConfPara5G: {
+ save: '保存',
+ reload: '刷新',
title: '保存信息',
sync: '同步到网元',
syncNe: '选择网元',
- save: '保存成功!',
+ syncNeDone: '同步到网元终端完成',
+ saveOk: '保存成功!',
},
neQuickSetup: {
stepPrev: '上一步',
@@ -1690,8 +1693,8 @@ export default {
i18nDefault: "默认语言",
i18nInstruction: '是否显示国际化切换,设置系统默认语言',
reset: "系统重置",
- resetInstruction: "系统重置将会销毁当前系统内所有数据,请谨慎操作。",
- resetTipContent: '系统重置将会销毁当前系统内所有数据,确认要继续吗?',
+ resetInstruction: "系统重置将会清除当前系统内所有数据,请谨慎操作!!!",
+ resetTipContent: '确认要清除当前系统内所有数据并坚持继续吗?',
},
role:{
allScopeOptions:'全部数据权限',
diff --git a/src/views/ne/neConfPara5G/components/Para5GForm.vue b/src/views/ne/neConfPara5G/components/Para5GForm.vue
new file mode 100644
index 00000000..167b8beb
--- /dev/null
+++ b/src/views/ne/neConfPara5G/components/Para5GForm.vue
@@ -0,0 +1,501 @@
+
+
+
+
+
+
+ Basic
+
+
+
+
+
+
+ DNN
+
+
+
+
+
+
+
+
+
+
+
+
+ 1-3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OMC
+
+
+
+
+
+
+
+ Network Elemment send data tu EMS IP
+
+
+
+
+
+
+
+
+
+
+ AMF
+
+
+
+
+
+
+ AMF N2
+
+
+
+
+
+
+
+
+
+
+
+ UPF
+
+
+
+
+
+ StandardUPF
+
+ LightUPF
+
+
+
+
+
+
+
+
+ UE IP and maxk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ netwrok ip
+
+
+
+
+
+
+
+
+
+ geteway
+
+
+
+
+
+
+
+
+
+
+
+
+ use `ip a` show info, to inet ip
+
+
+
+
+
+
+
+
+
+
+
+ use `ip a` show info, to inet ip
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IMS
+
+
+
+
+
+
+ IMS SIP
+
+
+
+
+
+
+
+
+
+
+ MME
+
+
+
+
+
+
+
+ MME binded interface for S1-C or S1-MME communication
+ (S1AP), can be ethernet interface, virtual ethernet
+ interface, we don't advise wireless interfaces
+
+
+
+
+
+
+
+
+
+
+ Interface
+
+
+
+
+
+
+
+
+
+
+ MME binded interface for S11-U communication (GTPV1-U)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/ne/neConfPara5G/index.vue b/src/views/ne/neConfPara5G/index.vue
index 5a0e8bf7..d7c57da2 100644
--- a/src/views/ne/neConfPara5G/index.vue
+++ b/src/views/ne/neConfPara5G/index.vue
@@ -11,6 +11,7 @@ import {
updateNeInfo,
} from '@/api/ne/neInfo';
import useNeInfoStore from '@/store/modules/neinfo';
+import Para5GForm from './components/Para5GForm.vue';
const { t } = useI18n();
/**对象信息信息状态类型 */
@@ -27,6 +28,13 @@ type StateType = {
from: Record;
/**OMC信息,需修改当前的IP */
omcInfo: Record;
+ /**根据网元显示配置项 */
+ hasNE: {
+ amf: boolean;
+ upf: boolean;
+ ims: boolean;
+ mme: boolean;
+ };
/**确定按钮 loading */
confirmLoading: boolean;
};
@@ -38,47 +46,14 @@ let state: StateType = reactive({
sync: false,
syncNe: [],
syncMsg: '',
- from: {
- basic: {
- plmnId: {
- mcc: '001',
- mnc: '01',
- },
- tac: '4388',
- snssai: {
- sst: '1',
- sd: '000001',
- },
- dnn_data: 'internet',
- dnn_ims: 'ims',
- },
- external: {
- amfn2_ip: '192.168.8.120',
- upfn3_ip: '192.168.8.190/24',
- upfn3_gw: '192.168.1.1',
- upfn6_ip: '192.168.8.191/24',
- upfn6_gw: '192.168.1.1',
- ue_pool: '10.2.1.0/24',
- },
- sbi: {
- omc_ip: '172.16.5.100',
- ims_ip: '172.16.5.110',
- amf_ip: '172.16.5.120',
- ausf_ip: '172.16.5.130',
- udm_ip: '172.16.5.140',
- adb_ip: '172.16.5.140',
- smf_ip: '172.16.5.150',
- pcf_ip: '172.16.5.160',
- nssf_ip: '172.16.5.170',
- nrf_ip: '172.16.5.180',
- upf_ip: '172.16.5.190',
- lmf_ip: '172.16.5.200',
- nef_ip: '172.16.5.210',
- mme_ip: '172.16.5.220',
- n3iwf_ip: '172.16.5.230',
- },
- },
+ from: {},
omcInfo: {},
+ hasNE: {
+ amf: false,
+ upf: false,
+ ims: false,
+ mme: false,
+ },
confirmLoading: false,
});
@@ -92,9 +67,13 @@ function fnModalOk() {
})
.then(res => {
if (state.sync) {
- state.syncMsg = res.msg;
+ if (res.code === RESULT_CODE_SUCCESS) {
+ state.syncMsg = t('views.ne.neConfPara5G.syncNeDone');
+ } else {
+ state.syncMsg = res.msg;
+ }
} else {
- message.success(t('views.ne.neConfPara5G.save'));
+ message.success(t('views.ne.neConfPara5G.saveOk'));
// 更新omc_ip
state.omcInfo.ip = state.from.sbi.omc_ip;
updateNeInfo(toRaw(state.omcInfo));
@@ -145,9 +124,12 @@ function fnGetData() {
break;
case 'IMS':
state.from.sbi.ims_ip = item.ip;
+ // state.from.external.ims_sip_ip = item.ip;
+ state.hasNE.ims = true;
break;
case 'AMF':
state.from.sbi.amf_ip = item.ip;
+ state.hasNE.amf = true;
break;
case 'AUSF':
state.from.sbi.ausf_ip = item.ip;
@@ -170,6 +152,7 @@ function fnGetData() {
break;
case 'UPF':
state.from.sbi.upf_ip = item.ip;
+ state.hasNE.upf = true;
break;
case 'LMF':
state.from.sbi.lmf_ip = item.ip;
@@ -179,6 +162,10 @@ function fnGetData() {
break;
case 'MME':
state.from.sbi.mme_ip = item.ip;
+ if (item.ip.includes('.')) {
+ state.from.external.mmes11_ip = item.ip + '/24';
+ }
+ state.hasNE.mme = true;
break;
case 'N3IWF':
state.from.sbi.n3iwf_ip = item.ip;
@@ -218,189 +205,29 @@ onMounted(() => {
-
-
-
-
-
-
-
-
-
+
+
-
-
+
-
-
- Reload
-
- Save
+ {{ t('views.ne.neConfPara5G.save') }}
+
+
+
+ {{ t('views.ne.neConfPara5G.reload') }}
-
-
-
- Basic
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- External
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/views/system/quick-start/components/NeInfoConfigPara5G.vue b/src/views/system/quick-start/components/NeInfoConfigPara5G.vue
index 4ab2e9ef..531611cb 100644
--- a/src/views/system/quick-start/components/NeInfoConfigPara5G.vue
+++ b/src/views/system/quick-start/components/NeInfoConfigPara5G.vue
@@ -3,8 +3,14 @@ import { Modal, message } from 'ant-design-vue/lib';
import { onMounted, reactive, toRaw } from 'vue';
import { fnToStepName } from '../hooks/useStep';
import useI18n from '@/hooks/useI18n';
-import { listNeInfo, getPara5GFilee, savePara5GFile, updateNeInfo } from '@/api/ne/neInfo';
+import {
+ listNeInfo,
+ getPara5GFilee,
+ savePara5GFile,
+ updateNeInfo,
+} from '@/api/ne/neInfo';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
+import Para5GForm from '@/views/ne/neConfPara5G/components/Para5GForm.vue';
const { t } = useI18n();
/**对象信息信息状态类型 */
@@ -17,6 +23,13 @@ type StateType = {
from: Record;
/**OMC信息,需修改当前的IP */
omcInfo: Record;
+ /**根据网元显示配置项 */
+ hasNE: {
+ amf: boolean;
+ upf: boolean;
+ ims: boolean;
+ mme: boolean;
+ };
/**确定按钮 loading */
confirmLoading: boolean;
};
@@ -25,47 +38,14 @@ type StateType = {
let state: StateType = reactive({
loading: false,
saveFile: false,
- from: {
- basic: {
- plmnId: {
- mcc: '001',
- mnc: '01',
- },
- tac: '4388',
- snssai: {
- sst: '1',
- sd: '000001',
- },
- dnn_data: 'internet',
- dnn_ims: 'ims',
- },
- external: {
- amfn2_ip: '192.168.8.120',
- upfn3_ip: '192.168.8.190/24',
- upfn3_gw: '192.168.1.1',
- upfn6_ip: '192.168.8.191/24',
- upfn6_gw: '192.168.1.1',
- ue_pool: '10.2.1.0/24',
- },
- sbi: {
- omc_ip: '172.16.5.100',
- ims_ip: '172.16.5.110',
- amf_ip: '172.16.5.120',
- ausf_ip: '172.16.5.130',
- udm_ip: '172.16.5.140',
- adb_ip: '172.16.5.140',
- smf_ip: '172.16.5.150',
- pcf_ip: '172.16.5.160',
- nssf_ip: '172.16.5.170',
- nrf_ip: '172.16.5.180',
- upf_ip: '172.16.5.190',
- lmf_ip: '172.16.5.200',
- nef_ip: '172.16.5.210',
- mme_ip: '172.16.5.220',
- n3iwf_ip: '172.16.5.230',
- },
- },
+ from: {},
omcInfo: {},
+ hasNE: {
+ amf: false,
+ upf: false,
+ ims: false,
+ mme: false,
+ },
confirmLoading: false,
});
@@ -79,11 +59,11 @@ function fnSave() {
syncNe: [],
})
.then(res => {
- if (res.code === RESULT_CODE_SUCCESS) {
+ if (res.code === RESULT_CODE_SUCCESS) {
message.success(t('views.ne.neConfPara5G.save'));
state.saveFile = true;
// 更新omc_ip
- state.omcInfo.ip = state.from.sbi.omc_ip
+ state.omcInfo.ip = state.from.sbi.omc_ip;
updateNeInfo(toRaw(state.omcInfo));
} else {
message.warning(res.nsg);
@@ -121,9 +101,12 @@ function fnGetList() {
break;
case 'IMS':
state.from.sbi.ims_ip = item.ip;
+ // state.from.external.ims_sip_ip = item.ip;
+ state.hasNE.ims = true;
break;
case 'AMF':
state.from.sbi.amf_ip = item.ip;
+ state.hasNE.amf = true;
break;
case 'AUSF':
state.from.sbi.ausf_ip = item.ip;
@@ -146,6 +129,7 @@ function fnGetList() {
break;
case 'UPF':
state.from.sbi.upf_ip = item.ip;
+ state.hasNE.upf = true;
break;
case 'LMF':
state.from.sbi.lmf_ip = item.ip;
@@ -155,6 +139,10 @@ function fnGetList() {
break;
case 'MME':
state.from.sbi.mme_ip = item.ip;
+ if (item.ip.includes('.')) {
+ state.from.external.mmes11_ip = item.ip + '/24';
+ }
+ state.hasNE.mme = true;
break;
case 'N3IWF':
state.from.sbi.n3iwf_ip = item.ip;
@@ -198,168 +186,8 @@ onMounted(() => {
-
- System
-
-
-
-
-
- Basic
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- External
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+