feat 网元管理页面
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import { request } from '@/plugins/http-fetch';
|
import { request } from '@/plugins/http-fetch';
|
||||||
|
import { parseObjLineToHump } from '@/utils/parse-utils';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询网元列表
|
* 查询网元列表
|
||||||
@@ -43,7 +44,7 @@ export async function listNeInfo(query: Record<string, any>) {
|
|||||||
if (itemData.length === 1 && itemData[0]['total']) {
|
if (itemData.length === 1 && itemData[0]['total']) {
|
||||||
data.total = itemData[0]['total'];
|
data.total = itemData[0]['total'];
|
||||||
} else {
|
} else {
|
||||||
data.rows = itemData;
|
data.rows = itemData.map(v => parseObjLineToHump(v));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -68,8 +69,10 @@ export async function getNeInfo(id: string | number) {
|
|||||||
});
|
});
|
||||||
// 解析数据
|
// 解析数据
|
||||||
if (result.code === 1 && Array.isArray(result.data.data)) {
|
if (result.code === 1 && Array.isArray(result.data.data)) {
|
||||||
const data = result.data.data[0];
|
let data = result.data.data[0];
|
||||||
return Object.assign(result, { data: data['ne_info'][0] });
|
return Object.assign(result, {
|
||||||
|
data: parseObjLineToHump(data['ne_info'][0]),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -80,9 +83,9 @@ export async function getNeInfo(id: string | number) {
|
|||||||
* @returns object
|
* @returns object
|
||||||
*/
|
*/
|
||||||
export function addNeInfo(data: Record<string, any>) {
|
export function addNeInfo(data: Record<string, any>) {
|
||||||
data.port = `${data.port}`
|
data.port = `${data.port}`;
|
||||||
return request({
|
return request({
|
||||||
url: `/systemManagement/v1/elementType/${data.ne_type}/objectType/neInfo`,
|
url: `/systemManagement/v1/elementType/${data.neType}/objectType/neInfo`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data,
|
data: data,
|
||||||
});
|
});
|
||||||
@@ -94,9 +97,9 @@ export function addNeInfo(data: Record<string, any>) {
|
|||||||
* @returns object
|
* @returns object
|
||||||
*/
|
*/
|
||||||
export function updateNeInfo(data: Record<string, any>) {
|
export function updateNeInfo(data: Record<string, any>) {
|
||||||
data.port = `${data.port}`
|
data.port = `${data.port}`;
|
||||||
return request({
|
return request({
|
||||||
url: `/systemManagement/v1/elementType/${data.ne_type}/objectType/neInfo`,
|
url: `/systemManagement/v1/elementType/${data.neType}/objectType/neInfo`,
|
||||||
method: 'put',
|
method: 'put',
|
||||||
data: data,
|
data: data,
|
||||||
});
|
});
|
||||||
@@ -109,7 +112,7 @@ export function updateNeInfo(data: Record<string, any>) {
|
|||||||
*/
|
*/
|
||||||
export async function delNeInfo(data: Record<string, any>) {
|
export async function delNeInfo(data: Record<string, any>) {
|
||||||
return request({
|
return request({
|
||||||
url: `/systemManagement/v1/elementType/${data.ne_type}/objectType/neInfo?ne_id=${data.ne_id}`,
|
url: `/systemManagement/v1/elementType/${data.neType}/objectType/neInfo?ne_id=${data.neId}`,
|
||||||
method: 'delete',
|
method: 'delete',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -12,27 +12,14 @@ import {
|
|||||||
addNeInfo,
|
addNeInfo,
|
||||||
updateNeInfo,
|
updateNeInfo,
|
||||||
delNeInfo,
|
delNeInfo,
|
||||||
} from '@/api/configuration/net-ele';
|
} from '@/api/configManage/neManage';
|
||||||
import { parseDateToStr } from '@/utils/date-utils';
|
import { parseDateToStr } from '@/utils/date-utils';
|
||||||
import useDictStore from '@/store/modules/dict';
|
|
||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const { getDict } = useDictStore();
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
||||||
/**路由标题 */
|
/**路由标题 */
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
let title = ref<string>(route.meta.title as string ?? '标题');
|
||||||
|
|
||||||
/**字典数据 */
|
|
||||||
let dict: {
|
|
||||||
/**网元类型 */
|
|
||||||
sysNoticeType: DictType[];
|
|
||||||
/**网元状态 */
|
|
||||||
sysNoticeStatus: DictType[];
|
|
||||||
} = reactive({
|
|
||||||
sysNoticeType: [],
|
|
||||||
sysNoticeStatus: [],
|
|
||||||
});
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -83,22 +70,22 @@ let tableState: TabeStateType = reactive({
|
|||||||
let tableColumns: ColumnsType = [
|
let tableColumns: ColumnsType = [
|
||||||
{
|
{
|
||||||
title: '网元类型',
|
title: '网元类型',
|
||||||
dataIndex: 'ne_type',
|
dataIndex: 'neType',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '网元内部标识',
|
title: '网元内部标识',
|
||||||
dataIndex: 'ne_id',
|
dataIndex: 'neId',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '资源唯一标识',
|
title: '资源唯一标识',
|
||||||
dataIndex: 'rm_uid',
|
dataIndex: 'rmUid',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '网元名称',
|
title: '网元名称',
|
||||||
dataIndex: 'ne_name',
|
dataIndex: 'neName',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -108,7 +95,7 @@ let tableColumns: ColumnsType = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '网元地址',
|
title: '网元地址',
|
||||||
dataIndex: 'ne_address',
|
dataIndex: 'neAddress',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -118,7 +105,7 @@ let tableColumns: ColumnsType = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '网元虚拟化标识',
|
title: '网元虚拟化标识',
|
||||||
dataIndex: 'pv_flag',
|
dataIndex: 'pvFlag',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -128,7 +115,7 @@ let tableColumns: ColumnsType = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '厂商名称',
|
title: '厂商名称',
|
||||||
dataIndex: 'vendor_name',
|
dataIndex: 'vendorName',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -138,7 +125,7 @@ let tableColumns: ColumnsType = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '修改时间',
|
title: '修改时间',
|
||||||
dataIndex: 'update_time',
|
dataIndex: 'updateTime',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
customRender(opt) {
|
customRender(opt) {
|
||||||
if (!opt.value) return '';
|
if (!opt.value) return '';
|
||||||
@@ -207,15 +194,15 @@ let modalState: ModalStateType = reactive({
|
|||||||
from: {
|
from: {
|
||||||
dn: '网络标识',
|
dn: '网络标识',
|
||||||
ip: '192.168.4.132',
|
ip: '192.168.4.132',
|
||||||
ne_address: '192.160.0.107',
|
neAddress: '192.160.0.107',
|
||||||
ne_id: '网元内部标识',
|
neId: '网元内部标识',
|
||||||
ne_name: '网元名称',
|
neName: '网元名称',
|
||||||
ne_type: 'AMF',
|
neType: 'AMF',
|
||||||
port: '3030',
|
port: '3030',
|
||||||
province: '网元所在省份',
|
province: '网元所在省份',
|
||||||
pv_flag: '',
|
pvFlag: '',
|
||||||
rm_uid: '资源唯一标识',
|
rmUid: '资源唯一标识',
|
||||||
vendor_name: '厂商名称',
|
vendorName: '厂商名称',
|
||||||
},
|
},
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
});
|
});
|
||||||
@@ -272,7 +259,7 @@ function fnModalOk() {
|
|||||||
modalState.confirmLoading = true;
|
modalState.confirmLoading = true;
|
||||||
const from = toRaw(modalState.from);
|
const from = toRaw(modalState.from);
|
||||||
const result = from.id ? updateNeInfo(from) : addNeInfo(from);
|
const result = from.id ? updateNeInfo(from) : addNeInfo(from);
|
||||||
const hide = message.loading({ content: t('loading') });
|
const hide = message.loading({ content: t('common.loading') });
|
||||||
result
|
result
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.code === 1) {
|
if (res.code === 1) {
|
||||||
@@ -359,18 +346,6 @@ function fnGetList() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// 初始字典数据
|
|
||||||
Promise.allSettled([
|
|
||||||
getDict('sys_notice_type'),
|
|
||||||
getDict('sys_notice_status'),
|
|
||||||
]).then(resArr => {
|
|
||||||
if (resArr[0].status === 'fulfilled') {
|
|
||||||
dict.sysNoticeType = resArr[0].value;
|
|
||||||
}
|
|
||||||
if (resArr[1].status === 'fulfilled') {
|
|
||||||
dict.sysNoticeStatus = resArr[1].value;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 获取列表数据
|
// 获取列表数据
|
||||||
fnGetList();
|
fnGetList();
|
||||||
});
|
});
|
||||||
@@ -520,11 +495,11 @@ onMounted(() => {
|
|||||||
<a-col :lg="12" :md="12" :xs="24">
|
<a-col :lg="12" :md="12" :xs="24">
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="网元类型"
|
label="网元类型"
|
||||||
name="ne_type"
|
name="neType"
|
||||||
v-bind="modalStateFrom.validateInfos.ne_type"
|
v-bind="modalStateFrom.validateInfos.neType"
|
||||||
>
|
>
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="modalState.from.ne_type"
|
v-model:value="modalState.from.neType"
|
||||||
allow-clear
|
allow-clear
|
||||||
placeholder="请输入网元类型"
|
placeholder="请输入网元类型"
|
||||||
>
|
>
|
||||||
@@ -540,11 +515,11 @@ onMounted(() => {
|
|||||||
<a-col :lg="12" :md="12" :xs="24">
|
<a-col :lg="12" :md="12" :xs="24">
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="网元内部标识"
|
label="网元内部标识"
|
||||||
name="ne_id"
|
name="neId"
|
||||||
v-bind="modalStateFrom.validateInfos.ne_id"
|
v-bind="modalStateFrom.validateInfos.neId"
|
||||||
>
|
>
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="modalState.from.ne_id"
|
v-model:value="modalState.from.neId"
|
||||||
allow-clear
|
allow-clear
|
||||||
placeholder="请输入网元内部标识"
|
placeholder="请输入网元内部标识"
|
||||||
></a-input>
|
></a-input>
|
||||||
@@ -556,11 +531,11 @@ onMounted(() => {
|
|||||||
<a-col :lg="12" :md="12" :xs="24">
|
<a-col :lg="12" :md="12" :xs="24">
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="资源唯一标识"
|
label="资源唯一标识"
|
||||||
name="rm_uid"
|
name="rmUid"
|
||||||
v-bind="modalStateFrom.validateInfos.rm_uid"
|
v-bind="modalStateFrom.validateInfos.rmUid"
|
||||||
>
|
>
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="modalState.from.rm_uid"
|
v-model:value="modalState.from.rmUid"
|
||||||
allow-clear
|
allow-clear
|
||||||
placeholder="请输入资源唯一标识"
|
placeholder="请输入资源唯一标识"
|
||||||
>
|
>
|
||||||
@@ -570,11 +545,11 @@ onMounted(() => {
|
|||||||
<a-col :lg="12" :md="12" :xs="24">
|
<a-col :lg="12" :md="12" :xs="24">
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="网元虚拟化标识"
|
label="网元虚拟化标识"
|
||||||
name="pv_flag"
|
name="pvFlag"
|
||||||
v-bind="modalStateFrom.validateInfos.pv_flag"
|
v-bind="modalStateFrom.validateInfos.pvFlag"
|
||||||
>
|
>
|
||||||
<a-select
|
<a-select
|
||||||
v-model:value="modalState.from.pv_flag"
|
v-model:value="modalState.from.pvFlag"
|
||||||
default-value="PNF"
|
default-value="PNF"
|
||||||
placeholder="请选择网元虚拟化标识"
|
placeholder="请选择网元虚拟化标识"
|
||||||
>
|
>
|
||||||
@@ -629,11 +604,11 @@ onMounted(() => {
|
|||||||
<a-col :lg="12" :md="12" :xs="24">
|
<a-col :lg="12" :md="12" :xs="24">
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="网元名称"
|
label="网元名称"
|
||||||
name="ne_name"
|
name="neName"
|
||||||
v-bind="modalStateFrom.validateInfos.ne_name"
|
v-bind="modalStateFrom.validateInfos.neName"
|
||||||
>
|
>
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="modalState.from.ne_name"
|
v-model:value="modalState.from.neName"
|
||||||
allow-clear
|
allow-clear
|
||||||
placeholder="请输入网元名称"
|
placeholder="请输入网元名称"
|
||||||
>
|
>
|
||||||
@@ -641,9 +616,9 @@ onMounted(() => {
|
|||||||
</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="网元地址" name="ne_address">
|
<a-form-item label="网元地址" name="neAddress">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="modalState.from.ne_address"
|
v-model:value="modalState.from.neAddress"
|
||||||
allow-clear
|
allow-clear
|
||||||
placeholder="请输入网元地址"
|
placeholder="请输入网元地址"
|
||||||
><template #prefix>
|
><template #prefix>
|
||||||
@@ -669,9 +644,9 @@ onMounted(() => {
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :lg="6" :md="6" :xs="24">
|
<a-col :lg="6" :md="6" :xs="24">
|
||||||
<a-form-item label="厂商名称" name="vendor_name">
|
<a-form-item label="厂商名称" name="vendorName">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="modalState.from.vendor_name"
|
v-model:value="modalState.from.vendorName"
|
||||||
allow-clear
|
allow-clear
|
||||||
placeholder="请输入厂商名称"
|
placeholder="请输入厂商名称"
|
||||||
>
|
>
|
||||||
Reference in New Issue
Block a user