feat: UDM用户数据代码完善

This commit is contained in:
TsMask
2023-11-23 21:49:57 +08:00
parent 5101b1bae3
commit 10a48af368
4 changed files with 700 additions and 357 deletions

View File

@@ -151,7 +151,7 @@ let tableColumns: ColumnsType = [
key: 'imsi',
align: 'center',
fixed: 'right',
width: 5,
width: 2,
},
];
@@ -240,7 +240,7 @@ let modalState: ModalStateType = reactive({
rat: '0',
arfb: 'def_arfb',
sar: 'def_sar',
cn: '',
cn: '3',
smData: '',
smfSel: 'def_snssai',
epsDat: '',
@@ -251,8 +251,10 @@ let modalState: ModalStateType = reactive({
ard: [1, 7],
epstpl: 'def_eps',
contextId: '1',
apnContext: '',
apnContext: [1, 2, 0, 0, 0, 0],
staticIp: '-',
rfsp: 1,
ueType: 1,
},
BatchForm: {
num: '',
@@ -263,7 +265,7 @@ let modalState: ModalStateType = reactive({
rat: '0',
arfb: 'def_arfb',
sar: 'def_sar',
cn: '',
cn: '3',
smData: '',
smfSel: 'def_snssai',
epsDat: '',
@@ -274,8 +276,10 @@ let modalState: ModalStateType = reactive({
ard: [1, 7],
epstpl: 'def_eps',
contextId: '1',
apnContext: '',
apnContext: [1, 2, 0, 0, 0, 0],
staticIp: '-',
rfsp: 1,
ueType: 1,
},
BatchDelForm: {
num: '',
@@ -401,7 +405,18 @@ function fnModalVisibleByEdit(imsi?: string) {
res.data.hplmnOdb = hplmnArray;
res.data.epsOdb = epsOdbArray;
modalState.from = Object.assign(modalState.from, res.data);
// 4G APN Context List
const apnContextStr = res.data.apnContext;
const apnContextArr = [];
for (let i = 0; i < apnContextStr.length; i += 2) {
const num = Number(`${apnContextStr[i]}${apnContextStr[i + 1]}`);
apnContextArr.push(num);
}
modalState.from = Object.assign(modalState.from, res.data, {
apnContext: apnContextArr,
});
modalState.title =
t('common.editText') + t('views.neUser.sub.subInfo');
modalState.visibleByEdit = true;
@@ -468,7 +483,12 @@ function fnModalOk() {
from.epsOdb = '' + parseInt(odbArr.join(''), 2);
from.hplmnOdb = '' + parseInt(hplmnArr.join(''), 2);
from.ard = '' + parseInt(ardArr.join(''), 2);
from.cn = '3';
// 4G APN Context List
from.apnContext = from.apnContext
.map((item: number) => `${item}`.padStart(2, '0'))
.join('');
const neID = queryParams.neId || '-';
const result = from.id ? updateSub(neID, from) : addSub(neID, from);
const hide = message.loading({ content: t('common.loading') });
@@ -505,7 +525,7 @@ const modalStateBatchFrom = Form.useForm(
num: [
{
required: true,
message: t('views.neUser.sub.num') + t('common.unableNull'),
message: t('views.neUser.sub.numAdd') + t('common.unableNull'),
},
],
imsi: [{ required: true, message: 'IMSI' + t('common.unableNull') }],
@@ -552,13 +572,16 @@ function fnBatchModalOk() {
from.epsOdb = '' + parseInt(odbArr.join(''), 2);
from.hplmnOdb = '' + parseInt(hplmnArr.join(''), 2);
from.ard = '' + parseInt(ardArr.join(''), 2);
from.cn = '3';
// 4G APN Context List
from.apnContext = from.apnContext
.map((item: number) => `${item}`.padStart(2, '0'))
.join('');
const neID = queryParams.neId || '-';
// const result = from.id ? updateAuth(from) : addAuth(neID, from);
from.neID = neID;
const result = batchAddSub(from);
const hide = message.loading({ content: t('common.loading') });
result
batchAddSub(from)
.then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
message.success({
@@ -591,7 +614,7 @@ const modalStateBatchDelFrom = Form.useForm(
num: [
{
required: true,
message: t('views.neUser.sub.num') + t('common.unableNull'),
message: t('views.neUser.sub.numDel') + t('common.unableNull'),
},
],
imsi: [{ required: true, message: 'IMSI' + t('common.unableNull') }],
@@ -608,13 +631,9 @@ function fnBatchDelModalOk() {
.then(e => {
modalState.confirmLoading = true;
const from = toRaw(modalState.BatchDelForm);
const neID = queryParams.neId || '-';
// const result = from.id ? updateAuth(from) : addAuth(neID, from);
from.neID = neID;
const result = batchDelSub(from);
from.neID = queryParams.neId || '-';
const hide = message.loading({ content: t('common.loading') });
result
batchDelSub(from)
.then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
message.success({
@@ -746,12 +765,12 @@ function fnLoadData() {
description: t('views.neUser.sub.loadDataTip', { num: res.data }),
duration: 10,
});
// 延迟3s后关闭loading刷新列表
// 延迟5s后关闭loading刷新列表
setTimeout(() => {
modalState.loadDataLoading = false;
tableState.loading = false; // 表格loading
fnQueryReset();
}, 3000);
}, 5000);
} else {
message.error({
content: t('common.getInfoFail'),
@@ -854,7 +873,7 @@ onMounted(() => {
}
} else {
message.warning({
content: t('views.neUser.auth.noListData'),
content: t('common.noData'),
duration: 2,
});
}
@@ -1113,7 +1132,10 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.auth.imsiTip') }}
{{ t('views.neUser.sub.imsiTip') }}<br />
{{ t('views.neUser.sub.imsiTip1') }}<br />
{{ t('views.neUser.sub.imsiTip2') }}<br />
{{ t('views.neUser.sub.imsiTip3') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1127,11 +1149,15 @@ onMounted(() => {
name="msisdn"
v-bind="modalStateFrom.validateInfos.msisdn"
>
<a-input v-model:value="modalState.from.msisdn" allow-clear>
<a-input
v-model:value="modalState.from.msisdn"
allow-clear
:maxlength="32"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '32' }) }}
{{ t('views.neUser.sub.msisdnTip', { num: '32' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1150,7 +1176,19 @@ onMounted(() => {
name="ambr"
v-bind="modalStateFrom.validateInfos.ambr"
>
<a-input v-model:value="modalState.from.ambr" allow-clear>
<a-input
v-model:value="modalState.from.ambr"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.inputTip', { num: '16' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
@@ -1160,7 +1198,19 @@ onMounted(() => {
name="nssai"
v-bind="modalStateFrom.validateInfos.nssai"
>
<a-input v-model:value="modalState.from.nssai" allow-clear>
<a-input
v-model:value="modalState.from.nssai"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.inputTip', { num: '16' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
@@ -1172,11 +1222,15 @@ onMounted(() => {
label="5G Subscribed SMF Selection Data Template"
name="smfSel"
>
<a-input v-model:value="modalState.from.smfSel" allow-clear>
<a-input
v-model:value="modalState.from.smfSel"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '16' }) }}
{{ t('views.neUser.sub.inputTip', { num: '16' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1186,7 +1240,11 @@ onMounted(() => {
</a-col>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G Forbidden Areas Template" name="arfb">
<a-input v-model:value="modalState.from.arfb" allow-clear>
<a-input
v-model:value="modalState.from.arfb"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
@@ -1206,7 +1264,11 @@ onMounted(() => {
label="5G Service Area Restriction Template"
name="sar"
>
<a-input v-model:value="modalState.from.sar" allow-clear>
<a-input
v-model:value="modalState.from.sar"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
@@ -1218,22 +1280,15 @@ onMounted(() => {
</a-input>
</a-form-item>
</a-col>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G MICO Mode" name="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>
</a-select>
</a-tooltip>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G RFSP Index" name="rfsp">
<a-input value="1" allow-clear>
<a-input-number
v-model:value="modalState.from.rfsp"
style="width: 100%"
:min="0"
:max="127"
placeholder="0 ~ 127"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
@@ -1242,12 +1297,47 @@ onMounted(() => {
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-input-number>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :lg="24" :md="24" :xs="24">
<a-form-item
label="5G MICO Mode"
name="mico"
:help="t('views.neUser.sub.micoTip')"
>
<a-select value="1">
<a-select-option value="1">
{{ t('views.neUser.sub.enable') }}
</a-select-option>
<a-select-option value="0">
{{ t('views.neUser.sub.disable') }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G UE Usage Type" name="ueType">
<a-input value="1" allow-clear> </a-input>
<a-input-number
v-model:value="modalState.from.ueType"
style="width: 100%"
:min="0"
:max="127"
placeholder="0 ~ 127"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.ueTypeTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input-number>
</a-form-item>
</a-col>
</a-row>
@@ -1259,11 +1349,15 @@ onMounted(() => {
name="smData"
v-bind="modalStateFrom.validateInfos.smData"
>
<a-input v-model:value="modalState.from.smData" allow-clear>
<a-input
v-model:value="modalState.from.smData"
allow-clear
:maxlength="128"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '128' }) }}
{{ t('views.neUser.sub.inputTip', { num: '128' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1275,11 +1369,15 @@ onMounted(() => {
<a-row :gutter="16" v-else>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="Subscribed SM Data" name="smData">
<a-input v-model:value="modalState.from.smData" allow-clear>
<a-input
v-model:value="modalState.from.smData"
allow-clear
:maxlength="128"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '128' }) }}
{{ t('views.neUser.sub.inputTip', { num: '128' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1288,8 +1386,50 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-divider orientation="left">4G</a-divider>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
label="4G EPS Flag"
name="epsFlag"
:help="t('views.neUser.sub.epsFlagTip')"
>
<a-select v-model:value="modalState.from.epsFlag">
<a-select-option value="1">
{{ t('views.neUser.sub.enable') }}
</a-select-option>
<a-select-option value="0">
{{ t('views.neUser.sub.disable') }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
label="4G EPS User Template Name"
name="epstpl"
v-bind="modalStateFrom.validateInfos.epstpl"
>
<a-input
v-model:value="modalState.from.epstpl"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.inputTip', { num: '16' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :lg="24" :md="24" :xs="24">
<a-form-item
@@ -1311,51 +1451,46 @@ onMounted(() => {
</a-col>
</a-row>
<a-form-item
label="4G Context ID"
name="contextId"
v-bind="modalStateFrom.validateInfos.contextId"
>
<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 label="4G Context ID" name="contextId">
<a-input v-model:value="modalState.from.contextId" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.contextIdTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
label="4G EPS User Template Name"
name="epstpl"
v-bind="modalStateFrom.validateInfos.epstpl"
>
<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>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item label="4G EPS Flag" name="epsFlag">
<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>
</a-select>
</a-tooltip>
</a-form-item>
</a-col>
</a-row>
<a-form-item
label="4G APN Context List"
name="apnContext"
:help="t('views.neUser.sub.apnContextTip')"
>
<a-input-group compact>
<a-input-number
v-for="(_, i) in modalState.from.apnContext"
:key="i"
:title="i"
style="width: 16.5%"
:min="0"
:max="99"
v-model:value="modalState.from.apnContext[i]"
></a-input-number>
</a-input-group>
</a-form-item>
<a-form-item
label="4G EPS ODB"
name="epsOdb"
v-bind="modalStateFrom.validateInfos.epsOdb"
>
<a-tooltip :title="t('views.neUser.sub.epsOdbTip')">
<a-tooltip
:title="t('views.neUser.sub.epsOdbTip')"
placement="topLeft"
>
<a-select
v-model:value="modalState.from.epsOdb"
mode="multiple"
@@ -1369,7 +1504,10 @@ onMounted(() => {
</a-form-item>
<a-form-item label="4G HPLMN ODB" name="hplmnOdb">
<a-tooltip :title="t('views.neUser.sub.hplmnOdbTip')">
<a-tooltip
:title="t('views.neUser.sub.hplmnOdbTip')"
placement="topLeft"
>
<a-select
v-model:value="modalState.from.hplmnOdb"
mode="multiple"
@@ -1382,7 +1520,7 @@ onMounted(() => {
</a-form-item>
<a-form-item label="4G Access Restriction Data" name="ard">
<a-tooltip :title="t('views.neUser.sub.ardTip')">
<a-tooltip :title="t('views.neUser.sub.ardTip')" placement="topLeft">
<a-select
v-model:value="modalState.from.ard"
mode="multiple"
@@ -1417,13 +1555,16 @@ onMounted(() => {
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.neUser.auth.num')"
:label="t('views.neUser.sub.numAdd')"
name="num"
v-bind="modalStateBatchFrom.validateInfos.num"
>
<a-input-number
v-model:value="modalState.BatchForm.num"
style="width: 100%"
:min="1"
:max="100"
placeholder="<=100"
></a-input-number>
</a-form-item>
</a-col>
@@ -1439,7 +1580,10 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.auth.imsiTip') }}
{{ t('views.neUser.sub.imsiTip') }}<br />
{{ t('views.neUser.sub.imsiTip1') }}<br />
{{ t('views.neUser.sub.imsiTip2') }}<br />
{{ t('views.neUser.sub.imsiTip3') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1453,11 +1597,15 @@ onMounted(() => {
name="msisdn"
v-bind="modalStateBatchFrom.validateInfos.msisdn"
>
<a-input v-model:value="modalState.BatchForm.msisdn" allow-clear>
<a-input
v-model:value="modalState.BatchForm.msisdn"
allow-clear
max
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '32' }) }}
{{ t('views.neUser.sub.msisdnTip', { num: '32' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1471,8 +1619,24 @@ onMounted(() => {
<a-row :gutter="16">
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G Subscribed UE AMBR Template" name="ambr">
<a-input v-model:value="modalState.BatchForm.ambr" allow-clear>
<a-form-item
label="5G Subscribed UE AMBR Template"
name="ambr"
v-bind="modalStateBatchFrom.validateInfos.ambr"
>
<a-input
v-model:value="modalState.BatchForm.ambr"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.inputTip', { num: '16' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
@@ -1482,7 +1646,19 @@ onMounted(() => {
name="nssai"
v-bind="modalStateBatchFrom.validateInfos.nssai"
>
<a-input v-model:value="modalState.BatchForm.nssai" allow-clear>
<a-input
v-model:value="modalState.BatchForm.nssai"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.inputTip', { num: '16' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
@@ -1494,11 +1670,15 @@ onMounted(() => {
label="5G Subscribed SMF Selection Data Template"
name="smfSel"
>
<a-input v-model:value="modalState.BatchForm.smfSel" allow-clear>
<a-input
v-model:value="modalState.BatchForm.smfSel"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '16' }) }}
{{ t('views.neUser.sub.inputTip', { num: '16' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1506,9 +1686,12 @@ onMounted(() => {
</a-input>
</a-form-item>
</a-col>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G Forbidden Areas Template" name="arfb">
<a-form-item
label="5G Forbidden Areas Template"
name="arfb"
:maxlength="16"
>
<a-input v-model:value="modalState.BatchForm.arfb" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
@@ -1529,7 +1712,11 @@ onMounted(() => {
label="5G Service Area Restriction Template"
name="sar"
>
<a-input v-model:value="modalState.BatchForm.sar" allow-clear>
<a-input
v-model:value="modalState.BatchForm.sar"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
@@ -1541,22 +1728,15 @@ onMounted(() => {
</a-input>
</a-form-item>
</a-col>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G MICO Mode" name="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>
</a-select>
</a-tooltip>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G RFSP Index" name="rfsp">
<a-input value="1" allow-clear>
<a-input-number
v-model:value="modalState.BatchForm.rfsp"
style="width: 100%"
:min="0"
:max="127"
placeholder="0 ~ 127"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
@@ -1565,46 +1745,149 @@ onMounted(() => {
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-input-number>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :lg="24" :md="24" :xs="24">
<a-form-item
label="5G MICO Mode"
name="mico"
:help="t('views.neUser.sub.micoTip')"
>
<a-select value="1">
<a-select-option value="1">
{{ t('views.neUser.sub.enable') }}
</a-select-option>
<a-select-option value="0">
{{ t('views.neUser.sub.disable') }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item label="5G UE Usage Type" name="ueType">
<a-input value="1" allow-clear> </a-input>
<a-input-number
v-model:value="modalState.BatchForm.ueType"
style="width: 100%"
:min="0"
:max="127"
placeholder="0 ~ 127"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.ueTypeTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input-number>
</a-form-item>
</a-col>
</a-row>
<a-form-item
label="Subscribed SM Data"
name="smData"
v-bind="modalStateBatchFrom.validateInfos.smData"
>
<a-input v-model:value="modalState.BatchForm.smData" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.msisdnTip', { msg: '128' }) }}
<a-row :gutter="16">
<a-col :lg="24" :md="24" :xs="24">
<a-form-item
label="Subscribed SM Data"
name="smData"
v-bind="modalStateBatchFrom.validateInfos.smData"
>
<a-input
v-model:value="modalState.BatchForm.smData"
allow-clear
:maxlength="128"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.inputTip', { num: '128' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-input>
</a-form-item>
</a-col>
</a-row>
<a-divider orientation="left">4G</a-divider>
<a-form-item
label="4G Static IP"
name="staticIp"
v-bind="modalStateBatchFrom.validateInfos.staticIp"
>
<a-input v-model:value="modalState.BatchForm.staticIp" allow-clear>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
label="4G EPS Flag"
name="epsFlag"
:help="t('views.neUser.sub.epsFlagTip')"
>
<a-select v-model:value="modalState.BatchForm.epsFlag">
<a-select-option value="1">
{{ t('views.neUser.sub.enable') }}
</a-select-option>
<a-select-option value="0">
{{ t('views.neUser.sub.disable') }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
label="4G EPS User Template Name"
name="epstpl"
v-bind="modalStateFrom.validateInfos.epstpl"
>
<a-input
v-model:value="modalState.BatchForm.epstpl"
allow-clear
:maxlength="16"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.inputTip', { num: '16' }) }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :lg="24" :md="24" :xs="24">
<a-form-item
label="4G Static IP"
v-bind="modalStateFrom.validateInfos.staticIp"
name="staticIp"
>
<a-input
v-model:value="modalState.BatchForm.staticIp"
allow-clear
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.staticIpTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
</a-row>
<a-form-item label="4G Context ID" name="contextId">
<a-input v-model:value="modalState.BatchForm.contextId" allow-clear>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.staticIpTip') }}
{{ t('views.neUser.sub.contextIdTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1612,45 +1895,38 @@ onMounted(() => {
</a-input>
</a-form-item>
<a-form-item label="4G Context ID" name="contextId">
<a-tooltip :title="t('views.neUser.sub.contextIdTip')">
<a-input v-model:value="modalState.BatchForm.contextId" allow-clear>
</a-input>
</a-tooltip>
<a-form-item
label="4G APN Context List"
name="apnContext"
:help="t('views.neUser.sub.apnContextTip')"
>
<a-input-group compact>
<a-input-number
v-for="(_, i) in modalState.BatchForm.apnContext"
:key="i"
:title="i"
style="width: 16.5%"
:min="0"
:max="99"
v-model:value="modalState.BatchForm.apnContext[i]"
></a-input-number>
</a-input-group>
</a-form-item>
<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="t('views.neUser.sub.msisdnTip', { msg: '16' })"
>
<a-input
v-model:value="modalState.BatchForm.epstpl"
allow-clear
>
</a-input>
</a-tooltip>
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item label="4G EPS Flag" name="epsFlag">
<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>
</a-select>
</a-tooltip>
</a-form-item>
</a-col>
</a-row>
<a-form-item label="4G EPS ODB" name="epsOdb">
<a-tooltip :title="t('views.neUser.sub.epsOdbTip')">
<a-form-item
label="4G EPS ODB"
name="epsOdb"
v-bind="modalStateFrom.validateInfos.epsOdb"
>
<a-tooltip
:title="t('views.neUser.sub.epsOdbTip')"
placement="topLeft"
>
<a-select
v-model:value="modalState.BatchForm.epsOdb"
mode="multiple"
style="width: 100%"
placeholder="Please select"
:options="modalStateFromOption.odbJson"
@change=""
>
@@ -1659,7 +1935,10 @@ onMounted(() => {
</a-form-item>
<a-form-item label="4G HPLMN ODB" name="hplmnOdb">
<a-tooltip :title="t('views.neUser.sub.hplmnOdbTip')">
<a-tooltip
:title="t('views.neUser.sub.hplmnOdbTip')"
placement="topLeft"
>
<a-select
v-model:value="modalState.BatchForm.hplmnOdb"
mode="multiple"
@@ -1672,7 +1951,7 @@ onMounted(() => {
</a-form-item>
<a-form-item label="4G Access Restriction Data" name="ard">
<a-tooltip :title="t('views.neUser.sub.ardTip')">
<a-tooltip :title="t('views.neUser.sub.ardTip')" placement="topLeft">
<a-select
v-model:value="modalState.BatchForm.ard"
mode="multiple"
@@ -1714,7 +1993,10 @@ onMounted(() => {
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.auth.imsiTip') }}
{{ t('views.neUser.sub.imsiTip') }}<br />
{{ t('views.neUser.sub.imsiTip1') }}<br />
{{ t('views.neUser.sub.imsiTip2') }}<br />
{{ t('views.neUser.sub.imsiTip3') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
@@ -1724,13 +2006,16 @@ onMounted(() => {
</a-col>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item
:label="t('views.neUser.sub.num')"
:label="t('views.neUser.sub.numDel')"
name="num"
v-bind="modalStateBatchDelFrom.validateInfos.num"
>
<a-input-number
v-model:value="modalState.BatchDelForm.num"
style="width: 100%"
:min="1"
:max="100"
placeholder="<=100"
></a-input-number>
</a-form-item>
</a-col>