完善cbc页面

This commit is contained in:
lai
2025-07-09 14:53:35 +08:00
parent eb809f4f3d
commit 50543a241c
4 changed files with 379 additions and 121 deletions

View File

@@ -9,7 +9,7 @@ import { request } from '@/plugins/http-fetch';
*/ */
export function listCBC(query: Record<string, any>) { export function listCBC(query: Record<string, any>) {
return request({ return request({
url: `/psap/v1/cbc/001/message/list`, url: `/psap/v1/cbc/${query.neId}/message/list`,
method: 'get', method: 'get',
params: query, params: query,
timeout: 30_000, timeout: 30_000,

View File

@@ -370,6 +370,36 @@ export default {
agentName: 'Agent Name', agentName: 'Agent Name',
} }
}, },
cbc:{
cbe:{
title: ' CBC Event',
delTip: 'Confirm deletion of the event data item numbered [{num}]?',
eventName: 'Event Name',
startTime: 'Start Time',
endTime: 'End Time',
repetitionPeriod: 'Repetition Period',
numOfBcast: 'Number of Broadcasts',
msgPWSType: 'Message Type',
messageId: 'Message ID',
displayMode: 'Display Mode',
geoScope:' Geographic Scope',
emergencyUserAlert: 'Emergency User Alert',
activatePopup: 'Activate Popup',
warningType: 'Warning Type',
language:' Language',
warningMessageText:' Broadcast Content',
status: 'Status',
warningAreaType: 'Warning Area Type',
taiListTip:'TAI List cannot be empty',
taiSonTip:'TAI List each item MCC, MNC, TAC cannot be empty',
eutraListTip:'EUTRA CellId List cannot be empty',
eutraSonTip:'EUTRA CellId List each item MCC, MNC, CellId cannot be empty',
nrTip:'NR CellId List cannot be empty',
nrSonTip:'NR CellId List each item MCC, MNC, CellId cannot be empty',
areaTip:'Area ID List cannot be empty',
areaSonTip:'Area ID List each item AreaID cannot be empty',
}
},
dashboard: { dashboard: {
overview:{ overview:{
title: "Core Network Dashboard", title: "Core Network Dashboard",

View File

@@ -1,3 +1,7 @@
import { language } from "@/plugins/http-fetch";
import { eventData } from "@/views/dashboard/overview/hooks/useUserActivity";
import { start, status } from "nprogress";
export default { export default {
// 语言 // 语言
i18n: '中文', i18n: '中文',
@@ -370,6 +374,36 @@ export default {
agentName: '座席名称', agentName: '座席名称',
} }
}, },
cbc:{
cbe:{
title: '广播事件',
delTip: '确认删除编号为【{num}】的CBC事件吗',
eventName: '事件名称',
startTime: '开始时间',
endTime: '结束时间',
repetitionPeriod: '广播周期',
numOfBcast: '广播次数',
msgPWSType: '广播消息类型',
messageId: '广播消息编号',
displayMode: '显示模式',
geoScope:'广播覆盖范围',
emergencyUserAlert: '紧急用户提示',
activatePopup: '弹窗提示',
warningType: '预警类型标识',
language:'语言',
warningMessageText:'广播内容',
status: '状态',
warningAreaType: '预警区域类型',
taiListTip:'TAI List 不能为空',
taiSonTip:'TAI List 每项的 MCC、MNC、TAC 都不能为空',
eutraListTip:'EUTRA CellId List 不能为空',
eutraSonTip:'EUTRA CellId List 每项的 MCC、MNC、CellId 都不能为空',
nrTip:'NR CellId List 不能为空',
nrSonTip:'NR CellId List 每项的 MCC、MNC、CellId 都不能为空',
areaTip:'Area ID List 不能为空',
areaSonTip:'Area ID List 每项的 AreaID 都不能为空',
}
},
dashboard: { dashboard: {
overview:{ overview:{
title: "核心网系统看板", title: "核心网系统看板",

View File

@@ -87,7 +87,7 @@ let tableColumns: ColumnsType = [
width: 100, width: 100,
}, },
{ {
title: 'eventName', title: t('views.cbc.cbe.eventName'),
dataIndex: 'messageJson', dataIndex: 'messageJson',
align: 'left', align: 'left',
width: 150, width: 150,
@@ -97,7 +97,7 @@ let tableColumns: ColumnsType = [
}, },
}, },
{ {
title: 'Start Time', title: t('views.cbc.cbe.startTime'),
dataIndex: 'messageJson', dataIndex: 'messageJson',
align: 'left', align: 'left',
width: 150, width: 150,
@@ -107,7 +107,7 @@ let tableColumns: ColumnsType = [
}, },
}, },
{ {
title: 'Repetition Period', title: t('views.cbc.cbe.repetitionPeriod'),
dataIndex: 'messageJson', dataIndex: 'messageJson',
align: 'left', align: 'left',
width: 150, width: 150,
@@ -117,7 +117,7 @@ let tableColumns: ColumnsType = [
}, },
}, },
{ {
title: 'Num Of Bcast', title: t('views.cbc.cbe.numOfBcast'),
dataIndex: 'messageJson', dataIndex: 'messageJson',
align: 'left', align: 'left',
width: 150, width: 150,
@@ -127,18 +127,7 @@ let tableColumns: ColumnsType = [
}, },
}, },
{ {
title: 'Concurrent Warning Message Ind', title: t('views.cbc.cbe.status'),
dataIndex: 'messageJson',
align: 'left',
width: 200,
customRender(opt) {
const messageJson = opt.value;
console.log('messageJson', messageJson);
return '' + messageJson.concurrentWarningMessageInd;
},
},
{
title: t('common.status'),
dataIndex: 'status', dataIndex: 'status',
key: 'status', key: 'status',
align: 'left', align: 'left',
@@ -296,10 +285,6 @@ type ModalStateType = {
openByView: boolean; openByView: boolean;
/**新增框或修改框是否显示 */ /**新增框或修改框是否显示 */
openByEdit: boolean; openByEdit: boolean;
/**批量新增否显示 */
openByBatch: boolean;
/**批量删除否显示 */
openByBatchDel: boolean;
/**标题 */ /**标题 */
title: string; title: string;
/**表单数据 */ /**表单数据 */
@@ -314,32 +299,39 @@ type ModalStateType = {
let modalState: ModalStateType = reactive({ let modalState: ModalStateType = reactive({
openByView: false, openByView: false,
openByEdit: false, openByEdit: false,
openByBatch: false,
openByBatchDel: false,
title: 'CBC CBE', title: 'CBC CBE',
from: { from: {
id: undefined, id: undefined,
eventName: '', eventName: 'cmas_',
startTime: '', startTime: '',
repetitionPeriod: '', repetitionPeriod: '',
neId: '', neId: '',
// amDat // amDat
numOfBcast: '', numOfBcast: '',
concurrentWarningMessageInd: true,
//messageIdProfile //messageIdProfile
msgPWSType: 'CAMS', // messageIdProfile: {
messageId: '', msgPWSType: 'CAMS', //
messageId: 4370,
},
//serialNumProfile //serialNumProfile
displayMode: '', serialNumProfile: {
geoScope: '', // 0x00:EPC和5GC 0x01:5GC 0x02:EPC 0x03:EPC+5GC displayMode: 'normal',
messageCode: '', geoScope: 'PLMNwide',
messageCode: '',
},
//warningTypeProfile //warningTypeProfile
warningType: '', warningTypeProfile: {
emergencyUserAlert: true, warningType: '',
activatePopup: false, emergencyUserAlert: 'false',
activatePopup: 'true',
},
warningMessageProfile: {
language: 'English',
warningMessageText: 'it is CMAS message',
},
warningAreaType: 'tai', // 'tai' | 'eutra' | 'nr' |areaID warningAreaType: 'tai', // 'tai' | 'eutra' | 'nr' |areaID
warningAreaList: { warningAreaList: {
taiList: [ taiList: [
@@ -417,11 +409,21 @@ function delArea(idx: number) {
* 对话框弹出显示为 新增或者修改 * 对话框弹出显示为 新增或者修改
* @param noticeId 网元id, 不传为新增 * @param noticeId 网元id, 不传为新增
*/ */
function fnModalVisibleByEdit(id?: string) { function fnModalVisibleByEdit(record?: any) {
if (!id) { if (!record) {
modalStateFrom.resetFields(); modalStateFrom.resetFields();
modalState.title = t('common.addText') + t('views.neUser.sub.subInfo'); modalState.title = t('common.addText') + t('views.cbc.cbe.title');
modalState.openByEdit = true; modalState.openByEdit = true;
} else {
modalStateFrom.resetFields();
modalState.title = t('common.addText') + t('views.cbc.cbe.title');
modalState.openByEdit = true;
console.log('record', record);
modalState.from = Object.assign(modalState.from, record.messageJson, {
id: record.id,
status: record.status,
neId: record.neId,
});
} }
} }
@@ -432,43 +434,43 @@ const modalStateFrom = Form.useForm(
eventName: [ eventName: [
{ {
required: true, required: true,
//message: t('views.neUser.sub.numAdd') + t('common.unableNull'), message: t('views.cbc.cbe.eventName') + t('common.unableNull'),
}, },
], ],
repetitionPeriod: [ repetitionPeriod: [
{ {
required: true, required: true,
//message: t('views.neUser.sub.numAdd') + t('common.unableNull'), message: t('views.cbc.cbe.repetitionPeriod') + t('common.unableNull'),
}, },
], ],
numOfBcast: [ numOfBcast: [
{ {
required: true, required: true,
//message: t('views.neUser.sub.numAdd') + t('common.unableNull'), message: t('views.cbc.cbe.numOfBcast') + t('common.unableNull'),
}, },
], ],
msgPWSType: [ msgPWSType: [
{ {
required: true, required: true,
//message: t('views.neUser.sub.numAdd') + t('common.unableNull'), message: t('views.cbc.cbe.msgPWSType') + t('common.unableNull'),
}, },
], ],
messageId: [ messageId: [
{ {
required: true, required: true,
//message: t('views.neUser.sub.numAdd') + t('common.unableNull'), message: t('views.cbc.cbe.messageId') + t('common.unableNull'),
}, },
], ],
emergencyUserAlert: [ emergencyUserAlert: [
{ {
required: true, required: true,
//message: t('views.neUser.sub.numAdd') + t('common.unableNull'), message: t('views.cbc.cbe.emergencyUserAlert') + t('common.unableNull'),
}, },
], ],
activatePopup: [ activatePopup: [
{ {
required: true, required: true,
//message: t('views.neUser.sub.numAdd') + t('common.unableNull'), message: t('views.cbc.cbe.activatePopup') + t('common.unableNull'),
}, },
], ],
// ['warningAreaList.taiList']: [ // ['warningAreaList.taiList']: [
@@ -494,8 +496,74 @@ const modalStateFrom = Form.useForm(
* 进行表达规则校验 * 进行表达规则校验
*/ */
function fnModalOk() { function fnModalOk() {
// 区域列表必填校验
const areaType = modalState.from.warningAreaType;
const areaList = modalState.from.warningAreaList;
let valid = true;
let errMsg = '';
if (areaType === 'tai') {
if (!areaList.taiList || areaList.taiList.length === 0) {
valid = false;
errMsg = t('views.cbc.cbe.taiListTip');
} else {
for (const item of areaList.taiList) {
if (!item.plmnId.mcc || !item.plmnId.mnc || !item.tac) {
valid = false;
errMsg = t('views.cbc.cbe.taiSonTip');
break;
}
}
}
} else if (areaType === 'eutra') {
if (!areaList.eutraCellIdList || areaList.eutraCellIdList.length === 0) {
valid = false;
errMsg = t('views.cbc.cbe.eutraListTip');
} else {
for (const item of areaList.eutraCellIdList) {
if (!item.plmnId.mcc || !item.plmnId.mnc || !item.cellId) {
valid = false;
errMsg = t('views.cbc.cbe.eutraSonTip');
break;
}
}
}
} else if (areaType === 'nr') {
if (!areaList.nrCellIdList || areaList.nrCellIdList.length === 0) {
valid = false;
errMsg = t('views.cbc.cbe.nrTip');
} else {
for (const item of areaList.nrCellIdList) {
if (!item.plmnId.mcc || !item.plmnId.mnc || !item.cellId) {
valid = false;
errMsg = t('views.cbc.cbe.nrSonTip');
break;
}
}
}
} else if (areaType === 'area') {
if (
!areaList.emergencyAreaIDList ||
areaList.emergencyAreaIDList.length === 0
) {
valid = false;
errMsg = t('views.cbc.cbe.areaTip');
} else {
for (const item of areaList.emergencyAreaIDList) {
if (!item.areaId) {
valid = false;
errMsg = t('views.cbc.cbe.areaSonTip');
break;
}
}
}
}
if (!valid) {
message.error(errMsg, 3);
return;
}
const from = Object.assign({}, toRaw(modalState.from)); const from = Object.assign({}, toRaw(modalState.from));
from.neId = queryParams.neId; from.neId = queryParams.neId;
//return; //return;
@@ -508,44 +576,12 @@ function fnModalOk() {
addCBC(from) addCBC(from)
.then(res => { .then(res => {
if (res.code === RESULT_CODE_SUCCESS) { if (res.code === RESULT_CODE_SUCCESS) {
// if (from.num === 1) {
// message.success({
// content: t('common.msgSuccess', { msg: modalState.title }),
// duration: 3,
// });
// fnGetList(1);
// } else {
// const timerS = Math.max(
// Math.ceil(+from.num / 500),
// `${from.num}`.length * 5
// );
// notification.success({
// message: modalState.title,
// description: t('common.operateOk'),
// duration: timerS,
// });
// setTimeout(() => {
// fnGetList(1);
// }, timerS * 1000);
// }
message.success({ message.success({
content: t('common.msgSuccess', { msg: modalState.title }), content: t('common.msgSuccess', { msg: modalState.title }),
duration: 3, duration: 3,
}); });
fnGetList(1); fnGetList(1);
} else { } else {
// if (from.num === 1) {
// message.error({
// content: `${res.msg}`,
// duration: 3,
// });
// } else {
// notification.error({
// message: modalState.title,
// description: res.msg,
// duration: 3,
// });
// }
message.error({ message.error({
content: `${res.msg}`, content: `${res.msg}`,
duration: 3, duration: 3,
@@ -611,7 +647,7 @@ function fnRecordDelete(id: string) {
Modal.confirm({ Modal.confirm({
title: t('common.tipTitle'), title: t('common.tipTitle'),
content: t('views.neUser.auth.delSure', {}), content: t('views.cbc.cbe.delTip', { num: id }),
onOk() { onOk() {
modalState.loadDataLoading = true; modalState.loadDataLoading = true;
const hide = message.loading(t('common.loading'), 0); const hide = message.loading(t('common.loading'), 0);
@@ -681,7 +717,6 @@ function fnGetList(pageNum?: number) {
} }
function fnModalChange(event: any) { function fnModalChange(event: any) {
console.log(event);
modalState.from.warningAreaList = { modalState.from.warningAreaList = {
taiList: [ taiList: [
{ {
@@ -709,6 +744,22 @@ function fnModalChange(event: any) {
}; };
} }
function pwsTypeChange(value: any) {
if (value === 'ETWS') {
modalState.from.warningTypeProfile.warningType = 'TEST';
modalState.from.eventName = 'etws_';
modalState.from.serialNumProfile.displayMode = 'immediate';
modalState.from.warningTypeProfile.emergencyUserAlert = 'true';
modalState.from.warningTypeProfile.activatePopup = 'true';
} else if (value === 'CAMS') {
modalState.from.warningTypeProfile.warningType = '';
modalState.from.eventName = 'cmas_';
modalState.from.serialNumProfile.displayMode = 'normal';
modalState.from.warningTypeProfile.emergencyUserAlert = 'false';
modalState.from.warningTypeProfile.activatePopup = 'true';
}
}
onMounted(() => { onMounted(() => {
// 获取网元网元列表 // 获取网元网元列表
useNeInfoStore() useNeInfoStore()
@@ -763,7 +814,7 @@ onMounted(() => {
</a-col> </a-col>
<a-col :lg="6" :md="12" :xs="24"> <a-col :lg="6" :md="12" :xs="24">
<a-form-item label="status" name="status"> <a-form-item :label="t('views.cbc.cbe.status')" name="status">
<a-select <a-select
v-model:value="queryParams.status" v-model:value="queryParams.status"
:options="[ :options="[
@@ -777,7 +828,7 @@ onMounted(() => {
<a-col :lg="6" :md="12" :xs="24"> <a-col :lg="6" :md="12" :xs="24">
<a-form-item <a-form-item
:label="t('views.monitor.jobLog.createTime')" :label="t('views.cbc.cbe.startTime')"
name="queryRangePicker" name="queryRangePicker"
> >
<a-range-picker <a-range-picker
@@ -903,11 +954,21 @@ onMounted(() => {
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'cbeId'"> <template v-if="column.key === 'cbeId'">
<a-space :size="8" align="center"> <a-space :size="8" align="center">
<a-tooltip>
<template #title>{{ t('common.viewText') }}</template>
<a-button
type="link"
@click.prevent="fnModalVisibleByEdit(record)"
>
<template #icon><ProfileOutlined /></template>
</a-button>
</a-tooltip>
<a-tooltip> <a-tooltip>
<template #title>{{ t('common.deleteText') }}</template> <template #title>{{ t('common.deleteText') }}</template>
<a-button <a-button
type="link" type="link"
danger danger
:disabled="record.status === 'ACTIVE'"
@click.prevent="fnRecordDelete(record.id)" @click.prevent="fnRecordDelete(record.id)"
> >
<template #icon> <template #icon>
@@ -957,18 +1018,22 @@ onMounted(() => {
<a-row> <a-row>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item <a-form-item
label="eventName" :label="t('views.cbc.cbe.eventName')"
name="eventName" name="eventName"
v-bind="modalStateFrom.validateInfos.eventName" v-bind="modalStateFrom.validateInfos.eventName"
> >
<a-input v-model:value="modalState.from.eventName"></a-input> <a-input
:disabled="modalState.from.id"
v-model:value="modalState.from.eventName"
></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item label="startTime" name="startTime"> <a-form-item :label="t('views.cbc.cbe.startTime')" name="startTime">
<a-date-picker <a-date-picker
:disabled="modalState.from.id"
v-model:value="modalState.from.startTime" v-model:value="modalState.from.startTime"
show-time show-time
type="date" type="date"
@@ -980,8 +1045,9 @@ onMounted(() => {
</a-col> </a-col>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item label="endTime" name="endTime"> <a-form-item :label="t('views.cbc.cbe.endTime')" name="endTime">
<a-date-picker <a-date-picker
:disabled="modalState.from.id"
v-model:value="modalState.from.endTime" v-model:value="modalState.from.endTime"
show-time show-time
type="date" type="date"
@@ -995,11 +1061,12 @@ onMounted(() => {
<a-row> <a-row>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item <a-form-item
label="repetitionPeriod" :label="t('views.cbc.cbe.repetitionPeriod')"
name="repetitionPeriod" name="repetitionPeriod"
v-bind="modalStateFrom.validateInfos.repetitionPeriod" v-bind="modalStateFrom.validateInfos.repetitionPeriod"
> >
<a-input-number <a-input-number
:disabled="modalState.from.id"
v-model:value="modalState.from.repetitionPeriod" v-model:value="modalState.from.repetitionPeriod"
style="width: 100%" style="width: 100%"
></a-input-number> ></a-input-number>
@@ -1008,11 +1075,12 @@ onMounted(() => {
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item <a-form-item
label="numOfBcast" :label="t('views.cbc.cbe.numOfBcast')"
name="numOfBcast" name="numOfBcast"
v-bind="modalStateFrom.validateInfos.numOfBcast" v-bind="modalStateFrom.validateInfos.numOfBcast"
> >
<a-input-number <a-input-number
:disabled="modalState.from.id"
v-model:value="modalState.from.numOfBcast" v-model:value="modalState.from.numOfBcast"
style="width: 100%" style="width: 100%"
></a-input-number> ></a-input-number>
@@ -1026,12 +1094,16 @@ onMounted(() => {
<a-row> <a-row>
<a-col :lg="24" :md="24" :xs="24"> <a-col :lg="24" :md="24" :xs="24">
<a-form-item <a-form-item
label="msgPWSType" :label="t('views.cbc.cbe.msgPWSType')"
name="msgPWSType" name="msgPWSType"
:label-col="{ span: 6 }" :label-col="{ span: 6 }"
v-bind="modalStateFrom.validateInfos.msgPWSType" v-bind="modalStateFrom.validateInfos.msgPWSType"
> >
<a-select v-model:value="modalState.from.msgPWSType"> <a-select
:disabled="modalState.from.id"
v-model:value="modalState.from.messageIdProfile.msgPWSType"
@change="pwsTypeChange"
>
<a-select-option value="CAMS">CAMS</a-select-option> <a-select-option value="CAMS">CAMS</a-select-option>
<a-select-option value="ETWS">ETWS</a-select-option> <a-select-option value="ETWS">ETWS</a-select-option>
</a-select> </a-select>
@@ -1040,12 +1112,13 @@ onMounted(() => {
<a-col :lg="24" :md="24" :xs="24"> <a-col :lg="24" :md="24" :xs="24">
<a-form-item <a-form-item
label="messageId" :label="t('views.cbc.cbe.messageId')"
name="messageId" name="messageId"
v-bind="modalStateFrom.validateInfos.messageId" v-bind="modalStateFrom.validateInfos.messageId"
> >
<a-select <a-select
v-model:value="modalState.from.messageId" v-model:value="modalState.from.messageIdProfile.messageId"
:disabled="modalState.from.id"
style="width: 100%" style="width: 100%"
placeholder="Please select" placeholder="Please select"
:options=" :options="
@@ -1063,14 +1136,30 @@ onMounted(() => {
<a-row> <a-row>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item label="displayMode" name="displayMode"> <a-form-item
<a-input v-model:value="modalState.from.displayMode"></a-input> :label="t('views.cbc.cbe.displayMode')"
name="displayMode"
>
<a-select
:disabled="modalState.from.id"
v-model:value="modalState.from.serialNumProfile.displayMode"
>
<a-select-option value="normal">normal</a-select-option>
<a-select-option value="immediate">immediate</a-select-option>
</a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item label="geoScope" name="geoScope"> <a-form-item :label="t('views.cbc.cbe.geoScope')" name="geoScope">
<a-input v-model:value="modalState.from.geoScope"></a-input> <a-select
:disabled="modalState.from.id"
v-model:value="modalState.from.serialNumProfile.geoScope"
>
<a-select-option value="Cellwide">Cellwide</a-select-option>
<a-select-option value="PLMNwide">PLMNwide</a-select-option>
<a-select-option value="Area">Area</a-select-option>
</a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -1079,30 +1168,56 @@ onMounted(() => {
<a-row> <a-row>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item label="warningType" name="warningType"> <a-form-item
<a-input v-model:value="modalState.from.warningType"></a-input> :label="t('views.cbc.cbe.warningType')"
name="warningType"
>
<a-select
:disabled="modalState.from.id"
v-model:value="modalState.from.warningTypeProfile.warningType"
>
<a-select-option value="Earthquake">Earthquake</a-select-option>
<a-select-option value="Tsunami">Tsunami</a-select-option>
<a-select-option value="EarthquakeAndTsunami"
>EarthquakeAndTsunami</a-select-option
>
<a-select-option value="Test">Test</a-select-option>
<a-select-option value="Other">Other</a-select-option>
</a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item <a-form-item
label="UserAlert" :label="t('views.cbc.cbe.emergencyUserAlert')"
name="emergencyUserAlert" name="emergencyUserAlert"
v-bind="modalStateFrom.validateInfos.emergencyUserAlert" v-bind="modalStateFrom.validateInfos.emergencyUserAlert"
> >
<a-input <a-select
v-model:value="modalState.from.emergencyUserAlert" :disabled="modalState.from.id"
></a-input> v-model:value="
modalState.from.warningTypeProfile.emergencyUserAlert
"
>
<a-select-option value="true">true</a-select-option>
<a-select-option value="false">false</a-select-option>
</a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item <a-form-item
label="activatePopup" :label="t('views.cbc.cbe.activatePopup')"
name="activatePopup" name="activatePopup"
v-bind="modalStateFrom.validateInfos.activatePopup" v-bind="modalStateFrom.validateInfos.activatePopup"
> >
<a-input v-model:value="modalState.from.activatePopup"></a-input> <a-select
:disabled="modalState.from.id"
v-model:value="modalState.from.warningTypeProfile.activatePopup"
>
<a-select-option value="true">true</a-select-option>
<a-select-option value="false">false</a-select-option>
</a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -1111,22 +1226,42 @@ onMounted(() => {
<a-row> <a-row>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item label="language" name="language"> <a-form-item :label="t('views.cbc.cbe.language')" name="language">
<a-input v-model:value="modalState.from.language"></a-input> <a-select
:disabled="modalState.from.id"
v-model:value="modalState.from.warningMessageProfile.language"
>
<a-select-option value="English">English</a-select-option>
<a-select-option value="French">French</a-select-option>
<a-select-option value="Spanish">Spanish</a-select-option>
<a-select-option value="Chinese">Chinese</a-select-option>
<a-select-option value="Japanese">Japanese</a-select-option>
<a-select-option value="Korean">Korean</a-select-option>
</a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item label="warningMessageText" name="warningMessageText"> <a-form-item
:label="t('views.cbc.cbe.warningMessageText')"
name="warningMessageText"
>
<a-input <a-input
v-model:value="modalState.from.warningMessageText" :disabled="modalState.from.id"
v-model:value="
modalState.from.warningMessageProfile.warningMessageText
"
></a-input> ></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-form-item label="Warning Area Type" name="warningAreaType"> <a-form-item
:label="t('views.cbc.cbe.warningAreaType')"
name="warningAreaType"
>
<a-radio-group <a-radio-group
:disabled="modalState.from.id"
v-model:value="modalState.from.warningAreaType" v-model:value="modalState.from.warningAreaType"
@change="fnModalChange" @change="fnModalChange"
> >
@@ -1135,6 +1270,16 @@ onMounted(() => {
<a-radio value="nr">NR CellId List</a-radio> <a-radio value="nr">NR CellId List</a-radio>
<a-radio value="area">Area ID List</a-radio> <a-radio value="area">Area ID List</a-radio>
</a-radio-group> </a-radio-group>
<!-- <a-select
v-model:value="modalState.from.warningAreaType"
@change="fnModalChange"
>
<a-select-option value="tai">TAI List</a-select-option>
<a-select-option value="eutra">EUTRA CellId List</a-select-option>
<a-select-option value="nr">NR CellId List</a-select-option>
<a-select-option value="area">Area ID List</a-select-option>
</a-select> -->
</a-form-item> </a-form-item>
<!-- TAI List --> <!-- TAI List -->
@@ -1143,6 +1288,7 @@ onMounted(() => {
TAI TAI
<a-tooltip title="Add TAI"> <a-tooltip title="Add TAI">
<a-button <a-button
:disabled="modalState.from.id"
shape="circle" shape="circle"
@click="addTai" @click="addTai"
style="margin-left: 10px" style="margin-left: 10px"
@@ -1168,7 +1314,11 @@ onMounted(() => {
:validateTrigger="[]" :validateTrigger="[]"
:required="true" :required="true"
> >
<a-input v-model:value="item.plmnId.mcc" placeholder="MCC" /> <a-input
:disabled="modalState.from.id"
v-model:value="item.plmnId.mcc"
placeholder="MCC"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -1179,7 +1329,11 @@ onMounted(() => {
:validateTrigger="[]" :validateTrigger="[]"
:required="true" :required="true"
> >
<a-input v-model:value="item.plmnId.mnc" placeholder="MNC" /> <a-input
:disabled="modalState.from.id"
v-model:value="item.plmnId.mnc"
placeholder="MNC"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -1190,15 +1344,18 @@ onMounted(() => {
:validateTrigger="[]" :validateTrigger="[]"
:required="true" :required="true"
> >
<a-input v-model:value="item.tac" placeholder="TAC" /> <a-input
:disabled="modalState.from.id"
v-model:value="item.tac"
placeholder="TAC"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<!-- 123 -->
<a-col :span="4"> <a-col :span="4">
<a-tooltip title="Delete Tai" v-if="idx !== 0"> <a-tooltip title="Delete Tai" v-if="idx !== 0">
<a-button <a-button
:disabled="modalState.from.id"
danger danger
shape="circle" shape="circle"
v-if="idx !== 0" v-if="idx !== 0"
@@ -1219,6 +1376,7 @@ onMounted(() => {
EUTRA CellId List EUTRA CellId List
<a-tooltip title="Add EUTRA"> <a-tooltip title="Add EUTRA">
<a-button <a-button
:disabled="modalState.from.id"
shape="circle" shape="circle"
@click="addEutra" @click="addEutra"
style="margin-left: 10px" style="margin-left: 10px"
@@ -1241,7 +1399,11 @@ onMounted(() => {
:validateTrigger="[]" :validateTrigger="[]"
:required="true" :required="true"
> >
<a-input v-model:value="item.plmnId.mcc" placeholder="MCC" /> <a-input
:disabled="modalState.from.id"
v-model:value="item.plmnId.mcc"
placeholder="MCC"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -1252,7 +1414,11 @@ onMounted(() => {
:validateTrigger="[]" :validateTrigger="[]"
:required="true" :required="true"
> >
<a-input v-model:value="item.plmnId.mnc" placeholder="MNC" /> <a-input
:disabled="modalState.from.id"
v-model:value="item.plmnId.mnc"
placeholder="MNC"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -1263,7 +1429,11 @@ onMounted(() => {
:validateTrigger="[]" :validateTrigger="[]"
:required="true" :required="true"
> >
<a-input v-model:value="item.cellId" placeholder="CellId" /> <a-input
:disabled="modalState.from.id"
v-model:value="item.cellId"
placeholder="CellId"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -1273,6 +1443,7 @@ onMounted(() => {
<a-tooltip title="Delete EUTRA" v-if="idx !== 0"> <a-tooltip title="Delete EUTRA" v-if="idx !== 0">
<a-button <a-button
danger danger
:disabled="modalState.from.id"
shape="circle" shape="circle"
v-if="idx !== 0" v-if="idx !== 0"
@click="delEutra(idx)" @click="delEutra(idx)"
@@ -1292,7 +1463,12 @@ onMounted(() => {
<a-divider orientation="left"> <a-divider orientation="left">
NR CellId List NR CellId List
<a-tooltip title="Add NR"> <a-tooltip title="Add NR">
<a-button shape="circle" @click="addNr" style="margin-left: 10px"> <a-button
:disabled="modalState.from.id"
shape="circle"
@click="addNr"
style="margin-left: 10px"
>
<template #icon><plus-outlined /></template> <template #icon><plus-outlined /></template>
</a-button> </a-tooltip </a-button> </a-tooltip
></a-divider> ></a-divider>
@@ -1310,7 +1486,11 @@ onMounted(() => {
:validateTrigger="[]" :validateTrigger="[]"
:required="true" :required="true"
> >
<a-input v-model:value="item.plmnId.mcc" placeholder="MCC" /> <a-input
:disabled="modalState.from.id"
v-model:value="item.plmnId.mcc"
placeholder="MCC"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -1321,7 +1501,11 @@ onMounted(() => {
:validateTrigger="[]" :validateTrigger="[]"
:required="true" :required="true"
> >
<a-input v-model:value="item.plmnId.mnc" placeholder="MNC" /> <a-input
:disabled="modalState.from.id"
v-model:value="item.plmnId.mnc"
placeholder="MNC"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -1332,7 +1516,11 @@ onMounted(() => {
:validateTrigger="[]" :validateTrigger="[]"
:required="true" :required="true"
> >
<a-input v-model:value="item.cellId" placeholder="CellId" /> <a-input
:disabled="modalState.from.id"
v-model:value="item.cellId"
placeholder="CellId"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -1340,6 +1528,7 @@ onMounted(() => {
<a-tooltip title="Delete NR" v-if="idx !== 0"> <a-tooltip title="Delete NR" v-if="idx !== 0">
<a-button <a-button
danger danger
:disabled="modalState.from.id"
shape="circle" shape="circle"
v-if="idx !== 0" v-if="idx !== 0"
@click="delNr(idx)" @click="delNr(idx)"
@@ -1360,6 +1549,7 @@ onMounted(() => {
Area ID List Area ID List
<a-tooltip title="Add Area"> <a-tooltip title="Add Area">
<a-button <a-button
:disabled="modalState.from.id"
shape="circle" shape="circle"
@click="addArea" @click="addArea"
style="margin-left: 10px" style="margin-left: 10px"
@@ -1377,18 +1567,22 @@ onMounted(() => {
<a-row> <a-row>
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item <a-form-item
label="areaId" label="AreaID"
name="areaId" name="areaId"
:validateTrigger="[]" :validateTrigger="[]"
:required="true" :required="true"
> >
<a-input v-model:value="item.areaId" /> <a-input
:disabled="modalState.from.id"
v-model:value="item.areaId"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="4">
<a-tooltip title="Delete Area" v-if="idx !== 0"> <a-tooltip title="Delete Area" v-if="idx !== 0">
<a-button <a-button
danger danger
:disabled="modalState.from.id"
shape="circle" shape="circle"
v-if="idx !== 0" v-if="idx !== 0"
@click="delArea(idx)" @click="delArea(idx)"