ref: v3变更,,同步v2.2508.4

This commit is contained in:
TsMask
2025-09-01 11:19:01 +08:00
parent 2319cdf36b
commit e943b4dedc
129 changed files with 1876 additions and 3032 deletions

View File

@@ -5,10 +5,12 @@ import { message, Form, Modal } from 'ant-design-vue/es';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { NE_TYPE_LIST } from '@/constants/ne-constants';
import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
import { getNeInfo, addNeInfo, updateNeInfo } from '@/api/ne/neInfo';
import { addNeInfo, updateNeInfo } from '@/api/ne/neInfo';
import { neHostAuthorizedRSA, testNeHost } from '@/api/ne/neHost';
import useDictStore from '@/store/modules/dict';
import useI18n from '@/hooks/useI18n';
import useI18n from '@/hooks/useI18n';
import { currentCoreUid } from '@/hooks/useCoreUid';
import { getNeInfoByNF } from '@/api/ne/neAction';
const { getDict } = useDictStore();
const { t } = useI18n();
const emit = defineEmits(['ok', 'cancel', 'update:open']);
@@ -17,9 +19,17 @@ const props = defineProps({
type: Boolean,
default: false,
},
editId: {
type: Number,
default: 0,
coreUid: {
type: String,
default: '',
},
neUid: {
type: String,
default: '',
},
neType: {
type: String,
default: '',
},
});
@@ -103,14 +113,14 @@ let modalState: ModalStateType = reactive({
title: '网元',
from: {
id: undefined,
neId: '001',
neType: 'AMF',
neName: '',
ip: '',
ipAddr: '',
port: 33030,
pvFlag: 'PNF',
rmUid: '4400HXAMF001',
neAddress: '',
coreUid: currentCoreUid(),
neUid: '',
macAddr: '',
dn: '',
vendorName: '',
province: 'Area',
@@ -158,30 +168,18 @@ const modalStateFrom = Form.useForm(
message: t('views.ne.common.neTypePlease'),
},
],
neId: [
{
required: true,
message: t('views.ne.common.neIdPlease'),
},
],
rmUid: [
{
required: true,
message: t('views.ne.common.rmUidPlease'),
},
],
ip: [
{
required: true,
validator: modalStateFromEqualIPV4AndIPV6,
},
],
neName: [
{
required: true,
message: t('views.ne.common.neNamePlease'),
},
],
ipAddr: [
{
required: true,
validator: modalStateFromEqualIPV4AndIPV6,
},
],
})
);
@@ -209,10 +207,11 @@ function modalStateFromEqualIPV4AndIPV6(
/**
* 对话框弹出显示为 新增或者修改
* @param editId 网元id, 不传为新增
* @param coreUid 核心网ID
* @param neUid 网元ID
*/
function fnModalVisibleByEdit(editId: number) {
if (editId <= 0) {
function fnModalVisibleByEdit(coreUid: string, neUid: string) {
if (!coreUid || !neUid) {
modalStateFrom.resetFields();
modalState.title = t('views.ne.neInfo.addTitle');
modalState.openByEdit = true;
@@ -220,7 +219,7 @@ function fnModalVisibleByEdit(editId: number) {
if (modalState.confirmLoading) return;
const hide = message.loading(t('common.loading'), 0);
modalState.confirmLoading = true;
getNeInfo(editId).then(res => {
getNeInfoByNF(coreUid, neUid).then(res => {
modalState.confirmLoading = false;
hide();
if (res.code === RESULT_CODE_SUCCESS) {
@@ -320,15 +319,6 @@ function fnNeTypeChange(v: any) {
remark: '',
});
}
modalState.from.rmUid = `4400HX${v}${modalState.from.neId}`; // 4400HX1AMF001
}
/**表单修改网元neId */
function fnNeIdChange(e: any) {
const v = e.target.value;
if (v.length < 1) return;
modalState.from.rmUid = `4400HX${modalState.from.neType}${v}`; // 4400HX1AMF001
}
/**表单修改网元IP */
@@ -344,7 +334,7 @@ function fnNeIPChange(e: any) {
watch(
() => props.open,
val => {
if (val) fnModalVisibleByEdit(props.editId);
if (val) fnModalVisibleByEdit(props.coreUid, props.neUid);
}
);
@@ -439,58 +429,31 @@ onMounted(() => {
</a-col>
</a-row>
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.ne.common.neId')"
name="neId"
v-bind="modalStateFrom.validateInfos.neId"
>
<a-input
v-model:value="modalState.from.neId"
allow-clear
:placeholder="t('common.inputPlease')"
:maxlength="32"
@change="fnNeIdChange"
:disabled="!!modalState.from.id"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.ne.common.neIdTip') }}
</template>
<InfoCircleOutlined style="opacity: 0.45; color: inherit" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.ne.common.neName')"
name="neName"
v-bind="modalStateFrom.validateInfos.neName"
>
<a-input
v-model:value="modalState.from.neName"
allow-clear
:placeholder="t('common.inputPlease')"
:maxlength="64"
>
</a-input>
</a-form-item>
</a-col>
</a-row>
<a-form-item
:label="t('views.ne.common.neName')"
name="neName"
:label-col="{ span: 3 }"
:label-wrap="true"
v-bind="modalStateFrom.validateInfos.neName"
>
<a-input
v-model:value="modalState.from.neName"
allow-clear
:placeholder="t('common.inputPlease')"
:maxlength="64"
>
</a-input>
</a-form-item>
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.ne.common.ipAddr')"
name="ip"
v-bind="modalStateFrom.validateInfos.ip"
name="ipAddr"
v-bind="modalStateFrom.validateInfos.ipAddr"
>
<a-input
v-model:value="modalState.from.ip"
v-model:value="modalState.from.ipAddr"
allow-clear
:placeholder="t('common.inputPlease')"
:maxlength="128"
@@ -536,37 +499,11 @@ onMounted(() => {
</a-col>
</a-row>
<a-form-item
:label="t('views.ne.common.rmUid')"
name="rmUid"
v-bind="modalStateFrom.validateInfos.rmUid"
:label-col="{ span: 3 }"
:labelWrap="true"
>
<a-input
v-model:value="modalState.from.rmUid"
allow-clear
:placeholder="t('common.inputPlease')"
:maxlength="40"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
<div>
{{ t('views.ne.common.rmUidTip') }}
</div>
</template>
<InfoCircleOutlined style="opacity: 0.45; color: inherit" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.ne.neInfo.neAddress')" name="neAddress">
<a-form-item :label="t('views.ne.neInfo.macAddr')" name="macAddr">
<a-input
v-model:value="modalState.from.neAddress"
v-model:value="modalState.from.macAddr"
allow-clear
:placeholder="t('common.inputPlease')"
:maxlength="64"
@@ -574,7 +511,7 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
<div>{{ t('views.ne.neInfo.neAddressTip') }}</div>
<div>{{ t('views.ne.neInfo.macAddrTip') }}</div>
</template>
<InfoCircleOutlined style="opacity: 0.45; color: inherit" />
</a-tooltip>