UDM签约用户国际化

This commit is contained in:
lai
2023-11-08 17:53:58 +08:00
parent 4688634205
commit 7f5fef0c8b
4 changed files with 173 additions and 183 deletions

View File

@@ -233,6 +233,7 @@ export default {
noListData:'No network element list data yet',
},
sub: {
subInfo:' Subscription Info',
neTypePlease: 'Query network element type',
neType: 'UDM Type',
export: 'Export',
@@ -242,7 +243,20 @@ export default {
loadData: 'LoadData',
loadDataTip: 'Successfully obtained updated data: {num} items. The system is updating the data internally. Please do not click repeatedly to obtain updates!!!',
num: 'Number of deletions',
batchAddText: 'Batch Add ',
batchDelText: 'Batch Del ',
startIMSI: 'Start IMSI',
msisdnTip:'Parameter maximum length: {msg}',
arfbTip:'Restricted area template. In the restricted area specified by the template, the UE is not allowed to communicate with the network.',
sarTip:'Service area restriction template defines the allowed areas in which the UE can communicate with the network; defines the disallowed areas in which the UE and the network are not allowed to initiate Service Request or SM signaling to obtain user services.',
micoTip:'Signed MICO business flag',
rfspTip:'RFSP index, in NG-RAN, the index of a specific RRM configuration, the parameter is between 0 and 127',
epsFlagTip:'Whether to enable 4G EPS service, 0=disable, 1=enable',
contextIdTip:'To sign up for the APN context ID, you must select it from the APN Context list.',
staticIpTip:'Specify the static IP address used by mobile phone users when surfing the Internet. If it is "-", it means using a dynamic IP address.',
epsOdbTip:"ODB (Operator-Determined Barring) operator-determined blocking, that is, the user's business ability to access the EPS network is determined by the operator. Selected --- the corresponding service is allowed Unselected --- the corresponding service is prohibited",
hplmnOdbTip:"HPLMN-ODB blocking determined by the home operator, that is, the user's service ability to access the EPS network is determined by the user's home operator. Selected --- the corresponding service is allowed Unselected -- the corresponding service is prohibited",
ardTip:'The access control flag (Access-Restriction-Data) can be used to distinguish 2G/3G/LTE users, which facilitates differentiated services for different types of users when 2G/3G/LTE networks coexist.',
},
base5G: {
neTypePlease: 'Query network element type',

View File

@@ -233,6 +233,7 @@ export default {
noListData:'暂无网元列表数据',
},
sub: {
subInfo:'签约信息',
neTypePlease: '查询网元类型',
neType: 'UDM网元类型',
export: '导出',
@@ -242,7 +243,20 @@ export default {
loadData: '更新数据',
loadDataTip: '成功获取更新数据:{num}条,系统内部进行数据更新,请勿重复点击获取更新!!!',
num: '删除个数',
batchAddText: '批量新增',
batchDelText: '批量删除',
startIMSI: '起始IMSI',
msisdnTip:'参数最大长度{msg}',
arfbTip:'限制区域模板,在模板指定的限制区域中,UE 不允许与网络通信',
sarTip:'服务区域限制模板,定义允许的区域,UE在这些区域中可以和网络通信;定义不允许的区,UE和网络在这些区域中,不允许发起Service Request 或 SM信令来获取用户服务',
micoTip:'签约的MICO业务标志位',
rfspTip:'RFSP 索引,在 NG-RAN中,特定RRM配置的索引,参数介于0到127之间',
epsFlagTip:'是否开启4G EPS 服务,0=不开启,1=开启',
contextIdTip:'签约APN 上下文ID,必须从APN Context list 中选择',
staticIpTip:'指定手机用户上网时使用的静态IP地址,为"-"时表示使用动态IP地址',
epsOdbTip:'ODB(Operator-Determined Barring)运营商决定的闭锁,即用户接入EPS网络的业务能力由运营商决定.选中 ---对应服务被允许 未选 --- 对应服务被禁止',
hplmnOdbTip:'HPLMN-ODB归属运营商决定的闭锁,即用户接入EPS网络的业务能力由用户归宿运营商决定.选中 --- 对应服务被允许 未选 -- 对应服务被禁止',
ardTip:'接入控制标志(Access-Restriction-Data),可用于区分2G/3G/LTE用户,便于为2G/3G/LTE网络共存时,对不同类型用户进行区分服务',
},
base5G: {
neTypePlease: '查询网元类型',

View File

@@ -970,7 +970,6 @@ onMounted(() => {
v-model:value="modalState.from.imsi"
:disabled="modalState.from.id != ''"
allow-clear
placeholder="请输入IMSI"
>
</a-input>
</a-form-item>
@@ -986,7 +985,6 @@ onMounted(() => {
<a-input
v-model:value="modalState.from.amf"
allow-clear
placeholder="请输入AMF"
></a-input>
</a-form-item>
</a-col>
@@ -1000,7 +998,6 @@ onMounted(() => {
<a-input
v-model:value="modalState.from.algoIndex"
allow-clear
placeholder="请输入Algo Index"
>
</a-input>
</a-form-item>
@@ -1017,7 +1014,6 @@ onMounted(() => {
<a-input
v-model:value="modalState.from.ki"
allow-clear
placeholder="请输入KI"
:disabled="modalState.from.id !== ''"
>
</a-input>
@@ -1032,7 +1028,6 @@ onMounted(() => {
<a-input
v-model:value="modalState.from.opc"
allow-clear
placeholder="请输入OPC"
:disabled="modalState.from.id !== ''"
></a-input>
</a-form-item>
@@ -1066,7 +1061,6 @@ onMounted(() => {
<a-input
v-model:value="modalState.BatchForm.imsi"
allow-clear
placeholder="请输入IMSI"
>
</a-input>
</a-form-item>
@@ -1079,7 +1073,6 @@ onMounted(() => {
>
<a-input-number
v-model:value="modalState.BatchForm.num"
placeholder="请输入放号数"
style="width: 100%"
></a-input-number>
</a-form-item>
@@ -1096,7 +1089,6 @@ onMounted(() => {
<a-input
v-model:value="modalState.BatchForm.amf"
allow-clear
placeholder="请输入AMF"
></a-input>
</a-form-item>
</a-col>
@@ -1109,7 +1101,6 @@ onMounted(() => {
<a-input
v-model:value="modalState.BatchForm.algoIndex"
allow-clear
placeholder="请输入Algo Index"
>
</a-input>
</a-form-item>
@@ -1126,7 +1117,6 @@ onMounted(() => {
<a-input
v-model:value="modalState.BatchForm.ki"
allow-clear
placeholder="请输入KI"
>
</a-input>
</a-form-item>
@@ -1140,7 +1130,6 @@ onMounted(() => {
<a-input
v-model:value="modalState.BatchForm.opc"
allow-clear
placeholder="请输入OPC"
></a-input>
</a-form-item>
</a-col>

View File

@@ -250,7 +250,7 @@ let modalState: ModalStateType = reactive({
hplmnOdb: [3, 4],
ard: [1, 7],
epstpl: 'def_eps',
contextId: '1',
contextId: '010200000000',
apnContext: '',
staticIp: '-',
},
@@ -273,7 +273,7 @@ let modalState: ModalStateType = reactive({
hplmnOdb: [3, 4],
ard: [1, 7],
epstpl: 'def_eps',
contextId: '1',
contextId: '010200000000',
apnContext: '',
staticIp: '-',
},
@@ -347,11 +347,13 @@ function PrefixZero(num: any, n: any) {
function fnModalVisibleByBatch(batchFlag?: number) {
if (batchFlag) {
modalStateBatchFrom.resetFields(); //重置表单
modalState.title = '批量添加签约信息';
modalState.title =
t('views.neUser.sub.batchAddText') + t('views.neUser.sub.subInfo');
modalState.visibleByBatch = true;
} else {
modalStateBatchFrom.resetFields(); //重置表单
modalState.title = '批量删除签约信息';
modalState.title =
t('views.neUser.sub.batchDelText') + t('views.neUser.sub.subInfo');
modalState.visibleByBatchDel = true;
}
}
@@ -363,16 +365,15 @@ function fnModalVisibleByBatch(batchFlag?: number) {
function fnModalVisibleByEdit(imsi?: string) {
if (!imsi) {
modalStateFrom.resetFields();
modalState.title = '添加签约信息';
modalState.title = t('common.addText') + t('views.neUser.sub.subInfo');
modalState.visibleByEdit = true;
} else {
if (modalState.confirmLoading) return;
const hide = message.loading(t('common.loading'), 0);
modalState.confirmLoading = true;
const neID = queryParams.neId || '-';
getSub(neID, imsi).then(res => {
modalState.confirmLoading = false;
hide();
getSub(neID, imsi)
.then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
let ardAll = parseInt(res.data.ard).toString(2).padStart(8, '0');
let hplAll = parseInt(res.data.hplmnOdb).toString(2).padStart(8, '0');
@@ -401,11 +402,16 @@ function fnModalVisibleByEdit(imsi?: string) {
res.data.epsOdb = epsOdbArray;
modalState.from = Object.assign(modalState.from, res.data);
modalState.title = '修改签约信息';
modalState.title =
t('common.editText') + t('views.neUser.sub.subInfo');
modalState.visibleByEdit = true;
} else {
message.error(`获取签约信息失败`, 2);
message.error(t('common.getInfoFail'), 2);
}
})
.finally(() => {
hide();
modalState.confirmLoading = false;
});
}
}
@@ -414,9 +420,16 @@ function fnModalVisibleByEdit(imsi?: string) {
const modalStateFrom = Form.useForm(
modalState.from,
reactive({
imsi: [{ required: true, message: 'IMSI不能为空' }],
staticIp: [{ required: true, message: '静态IP不能为空' }],
smData: [{ required: true, message: 'Subscribed SM Data不能为空' }],
imsi: [{ required: true, message: 'IMSI' + t('common.unableNull') }],
staticIp: [
{ required: true, message: 'static ip' + t('common.unableNull') },
],
smData: [
{
required: true,
message: 'Subscribed SM Data' + t('common.unableNull'),
},
],
})
);
@@ -489,11 +502,23 @@ function fnModalOk() {
const modalStateBatchFrom = Form.useForm(
modalState.BatchForm,
reactive({
num: [{ required: true, message: '放号数不能为空' }],
imsi: [{ required: true, message: 'IMSI不能为空' }],
msisdn: [{ required: true, message: 'MSISDN不能为空' }],
staticIp: [{ required: true, message: '静态IP不能为空' }],
smData: [{ required: true, message: 'Subscribed SM Data不能为空' }],
num: [
{
required: true,
message: t('views.neUser.sub.num') + t('common.unableNull'),
},
],
imsi: [{ required: true, message: 'IMSI' + t('common.unableNull') }],
msisdn: [{ required: true, message: 'MSISDN' + t('common.unableNull') }],
staticIp: [
{ required: true, message: 'static ip' + t('common.unableNull') },
],
smData: [
{
required: true,
message: 'Subscribed SM Data' + t('common.unableNull'),
},
],
})
);
@@ -567,8 +592,13 @@ function fnBatchModalOk() {
const modalStateBatchDelFrom = Form.useForm(
modalState.BatchDelForm,
reactive({
num: [{ required: true, message: '放号数不能为空' }],
imsi: [{ required: true, message: 'IMSI不能为空' }],
num: [
{
required: true,
message: t('views.neUser.sub.num') + t('common.unableNull'),
},
],
imsi: [{ required: true, message: 'IMSI' + t('common.unableNull') }],
})
);
@@ -654,14 +684,14 @@ function fnRecordDelete(imsi: string) {
if (!neID) return;
Modal.confirm({
title: t('common.tipTitle'),
content: `确认删除IMSI编号为: ${imsi} 的签约用户嘛?`,
content: t('views.neUser.auth.delSure', { imsi: imsi }),
onOk() {
const key = 'delSub';
message.loading({ content: t('common.loading'), key });
delSub(neID, imsi).then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
message.success({
content: `删除成功`,
content: t('common.msgSuccess', { msg: t('common.deleteText') }),
key,
duration: 2,
});
@@ -690,7 +720,7 @@ function fnExportList(type: string) {
}).then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
message.success({
content: `已完成导出`,
content: t('common.msgSuccess', { msg: t('common.export') }),
key,
duration: 2,
});
@@ -728,7 +758,7 @@ function fnLoadData() {
}, 3000);
} else {
message.error({
content: `获取数据失败`,
content: t('common.getInfoFail'),
duration: 3,
});
}
@@ -766,7 +796,7 @@ type ModalUploadImportStateType = {
/**对话框表格信息导入对象信息状态 */
let uploadImportState: ModalUploadImportStateType = reactive({
visible: false,
title: '数据导入',
title: t('components.UploadModal.uploadTitle'),
loading: false,
msg: '',
});
@@ -790,16 +820,16 @@ function fnModalUploadImportUpload(file: File) {
formData.append('file', file);
const neID = queryParams.neId;
if (!neID) {
return Promise.reject('未知网元');
return Promise.reject('Unknown network element');
}
const hide = message.loading('正在上传...', 0);
const hide = message.loading(t('common.loading'), 0);
uploadImportState.loading = true;
importSubData(neID, formData)
.then(res => {
uploadImportState.msg = res.msg;
})
.catch((err: { code: number; msg: string }) => {
message.error(`上传失败 ${err.msg}`);
message.error(` ${err.msg}`);
})
.finally(() => {
hide();
@@ -827,7 +857,7 @@ onMounted(() => {
}
} else {
message.warning({
content: `暂无网元列表数据`,
content: t('views.neUser.auth.noListData'),
duration: 2,
});
}
@@ -861,20 +891,12 @@ onMounted(() => {
</a-col>
<a-col :lg="6" :md="12" :xs="24">
<a-form-item label="IMSI" name="imsi">
<a-input
v-model:value="queryParams.imsi"
allow-clear
placeholder="查询IMSI"
></a-input>
<a-input v-model:value="queryParams.imsi" allow-clear></a-input>
</a-form-item>
</a-col>
<a-col :lg="6" :md="12" :xs="24">
<a-form-item label="MSISDN" name="msisdn">
<a-input
v-model:value="queryParams.msisdn"
allow-clear
placeholder="查询MSISDN"
></a-input>
<a-input v-model:value="queryParams.msisdn" allow-clear></a-input>
</a-form-item>
</a-col>
<a-col :lg="6" :md="12" :xs="24">
@@ -1089,17 +1111,11 @@ onMounted(() => {
name="imsi"
v-bind="modalStateFrom.validateInfos.imsi"
>
<a-input
v-model:value="modalState.from.imsi"
allow-clear
placeholder="请输入IMSI"
>
<a-input v-model:value="modalState.from.imsi" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
SUPI=MCC+MNC+MSIN MCC=移动国家号码, 由三位数字组成
MNC=移动网络号由两位数字组成
MSIN=移动客户识别码,采用等长10位数字构成
{{ t('views.neUser.auth.imsiTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1113,14 +1129,12 @@ onMounted(() => {
name="msisdn"
v-bind="modalStateFrom.validateInfos.msisdn"
>
<a-input
v-model:value="modalState.from.msisdn"
allow-clear
placeholder="请输入msisdn"
>
<a-input v-model:value="modalState.from.msisdn" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title> 参数最大长度32 </template>
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '32' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
@@ -1163,7 +1177,9 @@ onMounted(() => {
<a-input v-model:value="modalState.from.smfSel" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title> 参数最大长度为16 </template>
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '16' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
@@ -1176,7 +1192,7 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
限制区域模板,在模板指定的限制区域中,UE 不允许与网络通信
{{ t('views.neUser.sub.arfbTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1196,10 +1212,7 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
服务区域限制模板,定义允许的区域,UE
在这些区域中可以和网络通信;定义不允许的区,UE
和网络在这些区域中,不允许发起Service Request SM
信令来获取用户服务
{{ t('views.neUser.sub.sarTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1209,7 +1222,7 @@ onMounted(() => {
</a-col>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G MICO mode" name="mico">
<a-tooltip title="签约的MICO业务标志位">
<a-tooltip :title="t('views.neUser.sub.micoTip')">
<a-select value="1">
<a-select-option value="1">Enable</a-select-option>
<a-select-option value="0">Disable</a-select-option>
@@ -1226,7 +1239,7 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
RFSP 索引, NG-RAN中,特定RRM配置的索引,参数介于0到127之间
{{ t('views.neUser.sub.rfspTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1253,7 +1266,9 @@ onMounted(() => {
<a-input v-model:value="modalState.from.smData" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title> 参数最大长度为128 </template>
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '128' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
@@ -1263,7 +1278,7 @@ onMounted(() => {
<a-col :lg="12" :md="12" :xs="24">
<a-form-item label="4G EPS flag" name="epsFlag">
<a-tooltip title="是否开启4G EPS 服务,0=不开启,1=开启">
<a-tooltip :title="t('views.neUser.sub.epsFlagTip')">
<a-select v-model:value="modalState.from.epsFlag">
<a-select-option value="1">Enable</a-select-option>
<a-select-option value="0">Disable</a-select-option>
@@ -1278,7 +1293,9 @@ onMounted(() => {
<a-input v-model:value="modalState.from.smData" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title> 参数最大长度为128 </template>
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '128' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
@@ -1288,7 +1305,7 @@ onMounted(() => {
<a-col :lg="12" :md="12" :xs="24">
<a-form-item label="4G EPS flag" name="epsFlag">
<a-tooltip title="是否开启4G EPS 服务,0=不开启,1=开启">
<a-tooltip :title="t('views.neUser.sub.epsFlagTip')">
<a-select v-model:value="modalState.from.epsFlag">
<a-select-option value="1">Enable</a-select-option>
<a-select-option value="0">Disable</a-select-option>
@@ -1305,12 +1322,10 @@ onMounted(() => {
name="epstpl"
v-bind="modalStateFrom.validateInfos.epstpl"
>
<a-tooltip title="参数最大长度为16">
<a-input
v-model:value="modalState.from.epstpl"
allow-clear
placeholder="请输入4G EPS User Template Name"
<a-tooltip
:title="t('views.neUser.sub.msisdnTip', { msg: '16' })"
>
<a-input v-model:value="modalState.from.epstpl" allow-clear>
</a-input>
</a-tooltip>
</a-form-item>
@@ -1321,12 +1336,8 @@ onMounted(() => {
name="contextId"
v-bind="modalStateFrom.validateInfos.contextId"
>
<a-tooltip title="签约APN 上下文ID,必须从APN Context list 中选择">
<a-input
v-model:value="modalState.from.contextId"
allow-clear
placeholder="请输入4G Context ID"
>
<a-tooltip :title="t('views.neUser.sub.contextIdTip')">
<a-input v-model:value="modalState.from.contextId" allow-clear>
</a-input>
</a-tooltip>
</a-form-item>
@@ -1340,15 +1351,11 @@ onMounted(() => {
v-bind="modalStateFrom.validateInfos.staticIp"
name="staticIp"
>
<a-input
v-model:value="modalState.from.staticIp"
allow-clear
placeholder="静态IP地址"
>
<a-input v-model:value="modalState.from.staticIp" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
指定手机用户上网时使用的静态IP地址,"-"时表示使用动态IP地址
{{ t('views.neUser.sub.staticIpTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1363,9 +1370,7 @@ onMounted(() => {
name="epsOdb"
v-bind="modalStateFrom.validateInfos.epsOdb"
>
<a-tooltip
title="ODB(Operator-Determined Barring)运营商决定的闭锁,即用户接入EPS网络的业务能力由运营商决定.选中 ---对应服务被允许 未选 --- 对应服务被禁止"
>
<a-tooltip :title="t('views.neUser.sub.epsOdbTip')">
<a-select
v-model:value="modalState.from.epsOdb"
mode="multiple"
@@ -1379,15 +1384,11 @@ onMounted(() => {
</a-form-item>
<a-form-item label="4G HPLMN odb" name="hplmnOdb">
<a-tooltip
title="HPLMN-ODB
归属运营商决定的闭锁,即用户接入EPS网络的业务能力由用户归宿运营商决定.选中 --- 对应服务被允许 未选 -- 对应服务被禁止"
>
<a-tooltip :title="t('views.neUser.sub.hplmnOdbTip')">
<a-select
v-model:value="modalState.from.hplmnOdb"
mode="multiple"
style="width: 100%"
placeholder="Please select"
:options="modalStateFromOption.hplmnOdb"
@change=""
>
@@ -1396,25 +1397,14 @@ onMounted(() => {
</a-form-item>
<a-form-item label="4G Access Restriction Data" name="ard">
<a-tooltip
title="接入控制标志(Access-Restriction-Data),可用于区分2G/3G/LTE用户,便于为2G/3G/LTE网络共存时,对不同类型用户进行区分服务"
>
<a-tooltip :title="t('views.neUser.sub.ardTip')">
<a-select
v-model:value="modalState.from.ard"
mode="multiple"
style="width: 100%"
placeholder="Please select"
:options="modalStateFromOption.ardJson"
@change=""
>
<template #suffixIcon>
<a-tooltip placement="topLeft">
<template #title>
指定手机用户上网时使用的静态IP地址,"-"时表示使用动态IP地址
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-select>
</a-tooltip>
</a-form-item>
@@ -1448,7 +1438,6 @@ onMounted(() => {
>
<a-input-number
v-model:value="modalState.BatchForm.num"
placeholder="请输入放号数"
style="width: 100%"
></a-input-number>
</a-form-item>
@@ -1461,17 +1450,11 @@ onMounted(() => {
name="imsi"
v-bind="modalStateBatchFrom.validateInfos.imsi"
>
<a-input
v-model:value="modalState.BatchForm.imsi"
allow-clear
placeholder="请输入IMSI"
>
<a-input v-model:value="modalState.BatchForm.imsi" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
SUPI=MCC+MNC+MSIN MCC=移动国家号码, 由三位数字组成
MNC=移动网络号由两位数字组成
MSIN=移动客户识别码,采用等长10位数字构成
{{ t('views.neUser.auth.imsiTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1485,14 +1468,12 @@ onMounted(() => {
name="msisdn"
v-bind="modalStateBatchFrom.validateInfos.msisdn"
>
<a-input
v-model:value="modalState.BatchForm.msisdn"
allow-clear
placeholder="请输入msisdn"
>
<a-input v-model:value="modalState.BatchForm.msisdn" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title> 参数最大长度32 </template>
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '32' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
@@ -1531,7 +1512,9 @@ onMounted(() => {
<a-input v-model:value="modalState.BatchForm.smfSel" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title> 参数最大长度为16 </template>
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '16' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
@@ -1545,7 +1528,7 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
限制区域模板,在模板指定的限制区域中,UE 不允许与网络通信
{{ t('views.neUser.sub.arfbTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1565,10 +1548,7 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
服务区域限制模板,定义允许的区域,UE
在这些区域中可以和网络通信;定义不允许的区,UE
和网络在这些区域中,不允许发起Service Request SM
信令来获取用户服务
{{ t('views.neUser.sub.sarTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1582,7 +1562,7 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
RFSP 索引, NG-RAN中,特定RRM配置的索引,参数介于0到127之间
{{ t('views.neUser.sub.rfspTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1595,7 +1575,7 @@ onMounted(() => {
<a-row :gutter="16">
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G MICO mode" name="mico">
<a-tooltip title="签约的MICO业务标志位">
<a-tooltip :title="t('views.neUser.sub.micoTip')">
<a-select value="1">
<a-select-option value="1">Enable</a-select-option>
<a-select-option value="0">Disable</a-select-option>
@@ -1622,7 +1602,9 @@ onMounted(() => {
<a-input v-model:value="modalState.BatchForm.smData" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title> 参数最大长度为128 </template>
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '128' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
@@ -1632,7 +1614,7 @@ onMounted(() => {
<a-col :lg="12" :md="12" :xs="24">
<a-form-item label="4G EPS flag" name="epsFlag">
<a-tooltip title="是否开启4G EPS 服务,0=不开启,1=开启">
<a-tooltip :title="t('views.neUser.sub.epsFlagTip')">
<a-select v-model:value="modalState.BatchForm.epsFlag">
<a-select-option value="1">Enable</a-select-option>
<a-select-option value="0">Disable</a-select-option>
@@ -1645,11 +1627,10 @@ onMounted(() => {
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item label="4G EPS User Template Name" name="epstpl">
<a-tooltip title="参数最大长度为16">
<a-tooltip :title="t('views.neUser.sub.msisdnTip', { msg: '16' })">
<a-input
v-model:value="modalState.BatchForm.epstpl"
allow-clear
placeholder="请输入4G EPS User Template Name"
>
</a-input>
</a-tooltip>
@@ -1657,11 +1638,10 @@ onMounted(() => {
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item label="4G Context ID" name="contextId">
<a-tooltip title="签约APN 上下文ID,必须从APN Context list 中选择">
<a-tooltip :title="t('views.neUser.sub.contextIdTip')">
<a-input
v-model:value="modalState.BatchForm.contextId"
allow-clear
placeholder="请输入4G Context ID"
>
</a-input>
</a-tooltip>
@@ -1678,12 +1658,11 @@ onMounted(() => {
<a-input
v-model:value="modalState.BatchForm.staticIp"
allow-clear
placeholder="静态IP地址"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
指定手机用户上网时使用的静态IP地址,"-"时表示使用动态IP地址
{{ t('views.neUser.sub.staticIpTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1695,13 +1674,12 @@ onMounted(() => {
<a-form-item label="4G EPS ODB" name="epsOdb">
<a-tooltip
title="ODB(Operator-Determined Barring)运营商决定的闭锁,即用户接入EPS网络的业务能力由运营商决定.选中 ---对应服务被允许 未选 --- 对应服务被禁止"
:title="t('views.neUser.sub.epsOdbTip')"
>
<a-select
v-model:value="modalState.BatchForm.epsOdb"
mode="multiple"
style="width: 100%"
placeholder="Please select"
:options="modalStateFromOption.odbJson"
@change=""
>
@@ -1711,14 +1689,13 @@ onMounted(() => {
<a-form-item label="4G HPLMN odb" name="hplmnOdb">
<a-tooltip
title="HPLMN-ODB
归属运营商决定的闭锁,即用户接入EPS网络的业务能力由用户归宿运营商决定.选中 --- 对应服务被允许 未选 -- 对应服务被禁止"
:title="t('views.neUser.sub.hplmnOdbTip')"
>
<a-select
v-model:value="modalState.BatchForm.hplmnOdb"
mode="multiple"
style="width: 100%"
placeholder="Please select"
:options="modalStateFromOption.hplmnOdb"
@change=""
>
@@ -1728,13 +1705,12 @@ onMounted(() => {
<a-form-item label="4G Access Restriction Data" name="ard">
<a-tooltip
title="接入控制标志(Access-Restriction-Data),可用于区分2G/3G/LTE用户,便于为2G/3G/LTE网络共存时,对不同类型用户进行区分服务"
:title="t('views.neUser.sub.ardTip')"
>
<a-select
v-model:value="modalState.BatchForm.ard"
mode="multiple"
style="width: 100%"
placeholder="Please select"
:options="modalStateFromOption.ardJson"
@change=""
>
@@ -1776,9 +1752,7 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
SUPI=MCC+MNC+MSIN MCC=移动国家号码, 由三位数字组成
MNC=移动网络号由两位数字组成
MSIN=移动客户识别码,采用等长10位数字构成
{{ t('views.neUser.auth.imsiTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1794,7 +1768,6 @@ onMounted(() => {
>
<a-input-number
v-model:value="modalState.BatchDelForm.num"
placeholder="请输入删号个数"
style="width: 100%"
></a-input-number>
</a-form-item>