Merge remote-tracking branch 'origin/main' into lichang

This commit is contained in:
TsMask
2024-05-09 19:26:20 +08:00
6 changed files with 50 additions and 38 deletions

View File

@@ -11,7 +11,7 @@ VITE_APP_NAME = "Core Network EMS"
VITE_APP_CODE = "CN EMS" VITE_APP_CODE = "CN EMS"
# 应用版本 # 应用版本
VITE_APP_VERSION = "2.240507.1" VITE_APP_VERSION = "2.240508.1"
# 接口基础URL地址-不带/后缀 # 接口基础URL地址-不带/后缀
VITE_API_BASE_URL = "/omc-api" VITE_API_BASE_URL = "/omc-api"

View File

@@ -11,7 +11,7 @@ VITE_APP_NAME = "Core Network EMS"
VITE_APP_CODE = "CN EMS" VITE_APP_CODE = "CN EMS"
# 应用版本 # 应用版本
VITE_APP_VERSION = "2.240507.1" VITE_APP_VERSION = "2.240508.1"
# 接口基础URL地址-不带/后缀 # 接口基础URL地址-不带/后缀
VITE_API_BASE_URL = "/omc-api" VITE_API_BASE_URL = "/omc-api"

View File

@@ -28,35 +28,38 @@ export async function listUEInfoBySMF(query: Record<string, any>) {
} }
// 模拟数据 // 模拟数据
// data.code = RESULT_CODE_SUCCESS;
// data.rows = [ // data.rows = [
// { // {
// imsi: 'imsi-460029004200044', // imsi: 'imsi-460002082101038',
// msisdn: 'msisdn-12346002044', // msisdn: 'msisdn-12307550000',
// pduSessionInfo: [ // pduSessionInfo: [
// { // {
// activeTime: '2023-11-29 18:39:06', // activeTime: '2024-05-08 11:08:22',
// dnn: 'ims', // dnn: 'ims',
// ipv4: '10.10.48.97', // ipv4: '10.10.86.2',
// ipv6: '',
// pduSessionID: 6,
// ranN3IP: '192.168.8.223',
// sstSD: '1-000001',
// tai: '46000-0001',
// upfN3IP: '192.168.1.161',
// },
// {
// activeTime: '2023-11-29 18:39:05',
// dnn: 'cmnet',
// ipv4: '10.10.48.62',
// ipv6: '', // ipv6: '',
// pduSessionID: 5, // pduSessionID: 5,
// ranN3IP: '192.168.8.223', // ranN3IP: '192.168.5.100',
// sstSD: '1-000001', // sstSD: '1-000001',
// tai: '46000-0001', // tai: '46000-001124',
// upfN3IP: '192.168.1.163', // upState: 'Active',
// upfN3IP: '192.168.14.201',
// },
// {
// activeTime: '2024-05-08 11:08:23',
// dnn: 'cmnet',
// ipv4: '10.10.86.201',
// ipv6: '',
// pduSessionID: 6,
// ranN3IP: '192.168.5.100',
// sstSD: '1-000001',
// tai: '46000-001124',
// upState: 'Active',
// upfN3IP: '192.168.14.201',
// }, // },
// ], // ],
// ratType: 'EUTRAN', // ratType: 'NR',
// }, // },
// ]; // ];
return data; return data;

View File

@@ -1,7 +1,7 @@
/**网元列表,默认顺序 */ /**网元列表,默认顺序 */
export const NE_TYPE_LIST = [ export const NE_TYPE_LIST = [
'OMC', 'OMC',
'MME', 'IMS',
'AMF', 'AMF',
'AUSF', 'AUSF',
'UDM', 'UDM',
@@ -10,9 +10,8 @@ export const NE_TYPE_LIST = [
'UPF', 'UPF',
'NRF', 'NRF',
'NSSF', 'NSSF',
'IMS',
'N3IWF', 'N3IWF',
'NEF', 'MME',
'LMF',
'MOCNGW', 'MOCNGW',
'SMSC',
]; ];

View File

@@ -43,7 +43,7 @@ let treeState: TreeStateType = reactive({
selectNode: { selectNode: {
topDisplay: '' as string, topDisplay: '' as string,
topTag: '' as string, topTag: '' as string,
method: '' as string, method: [] as string[],
// //
title: '' as string, title: '' as string,
key: '' as string, key: '' as string,
@@ -57,7 +57,11 @@ function fnSelectConfigNode(_: any, info: any) {
const { title, key, method } = info.node; const { title, key, method } = info.node;
treeState.selectNode.topDisplay = title; treeState.selectNode.topDisplay = title;
treeState.selectNode.topTag = key; treeState.selectNode.topTag = key;
treeState.selectNode.method = method; if (method) {
treeState.selectNode.method = method.split(',');
} else {
treeState.selectNode.method = ['post', 'put', 'delete'];
}
treeState.selectNode.title = title; treeState.selectNode.title = title;
treeState.selectNode.key = key; treeState.selectNode.key = key;
fnActiveConfigNode(key); fnActiveConfigNode(key);
@@ -1349,7 +1353,9 @@ onMounted(() => {
<EditOutlined <EditOutlined
class="editable-cell__icon" class="editable-cell__icon"
@click="listEdit(record)" @click="listEdit(record)"
v-if="!['read-only', 'read', 'ro'].includes(record.access)" v-if="
!['read-only', 'read', 'ro'].includes(record.access)
"
/> />
</div> </div>
</div> </div>
@@ -1363,7 +1369,7 @@ onMounted(() => {
<a-table <a-table
class="table" class="table"
row-key="index" row-key="index"
:columns="treeState.selectNode.method === 'get' ? arrayState.columnsDnd.filter((s:any)=>s.key !== 'index') : arrayState.columnsDnd" :columns="treeState.selectNode.method.includes('get') ? arrayState.columnsDnd.filter((s:any)=>s.key !== 'index') : arrayState.columnsDnd"
:data-source="arrayState.columnsData" :data-source="arrayState.columnsData"
:size="arrayState.size" :size="arrayState.size"
:pagination="tablePagination" :pagination="tablePagination"
@@ -1380,7 +1386,7 @@ onMounted(() => {
type="primary" type="primary"
@click.prevent="arrayAdd()" @click.prevent="arrayAdd()"
size="small" size="small"
v-if="treeState.selectNode.method !== 'get'" v-if="treeState.selectNode.method.includes('post')"
> >
<template #icon> <PlusOutlined /> </template> <template #icon> <PlusOutlined /> </template>
{{ t('common.addText') }} {{ t('common.addText') }}
@@ -1388,7 +1394,7 @@ onMounted(() => {
<TableColumnsDnd <TableColumnsDnd
type="ghost" type="ghost"
:cache-id="treeState.selectNode.key" :cache-id="treeState.selectNode.key"
:columns="treeState.selectNode.method === 'get' ? [...arrayState.columns.filter((s:any)=>s.key !== 'index')] : arrayState.columns" :columns="treeState.selectNode.method.includes('get') ? [...arrayState.columns.filter((s:any)=>s.key !== 'index')] : arrayState.columns"
v-model:columns-dnd="arrayState.columnsDnd" v-model:columns-dnd="arrayState.columnsDnd"
></TableColumnsDnd> ></TableColumnsDnd>
</a-space> </a-space>
@@ -1398,13 +1404,17 @@ onMounted(() => {
<template #bodyCell="{ column, text, record }"> <template #bodyCell="{ column, text, record }">
<template v-if="column?.key === 'index'"> <template v-if="column?.key === 'index'">
<a-space :size="16" align="center"> <a-space :size="16" align="center">
<a-tooltip> <a-tooltip
v-if="treeState.selectNode.method.includes('put')"
>
<template #title>{{ t('common.editText') }}</template> <template #title>{{ t('common.editText') }}</template>
<a-button type="link" @click.prevent="arrayEdit(text)"> <a-button type="link" @click.prevent="arrayEdit(text)">
<template #icon><FormOutlined /></template> <template #icon><FormOutlined /></template>
</a-button> </a-button>
</a-tooltip> </a-tooltip>
<a-tooltip> <a-tooltip
v-if="treeState.selectNode.method.includes('delete')"
>
<template #title>{{ t('common.deleteText') }}</template> <template #title>{{ t('common.deleteText') }}</template>
<a-button type="link" @click.prevent="arrayDelete(text)"> <a-button type="link" @click.prevent="arrayDelete(text)">
<template #icon><DeleteOutlined /></template> <template #icon><DeleteOutlined /></template>
@@ -1509,9 +1519,9 @@ onMounted(() => {
</a-button> </a-button>
</a-tooltip> </a-tooltip>
<a-tooltip> <a-tooltip>
<template #title>{{ <template #title>
t('common.deleteText') {{ t('common.deleteText') }}
}}</template> </template>
<a-button <a-button
type="link" type="link"
@click.prevent="arrayChildDelete(text)" @click.prevent="arrayChildDelete(text)"

View File

@@ -414,8 +414,8 @@ onMounted(() => {
@cancel="fnModalCancel" @cancel="fnModalCancel"
:footer="null" :footer="null"
> >
<a-form layout="horizontal" :label-col="{ span: 6 }" :labelWrap="true"> <a-form layout="horizontal" labelAlign="left" :labelWrap="false">
<a-row :gutter="16"> <a-row :gutter="8">
<a-col :lg="8" :md="8" :xs="24"> <a-col :lg="8" :md="8" :xs="24">
<a-form-item label="IMSI" name="imsi"> <a-form-item label="IMSI" name="imsi">
{{ modalState.from.imsi }} {{ modalState.from.imsi }}