diff --git a/CHANGELOG.md b/CHANGELOG.md index c1753a8d..e799980d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # 版本发布日志 +## 2.2510.3-20251018 + +- 新增 备份网元日志文件数据查看 +- 修复 更新根网管节点处理逻辑,支持无OMC情况 +- 新增 网元配置选择传入neId查询相应版本配置数据 +- 修复 网元配置备份修改表单校验规则,添加备注字段必填项 + ## 2.2510.2-20251011 - 新增 UDM-auth数据导出按钮权限定义 diff --git a/src/api/ne/neConfig.ts b/src/api/ne/neConfig.ts index 6631562f..5704b84c 100644 --- a/src/api/ne/neConfig.ts +++ b/src/api/ne/neConfig.ts @@ -6,10 +6,11 @@ import { request } from '@/plugins/http-fetch'; * @param query 查询参数 * @returns object */ -export function getAllNeConfig(neType: string) { +export function getAllNeConfig(neType: string, neId: string) { return request({ url: `/ne/config/list/${neType}`, method: 'GET', + params: { neId }, timeout: 60_000, }); } diff --git a/src/views/monitor/topology/index.vue b/src/views/monitor/topology/index.vue index fdb9d274..fd3080ce 100644 --- a/src/views/monitor/topology/index.vue +++ b/src/views/monitor/topology/index.vue @@ -64,10 +64,50 @@ function fnGetList(refresh: boolean = false) { Array.isArray(res.data) && res.data.length > 0 ) { - // 根网管 - let rootNodeInfo = { neName: 'OMC_001' }; const nodes = []; const edges = []; + + // 根网管 + let rootNodeInfo = { + neName: 'ROOT', + serverState: { + online: true, + }, + }; + // 处理没有OMC的情况 + const omcFilter = res.data.filter(v => v.neType === 'OMC'); + if (omcFilter.length === 1) { + rootNodeInfo.neName = omcFilter[0].neName; + } else { + nodes.unshift({ + id: rootNodeInfo.neName, + label: rootNodeInfo.neName, + info: rootNodeInfo, + labelCfg: { + position: 'bottom', + offset: 8, + style: { + fill: '#fff', + fontSize: 14, + }, + }, + size: 60, + icon: { + x: -30, + y: -30, + // 可更换为其他图片地址 + img: parseBasePath('/svg/service_db.svg'), + width: 60, + height: 60, + }, + }); + edges.push({ + source: rootNodeInfo.neName, + target: rootNodeInfo.neName, + label: `${rootNodeInfo.neName}-${rootNodeInfo.neName}`, + }); + } + for (const item of res.data) { item.serverState = {}; // 节点 @@ -96,7 +136,6 @@ function fnGetList(refresh: boolean = false) { height: 60, }, }); - !rootNodeInfo.neName && (rootNodeInfo = item); } else { nodes.push({ id: item.neName, diff --git a/src/views/ne/neConfig/index.vue b/src/views/ne/neConfig/index.vue index 625f74bb..36ed47f9 100644 --- a/src/views/ne/neConfig/index.vue +++ b/src/views/ne/neConfig/index.vue @@ -209,7 +209,7 @@ function fnActiveConfigNode(key: string | number) { /**查询配置可选属性值列表 */ function fnGetNeConfig() { - const neType = neTypeSelect.value[0]; + const [neType, neId] = neTypeSelect.value ; if (!neType) { message.warning({ content: t('views.ne.neConfig.neTypePleace'), @@ -220,7 +220,7 @@ function fnGetNeConfig() { treeState.loading = true; // 获取数据 - getAllNeConfig(neType).then(res => { + getAllNeConfig(neType, neId).then(res => { if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.data)) { const arr = []; for (const item of res.data) { diff --git a/src/views/ne/neConfigBackup/index.vue b/src/views/ne/neConfigBackup/index.vue index 385fe1ab..28ccc035 100644 --- a/src/views/ne/neConfigBackup/index.vue +++ b/src/views/ne/neConfigBackup/index.vue @@ -303,12 +303,8 @@ function fnModalVisibleByEdit(row: Record) { const modalStateFrom = Form.useForm( modalState.from, reactive({ - name: [ - { - required: true, - message: '请输入名称', - }, - ], + name: [{ required: true, message: t('common.inputPlease') }], + remark: [{ required: true, message: t('common.inputPlease') }], }) ); @@ -462,7 +458,11 @@ function fnSyncFileToFTP(row: Record) { - + @@ -524,13 +524,21 @@ function fnSyncFileToFTP(row: Record) { - + - + diff --git a/src/views/ne/neConfigHA/index.vue b/src/views/ne/neConfigHA/index.vue index c9d8ee0d..043d9e3d 100644 --- a/src/views/ne/neConfigHA/index.vue +++ b/src/views/ne/neConfigHA/index.vue @@ -30,7 +30,7 @@ let neIdSelect = ref([]); let neTypeSelectStatus = ref(true); /**网元类型neType选择 */ async function fnSelectNeType(_: any, info: any) { - if (!info) return; + if (!info) return; await fnGetNeConfig(info.value); if (treeState.data.length === 0) { message.warning({ @@ -226,7 +226,8 @@ async function fnGetNeConfig(neType: string) { treeState.loading = true; // 获取数据 - const res = await getAllNeConfig(neType); + let neId = neTypeSelect.value[1]; + const res = await getAllNeConfig(neType, neId); if (res.code === RESULT_CODE_SUCCESS) { const arr = []; for (const v of res.data) {