diff --git a/src/api/faultManage/actAlarm.ts b/src/api/faultManage/actAlarm.ts index e3c68028..cb3b704f 100644 --- a/src/api/faultManage/actAlarm.ts +++ b/src/api/faultManage/actAlarm.ts @@ -6,15 +6,14 @@ import { parseObjLineToHump } from '@/utils/parse-utils'; * 获取活动告警数 * @returns object */ -export async function getActiveAlarmTotal(coreUid: string) { +export async function getActiveAlarmTotal() { // 发起请求 const result = await request({ url: `/ne/data/alarm/list`, method: 'GET', params: { - coreUid: coreUid, alarmStatus: 'Active', - sortField: 'event_time', + sortField: 'createdTime', sortOrder: 'desc', pageNum: 1, pageSize: 1, @@ -106,11 +105,11 @@ export function getPass() { * @param id 记录ID * @returns object */ -export function clearAlarm(id: number, coreUid: string) { +export function clearAlarm(id: number | string) { return request({ url: `/ne/data/alarm/clear`, method: 'PUT', - data: { id, coreUid }, + data: { id }, }); } @@ -191,13 +190,12 @@ export async function exportAll(query: Record) { * @param query 查询参数 * @returns bolb */ -export async function origGet(coreUid: string) { +export async function origGet(alarmStatus: 'Active' | 'Clear') { return await request({ url: `/ne/data/alarm/count/severity`, method: 'GET', params: { - coreUid: coreUid, - alarmStatus: 'Active', + alarmStatus: alarmStatus, }, }); } @@ -207,13 +205,12 @@ export async function origGet(coreUid: string) { * @param filterFlag 查询参数 * @returns object */ -export async function top3Sel(coreUid: string) { +export async function top3Sel(alarmStatus: 'Active' | 'Clear') { return await request({ url: `/ne/data/alarm/count/top`, method: 'GET', params: { - coreUid: coreUid, - alarmStatus: 'Active', + alarmStatus: alarmStatus, top: 3, }, }); diff --git a/src/api/mmlManage/neOperate.ts b/src/api/mmlManage/neOperate.ts index 51a87532..cbd4a694 100644 --- a/src/api/mmlManage/neOperate.ts +++ b/src/api/mmlManage/neOperate.ts @@ -57,21 +57,15 @@ export async function sendMML(data: Record) { /** * 发送网元的mml命令 - * @param coreUid 网元类型 * @param neUid 网元ID * @param cmdArr 命令数组 * @returns */ -export async function sendMMlByGeneral( - coreUid: string, - neUid: string, - cmdArr: string[] -) { +export async function sendMMlByGeneral(neUid: string, cmdArr: string[]) { return request({ url: '/tool/mml/command', method: 'POST', data: { - coreUid: coreUid, neUid: neUid, type: 'General', command: cmdArr, diff --git a/src/api/ne/neAction.ts b/src/api/ne/neAction.ts index 128f8a61..ae1c1bc6 100644 --- a/src/api/ne/neAction.ts +++ b/src/api/ne/neAction.ts @@ -1,50 +1,46 @@ import { request } from '@/plugins/http-fetch'; /** - * 查询网元状态 - * @param coreUid 核心网ID + * 查询网元状态 * @param neUid 网元ID * @returns object */ -export function stateNeInfo(coreUid: string, neUid: string) { +export function stateNeInfo(neUid: string) { return request({ url: '/ne/info/state', method: 'GET', - params: { coreUid, neUid }, + params: { neUid }, }); } /** * 查询网元信息 - * @param coreUid 核心网ID * @param neUid 网元ID * @returns object */ -export function getNeInfoByNF(coreUid: string, neUid: string) { +export function getNeInfoByNF(neUid: string) { return request({ url: '/ne/info/nf', method: 'GET', - params: { coreUid, neUid }, + params: { neUid }, }); } /** * 网元端OAM配置文件读取 - * @param coreUid 核心网ID * @param neUid 网元ID * @returns object */ -export function getOAMFile(coreUid: string, neUid: string) { +export function getOAMFile(neUid: string) { return request({ url: '/ne/info/file/oam', method: 'GET', - params: { coreUid, neUid }, + params: { neUid }, }); } /** - * 网元端配置文件写入 - * @param coreUid 核心网ID + * 网元端配置文件写入 * @param neUid 网元ID * @param content 用json对象 * @param sync 同步到网元 @@ -73,7 +69,7 @@ export function getPara5GFilee() { /** * 网元端公共配置文件写入 * @param content txt内容为字符串 其他文件格式都用json对象 - * @param syncNe 同步到网元端 coreUid@ neUid + * @param syncNe 同步到网元端 neUid * @returns object */ export function savePara5GFile(data: Record) { @@ -87,7 +83,7 @@ export function savePara5GFile(data: Record) { /** * 网元服务操作 - * @param data 对象 {coreUid, neUid, action} + * @param data 对象 {neUid, action} * @returns object */ export function serviceNeAction(data: Record) { diff --git a/src/api/ne/neConfig.ts b/src/api/ne/neConfig.ts index 93e0bf4d..be753493 100644 --- a/src/api/ne/neConfig.ts +++ b/src/api/ne/neConfig.ts @@ -68,11 +68,10 @@ export function delNeConfigData(params: Record) { /** * 从参数配置PCF中获取对应信息提供给PCF用户策略输入框 - * @param coreUid 核心网标识 * @param neUid 网元标识 * @returns object {pccRules,sessionRules,qosTemplate,headerEnrichTemplate,serviceAreaRestriction} */ -export async function getPCFRule(coreUid: string, neUid: string) { +export async function getPCFRule(neUid: string) { const paramNameArr = [ 'pccRules', 'sessionRules', @@ -85,7 +84,7 @@ export async function getPCFRule(coreUid: string, neUid: string) { reqArr.push( request({ url: `/ne/config/data`, - params: { neType: 'PCF', coreUid, neUid, paramName }, + params: { neType: 'PCF', neUid, paramName }, method: 'GET', }) ); diff --git a/src/api/ne/neInfo.ts b/src/api/ne/neInfo.ts index 9e746e37..b3016be3 100644 --- a/src/api/ne/neInfo.ts +++ b/src/api/ne/neInfo.ts @@ -21,11 +21,11 @@ export function listNeInfo(query: Record) { * @param infoId 信息ID * @returns object */ -export function getNeInfo(coreUid: string, id: string | number) { +export function getNeInfo(id: string | number) { return request({ url: `/ne/info`, method: 'GET', - params: { coreUid, id }, + params: { id }, }); } @@ -61,7 +61,7 @@ export function updateNeInfo(data: Record) { /** * 网元信息删除 - * @param query 查询参数 coreUid, neUid id + * @param query 查询参数 id * @returns object */ export function delNeInfo(query: Record) { @@ -75,7 +75,7 @@ export function delNeInfo(query: Record) { /** * 查询网元列表全部无分页 - * @param query 查询参数 coreUid, neUid bandStatus bandHost + * @param query 查询参数 coreId, neUid bandStatus bandHost * @returns object */ export function listAllNeInfo(query: Record) { @@ -86,3 +86,31 @@ export function listAllNeInfo(query: Record) { timeout: 60_000, }); } + +/** + * 网元授权激活授权申请码 + * @param neType 网元类型 + * @param neId 网元id + * @returns object + */ +export function codeNeLicense(neUid: string) { + return request({ + url: `/ne/info/license/code`, + method: 'GET', + params: { neUid }, + }); +} + +/** + * 网元授权激活授权文件替换 + * @param data 网元对象 {"neUid": "", "licensePath": "", "reload": true} + * @returns object + */ +export function updateNeLicense(data: Record) { + return request({ + url: `/ne/info/license/update`, + method: 'POST', + data: data, + timeout: 180_000, + }); +} diff --git a/src/api/ne/neLicense.ts b/src/api/ne/neLicense.ts deleted file mode 100644 index a83154e5..00000000 --- a/src/api/ne/neLicense.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { request } from '@/plugins/http-fetch'; - -/** - * 查询网元授权列表 - * @param query 查询参数 - * @returns object - */ -export function listNeLicense(query: Record) { - return request({ - url: '/ne/license/list', - method: 'GET', - params: query, - timeout: 60_000, - }); -} - -/** - * 查询网元授权详细 - * @param licenseId 信息ID - * @returns object - */ -export function getNeLicense(coreUid: string, id: string | number) { - return request({ - url: `/ne/license`, - method: 'GET', - params: { coreUid, id }, - }); -} - -/** - * 网元neType和neID查询 - * @param neType 网元类型 - * @param neUid 网元ID - * @returns object - */ -export function getNeLicenseByNF(coreUid: string, neUid: string) { - return request({ - url: `/ne/license/nf`, - method: 'GET', - params: { coreUid, neUid }, - }); -} - -/** - * 网元授权激活授权申请码 - * @param neType 网元类型 - * @param neId 网元id - * @returns object - */ -export function codeNeLicense(coreUid: string, neUid: string) { - return request({ - url: `/ne/license/code`, - method: 'GET', - params: { coreUid, neUid }, - }); -} - -/** - * 网元授权激活授权文件替换 - * @param data 网元对象 {"neType": "", "neId": "", "licensePath": "", "reload": true} - * @returns object - */ -export function changeNeLicense(data: Record) { - return request({ - url: `/ne/license/change`, - method: 'POST', - data: data, - timeout: 180_000, - }); -} - -/** - * 网元授权激活状态 - * @param coreUid 核心uid - * @param neUid 网元uid - * @returns object - */ -export function stateNeLicense(coreUid: string, neUid: string) { - return request({ - url: `/ne/license/state`, - method: 'GET', - params: { coreUid, neUid }, - }); -} diff --git a/src/api/neDataNf/amf.ts b/src/api/neDataNf/amf.ts index fa1a11bd..b292061e 100644 --- a/src/api/neDataNf/amf.ts +++ b/src/api/neDataNf/amf.ts @@ -44,7 +44,7 @@ export function exportAMFDataUE(query: Record) { /** * AMF-接入基站信息列表 - * @param query 查询参数 coreUid=001&neUid=001&id=1 + * @param query 查询参数 neUid=001&id=1 * @returns object */ export function listAMFNblist(query: Record) { @@ -58,7 +58,7 @@ export function listAMFNblist(query: Record) { /** * AMF-接入基站状态信息列表 - * @param query 查询参数 coreUid=001&neUid=001&state=1 + * @param query 查询参数 neUid=001&state=1 * @returns object */ export function listAMFNbStatelist(query: Record) { @@ -76,18 +76,13 @@ export function listAMFNbStatelist(query: Record) { * @param data 数据 { "index": 1, "name": "Gnb", "address": "192.168.8.1", "position": "Area-B" } * @returns object */ -export function addAMFNbState( - coreUid: string, - neUid: string, - data: Record -) { +export function addAMFNbState(neUid: string, data: Record) { return request({ url: `/ne/config/data`, method: 'POST', data: { neType: 'AMF', neUid: neUid, - coreUid: coreUid, paramName: 'gnbList', paramData: data, loc: `${data.index}`, @@ -97,23 +92,17 @@ export function addAMFNbState( /** * AMF-接入基站状态信息修改 - * @param coreUid 核心网标识 * @param neUid 网元标识 * @param data 数据 { "index": 1, "name": "Gnb", "address": "192.168.8.1", "position": "Area-B" } * @returns object */ -export function editAMFNbState( - coreUid: string, - neUid: string, - data: Record -) { +export function editAMFNbState(neUid: string, data: Record) { return request({ url: `/ne/config/data`, method: 'PUT', data: { neType: 'AMF', neUid: neUid, - coreUid: coreUid, paramName: 'gnbList', paramData: data, loc: `${data.index}`, @@ -123,23 +112,17 @@ export function editAMFNbState( /** * AMF-接入基站状态信息删除 - * @param coreUid 核心网标识 * @param neUid 网元标识 * @param index 数据index * @returns object */ -export function delAMFNbState( - coreUid: string, - neUid: string, - index: string | number -) { +export function delAMFNbState(neUid: string, index: string | number) { return request({ url: `/ne/config/data`, method: 'DELETE', params: { neType: 'AMF', neUid: neUid, - coreUid: coreUid, paramName: 'gnbList', loc: `${index}`, }, diff --git a/src/api/neDataNf/ims.ts b/src/api/neDataNf/ims.ts index e242b481..02d4f740 100644 --- a/src/api/neDataNf/ims.ts +++ b/src/api/neDataNf/ims.ts @@ -47,17 +47,17 @@ export function exportIMSDataCDR(query: Record) { * @param query 查询参数 * @returns object */ -export function listIMSSessionNum(coreUid: string, neUid: string) { +export function listIMSSessionNum(neUid: string) { return request({ url: '/nf/ims/session/num', method: 'GET', - params: { coreUid, neUid }, + params: { neUid }, }); } /** * IMS-在线会话用户列表信息 - * @param query 查询参数 {coreUid, neUid, imsi, msisdn} + * @param query 查询参数 { neUid, imsi, msisdn} * @returns objectv */ export function listIMSSessionList(query: Record) { diff --git a/src/api/neDataNf/mme.ts b/src/api/neDataNf/mme.ts index 1382ff89..d38d8d91 100644 --- a/src/api/neDataNf/mme.ts +++ b/src/api/neDataNf/mme.ts @@ -72,23 +72,17 @@ export function listMMENbStatelist(query: Record) { /** * MME-接入基站状态信息新增 - * @param coreUid 核心网标识 * @param neUid 网元标识 * @param data 数据 { "index": 1, "name": "Enb", "address": "192.168.8.1", "position": "Area-B" } * @returns object */ -export function addMMENbState( - coreUid: string, - neUid: string, - data: Record -) { +export function addMMENbState(neUid: string, data: Record) { return request({ url: `/ne/config/data`, method: 'POST', data: { neType: 'MME', neUid: neUid, - coreUid: coreUid, paramName: 'enbList', paramData: data, loc: `${data.index}`, @@ -98,23 +92,17 @@ export function addMMENbState( /** * MME-接入基站状态信息修改 - * @param coreUid 核心网标识 * @param neUid 网元标识 * @param data 数据 { "index": 1, "name": "Enb", "address": "192.168.8.1", "position": "Area-B" } * @returns object */ -export function editMMENbState( - coreUid: string, - neUid: string, - data: Record -) { +export function editMMENbState(neUid: string, data: Record) { return request({ url: `/ne/config/data`, method: 'PUT', data: { neType: 'MME', neUid: neUid, - coreUid: coreUid, paramName: 'enbList', paramData: data, loc: `${data.index}`, @@ -124,23 +112,17 @@ export function editMMENbState( /** * MME-接入基站状态信息删除 - * @param coreUid 核心网标识 * @param neUid 网元标识 * @param index 数据index * @returns object */ -export function delMMENbState( - coreUid: string, - neUid: string, - index: string | number -) { +export function delMMENbState(neUid: string, index: string | number) { return request({ url: `/ne/config/data`, method: 'DELETE', params: { neType: 'MME', neUid: neUid, - coreUid: coreUid, paramName: 'enbList', loc: `${index}`, }, diff --git a/src/api/neDataNf/smf.ts b/src/api/neDataNf/smf.ts index 231f8270..392592dd 100644 --- a/src/api/neDataNf/smf.ts +++ b/src/api/neDataNf/smf.ts @@ -47,17 +47,17 @@ export function exportSMFDataCDR(query: Record) { * @param query 查询参数 * @returns object */ -export function listSMFSubNum(coreUid: string, neUid: string) { +export function listSMFSubNum(neUid: string) { return request({ url: '/nf/smf/sub/num', method: 'GET', - params: { coreUid, neUid }, + params: { neUid }, }); } /** * SMF-在线订阅用户列表信息 - * @param query 查询参数 {coreUid, neUid, pageNum, imsi, msisdn, upstate} + * @param query 查询参数 { neUid, pageNum, imsi, msisdn, upstate} * @returns object */ export function listSMFSubList(query: Record) { diff --git a/src/api/neDataNf/udm_auth.ts b/src/api/neDataNf/udm_auth.ts index f3fdd4c7..1564b48d 100644 --- a/src/api/neDataNf/udm_auth.ts +++ b/src/api/neDataNf/udm_auth.ts @@ -2,15 +2,14 @@ import { request } from '@/plugins/http-fetch'; /** * UDM鉴权用户重载数据 - * @param coreUid 核心网标识 * @param neUid 网元标识 * @returns object */ -export function resetUDMAuth(coreUid: string, neUid: string) { +export function resetUDMAuth(neUid: string) { return request({ url: `/nf/udm/auth/reset`, method: 'PUT', - params: { coreUid, neUid }, + params: { neUid }, timeout: 180_000, }); } diff --git a/src/api/neDataNf/udm_sub.ts b/src/api/neDataNf/udm_sub.ts index a2206d10..f46f1b41 100644 --- a/src/api/neDataNf/udm_sub.ts +++ b/src/api/neDataNf/udm_sub.ts @@ -2,15 +2,14 @@ import { request } from '@/plugins/http-fetch'; /** * UDM签约用户重载数据 - * @param coreUid 核心网ID * @param neUid 网元ID * @returns object */ -export function resetUDMSub(coreUid: string, neUid: string) { +export function resetUDMSub(neUid: string) { return request({ url: `/nf/udm/sub/reset`, method: 'PUT', - params: { coreUid, neUid }, + params: { neUid }, timeout: 180_000, }); } diff --git a/src/api/neDataNf/udm_voip.ts b/src/api/neDataNf/udm_voip.ts index 09b7f8fa..6bcabdec 100644 --- a/src/api/neDataNf/udm_voip.ts +++ b/src/api/neDataNf/udm_voip.ts @@ -2,15 +2,14 @@ import { request } from '@/plugins/http-fetch'; /** * UDMVoIP用户重载数据 - * @param coreUid 核心网ID * @param neUid 网元ID * @returns object */ -export function resetUDMVoIP(coreUid: string, neUid: string) { +export function resetUDMVoIP(neUid: string) { return request({ url: `/nf/udm/voip/reset`, method: 'PUT', - params: { coreUid, neUid }, + params: { neUid }, timeout: 180_000, }); } diff --git a/src/api/neDataNf/udm_volte_ims.ts b/src/api/neDataNf/udm_volte_ims.ts index 5eab3597..29f8612a 100644 --- a/src/api/neDataNf/udm_volte_ims.ts +++ b/src/api/neDataNf/udm_volte_ims.ts @@ -2,15 +2,14 @@ import { request } from '@/plugins/http-fetch'; /** * UDMVolteIMS用户重载数据 - * @param coreUid 核心网ID * @param neUid 网元ID * @returns object */ -export function resetUDMVolteIMS(coreUid: string, neUid: string) { +export function resetUDMVolteIMS(neUid: string) { return request({ url: `/nf/udm/volte-ims/reset`, method: 'PUT', - params: { coreUid, neUid }, + params: { neUid }, timeout: 180_000, }); } @@ -60,7 +59,6 @@ export function addUDMVolteIMS(data: Record) { /** * UDMVolteIMS用户删除 - * @param coreUid 核心网ID * @param neUid 网元ID * @param imsi IMSI * @param msisdn MSISDN diff --git a/src/api/tool/file.ts b/src/api/tool/file.ts index 3ca6f4ac..0e322281 100644 --- a/src/api/tool/file.ts +++ b/src/api/tool/file.ts @@ -278,7 +278,6 @@ export function transferStaticFile(data: Record) { export async function uploadFileToNE( neType: string, neuid: string, - coreUid: string, fileData: File, chunkSize: number = 1 ) { @@ -291,7 +290,6 @@ export async function uploadFileToNE( uploadPath: uploadChunkRes.data.filePath, neType, neuid, - coreUid, delTemp: true, }, timeout: 60_000, diff --git a/src/api/tool/mml.ts b/src/api/tool/mml.ts index fc07d703..ae5503ad 100644 --- a/src/api/tool/mml.ts +++ b/src/api/tool/mml.ts @@ -1,12 +1,11 @@ import { request } from '@/plugins/http-fetch'; // 更新网元配置重新载入 -export function updateNeConfigReload(coreUid: string, neUid: string) { +export function updateNeConfigReload(neUid: string) { return request({ url: '/tool/mml/command', method: 'POST', data: { - coreUid: coreUid, neUid: neUid, type: 'General', command: ['reload'], diff --git a/src/api/trace/task.ts b/src/api/trace/task.ts index 5ba1336b..e10d72cb 100644 --- a/src/api/trace/task.ts +++ b/src/api/trace/task.ts @@ -20,11 +20,11 @@ export async function listTraceTask(query: Record) { * @param id 网元ID * @returns object */ -export async function getTraceTask(coreUid: string, id: string | number) { +export async function getTraceTask(id: string | number) { return request({ url: `/trace/task`, method: 'GET', - params: { coreUid, id }, + params: { id }, }); } @@ -59,11 +59,11 @@ export function updateTraceTask(data: Record) { * @param ids ID多个逗号分隔 * @returns object */ -export async function delTraceTask(coreUid: string, id: string | number) { +export async function delTraceTask(id: string | number) { return request({ url: `/trace/task`, method: 'DELETE', - params: { coreUid, id }, + params: { id }, }); } diff --git a/src/components/TerminalSSHView/index.vue b/src/components/TerminalSSHView/index.vue index 08a8aef8..91ece98f 100644 --- a/src/components/TerminalSSHView/index.vue +++ b/src/components/TerminalSSHView/index.vue @@ -28,12 +28,6 @@ const props = defineProps({ type: String, required: true, }, - /**核心网标识 */ - coreUid: { - type: String, - default: '', - required: true, - }, /**窗口单行字符数 */ cols: { type: Number, @@ -118,7 +112,6 @@ function wsOpen(ev: any) { rows: terminal.value.rows, neType: props.neType, neUid: props.neUid, - coreUid: props.coreUid, id: props.id, }); }); @@ -150,7 +143,6 @@ function wsClose(code: number) { code: code, neType: props.neType, neUid: props.neUid, - coreUid: props.coreUid, id: props.id, }); } @@ -210,14 +202,13 @@ function processMessage(data: string): string { } onMounted(() => { - if (props.neType && props.neUid && props.coreUid) { + if (props.neType && props.neUid) { // 建立链接 const options: OptionsType = { url: props.url, params: { neType: props.neType, neUid: props.neUid, - coreUid: props.coreUid, cols: props.cols, rows: props.rows, }, diff --git a/src/hooks/useCoreUid.ts b/src/hooks/useCoreUid.ts index e245d23b..e126a35b 100644 --- a/src/hooks/useCoreUid.ts +++ b/src/hooks/useCoreUid.ts @@ -1,5 +1,35 @@ -import { CACHE_SESSION_CORE_UID } from '@/constants/cache-keys-constants'; -import { sessionGet } from '@/utils/cache-session-utils'; +import { + CACHE_SESSION_CORE, + CACHE_SESSION_CORE_UID, +} from '@/constants/cache-keys-constants'; +import { + sessionGet, + sessionGetJSON, + sessionSet, + sessionSetJSON, +} from '@/utils/cache-session-utils'; + +/** + * 核心路网元层由路径 + * @returns 核心路网元层路径 + */ +export const CORE_NE_PATH = '/core-ne'; + +/** + * 获取当前coreUid + * @returns coreUid + */ +export function current() { + return sessionGetJSON(CACHE_SESSION_CORE) || {}; +} + +/** + * 获取当前coreUid + * @returns coreUid + */ +export function changeCurrent(v: Record) { + sessionSetJSON(CACHE_SESSION_CORE, v); +} /** * 获取当前coreUid @@ -8,3 +38,11 @@ import { sessionGet } from '@/utils/cache-session-utils'; export function currentCoreUid() { return sessionGet(CACHE_SESSION_CORE_UID) || ''; } + +/** + * 切换coreUid + * @param coreUid coreUid + */ +export function changeCoreUid(coreUid: string) { + sessionSet(CACHE_SESSION_CORE_UID, coreUid); +} diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index 4098deec..f08c420f 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -553,6 +553,7 @@ export default { stopTip: 'Are you sure you want to stop the [{ne}] NE Service?', reload: 'Reload', reloadTip: 'Confirm that you want to reload the network element configuration information?', + license: 'License Update', oam: 'OAM', log: 'Logs', }, diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index 432093b4..dcd4b965 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -553,6 +553,7 @@ export default { stopTip: '确认要停止【{ne}】网元服务吗?', reload: '重载', reloadTip: '确认要重载网元配置信息吗?', + license: '更新许可', oam: 'OAM', log: '日志', }, diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue index 9ae3eeae..78ec26d6 100644 --- a/src/layouts/BasicLayout.vue +++ b/src/layouts/BasicLayout.vue @@ -25,17 +25,20 @@ import useAppStore from '@/store/modules/app'; import useNeStore from '@/store/modules/ne'; import useRouterStore from '@/store/modules/router'; import useTabsStore from '@/store/modules/tabs'; -import useI18n from '@/hooks/useI18n'; import useAlarmStore from '@/store/modules/alarm'; +import useCoreStore from '@/store/modules/core'; +import useI18n from '@/hooks/useI18n'; import { getServerTime } from '@/api'; import { MENU_PATH_INLINE } from '@/constants/menu-constants'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import { APP_SERVER_TYPE_M } from '@/constants/app-constants'; import { getTimezoneOffset, parseDateUTCToStr } from '@/utils/date-utils'; import { parseUrlPath } from '@/plugins/file-static-url'; +import { CORE_NE_PATH } from '@/hooks/useCoreUid'; const { proConfig, waterMarkContent } = useLayoutStore(); const { t, currentLocale } = useI18n(); const routerStore = useRouterStore(); +const coreStore = useCoreStore(); const neStore = useNeStore(); const tabsStore = useTabsStore(); const appStore = useAppStore(); @@ -53,12 +56,29 @@ watch( router.currentRoute, v => { const matched = v.matched.concat(); - layoutState.openKeys = matched - .filter(r => r.path !== v.path) - .map(r => r.path); - layoutState.selectedKeys = matched - .filter(r => r.name !== 'Root') - .map(r => r.path); + let openKeys: string[] = []; + let selectedKeys: string[] = []; + + // 多核心网切换菜单显示 + if ( + appStore.serverType === APP_SERVER_TYPE_M && + coreStore.globalDefaultCoreUid !== coreStore.currentCoreUid + ) { + openKeys = matched + .filter(r => r.path !== CORE_NE_PATH) + .filter(r => r.path !== v.path) + .map(r => r.path.replace(CORE_NE_PATH, '')); + selectedKeys = matched + .filter(r => r.path !== CORE_NE_PATH) + .map(r => r.path.replace(CORE_NE_PATH, '')); + } else { + openKeys = matched.filter(r => r.path !== v.path).map(r => r.path); + selectedKeys = matched.filter(r => r.name !== 'Root').map(r => r.path); + } + + layoutState.openKeys = openKeys; + layoutState.selectedKeys = selectedKeys; + // 路由地址含有内嵌地址标识又是隐藏菜单需要处理打开高亮菜单栏 if (v.path.includes(MENU_PATH_INLINE) && v.meta.hideInMenu) { const idx = v.path.lastIndexOf(MENU_PATH_INLINE); @@ -73,17 +93,36 @@ watch( const menuData = computed(() => { const rootRoute = router.getRoutes().find(r => r.name === 'Root'); if (rootRoute) { - const children = routerStore.setRootRouterData(rootRoute.children); + const rootRouteChildren = routerStore.setRootRouterData(rootRoute.children); const buildRouterData = routerStore.buildRouterData; if (buildRouterData.length > 0) { - rootRoute.children = children.concat(buildRouterData); + // 多核心网切换菜单显示 + if (appStore.serverType === APP_SERVER_TYPE_M) { + const filterRoute = buildRouterData.filter(v => { + if (coreStore.globalDefaultCoreUid === coreStore.currentCoreUid) { + return v.path !== CORE_NE_PATH; + } else { + return v.path === CORE_NE_PATH; + } + }); + if (filterRoute.length === 1 && filterRoute[0].children) { + rootRoute.children = rootRouteChildren.concat( + filterRoute[0].children + ); + } else { + rootRoute.children = rootRouteChildren.concat(filterRoute); + } + } else { + // 单核心网切换菜单显示 + rootRoute.children = rootRouteChildren.concat(buildRouterData); + } } else { - rootRoute.children = children; + rootRoute.children = rootRouteChildren; } } const neTypes = neStore.getNeSelectOtions.map(v => v.value); let routes = clearMenuItem(router.getRoutes()); - routes = routerStore.clearMenuItemByNeList(routes, '12345678', neTypes); + routes = routerStore.clearMenuItemByNeList(routes, neTypes); const { menuData } = getMenuData(routes); return menuData; }); @@ -309,21 +348,18 @@ onUnmounted(() => { - + - - -