diff --git a/.env.development b/.env.development index 5d11267f..b122d84f 100644 --- a/.env.development +++ b/.env.development @@ -5,13 +5,13 @@ VITE_HISTORY_HASH = false VITE_HISTORY_BASE_URL = "/" # 应用名称 -VITE_APP_NAME = "Core Network EMS" +VITE_APP_NAME = "Core Network OMC" # 应用标识 -VITE_APP_CODE = "CN EMS" +VITE_APP_CODE = "OMC" # 应用版本 -VITE_APP_VERSION = "2.240712" +VITE_APP_VERSION = "2.240729" # 接口基础URL地址-不带/后缀 VITE_API_BASE_URL = "/omc-api" diff --git a/.env.production b/.env.production index 9613308b..5498a878 100644 --- a/.env.production +++ b/.env.production @@ -5,13 +5,13 @@ VITE_HISTORY_HASH = true VITE_HISTORY_BASE_URL = "/" # 应用名称 -VITE_APP_NAME = "Core Network EMS" +VITE_APP_NAME = "Core Network OMC" # 应用标识 -VITE_APP_CODE = "CN EMS" +VITE_APP_CODE = "OMC" # 应用版本 -VITE_APP_VERSION = "2.240712" +VITE_APP_VERSION = "2.240729" # 接口基础URL地址-不带/后缀 VITE_API_BASE_URL = "/omc-api" diff --git a/src/api/ne/neConfigBackup.ts b/src/api/ne/neConfigBackup.ts new file mode 100644 index 00000000..4c96b485 --- /dev/null +++ b/src/api/ne/neConfigBackup.ts @@ -0,0 +1,83 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 网元配置文件备份记录列表 + * @param query 查询参数 + * @returns object + */ +export function listNeConfigBackup(query: Record) { + return request({ + url: '/ne/config/backup/list', + method: 'get', + params: query, + }); +} + +/** + * 网元配置文件备份记录修改 + * @param data 数据 { id, name, remark } + * @returns object + */ +export function updateNeConfigBackup(data: Record) { + return request({ + url: '/ne/config/backup', + method: 'put', + data: data, + }); +} + +/** + * 网元配置文件备份记录下载 + * @param id 记录ID + * @returns object + */ +export async function downNeConfigBackup(id: string) { + return await request({ + url: '/ne/config/backup/download', + method: 'get', + params: { id }, + responseType: 'blob', + timeout: 180_000, + }); +} + +/** + * 网元配置文件备份记录删除 + * @param id 记录ID + * @returns object + */ +export async function delNeConfigBackup(id: string) { + return request({ + url: '/ne/config/backup', + method: 'delete', + params: { id }, + }); +} + +/** + * 网元配置文件备份导出 + * @param data 数据 { neType, neId } + * @returns object + */ +export function exportNeConfigBackup(data: Record) { + return request({ + url: '/ne/config/backup/export', + method: 'post', + data: data, + responseType: 'blob', + timeout: 180_000, + }); +} + +/** + * 网元配置文件备份导入 + * @param data 数据 { neType, neId, type, path } + * @returns object + */ +export function importNeConfigBackup(data: Record) { + return request({ + url: '/ne/config/backup/import', + method: 'post', + data: data, + }); +} \ No newline at end of file diff --git a/src/api/neData/udm_auth.ts b/src/api/neData/udm_auth.ts index 0af15c84..abc2450d 100644 --- a/src/api/neData/udm_auth.ts +++ b/src/api/neData/udm_auth.ts @@ -113,7 +113,6 @@ export function batchDelUDMAuth(neId: string, imsi: string, num: number) { /** * UDM鉴权用户导入 - * @param neId 网元ID * @param data 表单数据对象 * @returns object */ diff --git a/src/api/neUser/ims.ts b/src/api/neUser/ims.ts index 71c5bf2c..0ead4388 100644 --- a/src/api/neUser/ims.ts +++ b/src/api/neUser/ims.ts @@ -52,9 +52,11 @@ export async function listUENumByIMS(neId: String) { method: 'get', }); if (result.code === RESULT_CODE_SUCCESS) { - return Object.assign(result, { - data: result.data['ueNum'], - }); + let num = result.data['ueNum'] || 0; + if (num === 0) { + num = result.data.data['ueNum'] || 0; + } + return Object.assign(result, { data: num }); } // 模拟数据 diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index 07dc489b..ff4073f7 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -669,9 +669,8 @@ export default { local:'Local File', localUpload:'Local Upload', exportTip:'Confirm that you want to export the network element configuration file?', - exportMsg:'Exported successfully, please download from [Backup Management].', - filePlease: "Please upload a file", - fileNamePlease: 'Please select the server file', + exportMsg:'Exporting Network Element Configuration Information to a File Succeeded', + pathPlease: 'No Backup File Found', }, }, neHost: { @@ -771,18 +770,13 @@ export default { uploadChangeOk: 'Network Element renewed license successfully and is being calibrated in the background!', uploadChangeFail: "Some network elements failed to update the license, please check whether the service terminal environment is available!", }, - neConfPara5G: { - headerTip: 'Check and save the public parameter properties of the network element before performing the installation of the network element, and make sure that the latest parameter properties are applied.', - headerTipToPage: 'Jump Installation', - save: 'Save', - reload: 'Reload', - title: 'Save Info', - sync: 'Sync to NE', - syncNe: 'Select NE', - syncNeDone: 'Synchronization to network element terminals complete', - saveOk: 'Save Success!', + neConfigBackup: { + name: "Name", + downTip: 'Confirmed to download the backup file [{txt}]?', + title: "Modify Backup {txt}", }, neQuickSetup: { + reloadPara5G: 'Reload', stepPrev: 'Previous', stepPrevTip: 'Confirm that you want to abandon the current change and return to the previous step?', stepNext: 'Next', @@ -875,8 +869,8 @@ export default { checkDel: 'Check Delete', batchAddText: 'Batch Add', batchDelText: 'Batch Delete', - enable:'Enable', - disable:'Disable', + enable:'Enabled', + disable:'Disabled', startIMSI: 'Start IMSI', imsiTip: 'IMSI=MCC+MNC+MSIN', imsiTip1: 'MCC=Mobile Country Code, consisting of three digits.', @@ -884,13 +878,13 @@ export default { imsiTip3: 'MSIN = Mobile Subscriber Identification Number, consisting of 10 equal digits.', msisdnTip: 'Maximum parameter length {num}', inputTip: 'The maximum length of the parameter is {num}', - cnTypeTip: 'Type of network access allowed', arfbTip: 'Restricted area template, in which the UE is not allowed to communicate with the network in the restricted area specified in the template', sarTip: 'Service Area Restriction template, defining permitted areas in which the UE can communicate with the network, and disallowed areas in which the UE and the network are not allowed to initiate Service Requests or SM signaling to obtain subscriber services', micoTip: 'Signed MICO business flag bits', rfspTip:'RFSP index, in NG-RAN, the index of a specific RRM configuration, parameter between 0 and 127', ueTypeTip: 'Operator-defined subscriber UE Usage Type, integer, parameter between 0 and 127', - epsFlagTip: 'Enable or disable 4G EPS service', + cnFlag: 'Whether to enable 5G Core Network service', + epsFlagTip: 'Whether to enable 4G EPS service', contextIdTip: 'To sign up for an APN Context ID, you must select it from the APN Context list.', apnContextTip: 'The list of APNs available to the phone, up to six, is defined in the HSS.', staticIpTip: 'Specify the static IP address to be used by the cell phone user to access the Internet, and "-" means dynamic IP address is used.', @@ -1991,6 +1985,7 @@ export default { stepNeInfoStepNext: 'Confirm that you want to proceed to the next step to configure the parameters of the network element?', stepPara5GTitle: "Configuration Parameter", stepPara5GDesc: "Setting network element global parameter information", + savePara5GOk: 'Save Success!', stepPara5GStepPrev: 'Confirm that you want to abandon the current change and return to the previous step?', stepPara5GStepNext: 'Confirm that you want to proceed to the next step for the network element service installation?', stepInstallTitle: "Service Install", diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index 3b9e471e..87589baf 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -669,9 +669,8 @@ export default { local:'本地文件', localUpload:'本地上传', exportTip:'确认要导出网元配置信息到文件?', - exportMsg:'导出成功,请到【备份管理】进行下载', - filePlease: "请上传文件", - fileNamePlease: '请选择服务器文件', + exportMsg:'导出网元配置信息到文件成功', + pathPlease: '未发现文件', }, }, neHost: { @@ -771,18 +770,13 @@ export default { uploadChangeOk: '网元更新许可证成功,正在后台校验!', uploadChangeFail: "部分网元更新许可证失败,请检查服务终端环境是否可用!", }, - neConfPara5G: { - headerTip: '进行网元安装前检查并保存网元公共参数属性,确认应用为最新参数属性', - headerTipToPage: '跳转安装', - save: '保存', - reload: '刷新', - title: '保存信息', - sync: '同步到网元', - syncNe: '选择网元', - syncNeDone: '同步到网元终端完成', - saveOk: '保存成功!', + neConfigBackup: { + name: "名称", + downTip: '确认要下载备份文件【{txt}】吗?', + title: "修改备份信息 {txt}", }, neQuickSetup: { + reloadPara5G: '刷新', stepPrev: '上一步', stepPrevTip: '确认要放弃当前变更返回上一步吗?', stepNext: '下一步', @@ -884,13 +878,13 @@ export default { imsiTip3: 'MSIN=移动客户识别码,采用等长10位数字构成', msisdnTip: '参数最大长度 {num}', inputTip: '参数最大长度为 {num}', - cnTypeTip: '允许接入的网络类型', arfbTip: '限制区域模板,在模板指定的限制区域中,UE 不允许与网络通信', sarTip: '服务区域限制模板,定义允许的区域,UE 在这些区域中可以和网络通信;定义不允许的区,UE 和网络在这些区域中,不允许发起Service Request 或 SM 信令来获取用户服务', micoTip: '签约的 MICO 业务标志位', rfspTip:'RFSP 索引,在 NG-RAN 中,特定 RRM 配置的索引,参数介于0到127之间', ueTypeTip: '运营商定义的用户 UE Usage Type,整型,参数介于0到127之间', - epsFlagTip: '是否开启4G EPS 服务', + cnFlag: '是否开启 5G Core Network 服务', + epsFlagTip: '是否开启 4G EPS 服务', contextIdTip: '签约APN 上下文ID,必须从APN Context list 中选择。', apnContextTip: '手机可用的APN列表,最多六个,在HSS中定义。', staticIpTip: '指定手机用户上网时使用的静态IP地址,为"-"时表示使用动态IP地址', @@ -1991,6 +1985,7 @@ export default { stepNeInfoStepNext: '确认要下一步进行网元配置参数?', stepPara5GTitle: "网元配置参数", stepPara5GDesc: "设置网元全局参数信息", + savePara5GOk: '保存成功!', stepPara5GStepPrev: '确认要放弃当前变更返回上一步吗?', stepPara5GStepNext: '确认要下一步进行网元服务安装吗?', stepInstallTitle: "网元服务安装", diff --git a/src/views/dashboard/overview/components/UPFFlow/index.vue b/src/views/dashboard/overview/components/UPFFlow/index.vue index 13a9a716..57284a0b 100644 --- a/src/views/dashboard/overview/components/UPFFlow/index.vue +++ b/src/views/dashboard/overview/components/UPFFlow/index.vue @@ -204,16 +204,15 @@ function handleRanderChart() { /**查询初始UPF数据 */ function fnGetInitData() { - // 查询10分钟前的 - const nowDate: Date = new Date(); - const tenMinutesAgo = new Date(nowDate.getTime() - 5 * 60 * 1000); + // 查询5分钟前的 + const nowDate = new Date().getTime(); + listKPIData({ neType: 'UPF', neId: upfWhoId.value, - startTime: parseDateToStr(tenMinutesAgo), - endTime: parseDateToStr(nowDate), - // startTime: '2024-03-20 19:50:00', - // endTime: '2024-03-20 19:55:00', + startTime: nowDate - 5 * 60 * 1000, + endTime: nowDate, + interval: 5, // 5秒 sortField: 'timeGroup', sortOrder: 'asc', diff --git a/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts b/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts index 27b19c8a..8a9fdacb 100644 --- a/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts +++ b/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts @@ -1,3 +1,4 @@ +import { parseDateToStr } from '@/utils/date-utils'; import { parseSizeFromBits, parseSizeFromKbs } from '@/utils/parse-utils'; import { ref } from 'vue'; @@ -22,7 +23,7 @@ export const upfFlowData = ref({ /**UPF-流量数据 数据解析 */ export function upfFlowParse(data: Record) { - upfFlowData.value.lineXTime.push(data['timeGroup']); + upfFlowData.value.lineXTime.push(parseDateToStr(+data['timeGroup'])); const upN3 = parseSizeFromKbs(+data['UPF.03'], 5); upfFlowData.value.lineYUp.push(upN3[0]); const downN6 = parseSizeFromKbs(+data['UPF.06'], 5); @@ -78,7 +79,7 @@ export function upfTFParse(data: Record) { export const upfTFActive = ref(0); /**属性复位 */ -export function upfTotalFlowReset() { +export function upfTotalFlowReset() { upfFlowData.value = { lineXTime: [], lineYUp: [], diff --git a/src/views/dashboard/overview/hooks/useWS.ts b/src/views/dashboard/overview/hooks/useWS.ts index 24f06381..68d59733 100644 --- a/src/views/dashboard/overview/hooks/useWS.ts +++ b/src/views/dashboard/overview/hooks/useWS.ts @@ -210,7 +210,7 @@ export default function useWS() { params: { /**订阅通道组 * - * 指标UPF (GroupID:12) + * 指标UPF (GroupID:12_neId) * AMF_UE会话事件(GroupID:1010) * MME_UE会话事件(GroupID:1011) * IMS_CDR会话事件(GroupID:1005) diff --git a/src/views/ne/neConfPara5G/index.vue b/src/views/ne/neConfPara5G/index.vue deleted file mode 100644 index 58d4efae..00000000 --- a/src/views/ne/neConfPara5G/index.vue +++ /dev/null @@ -1,296 +0,0 @@ - - - - - diff --git a/src/views/ne/neConfigBackup/index.vue b/src/views/ne/neConfigBackup/index.vue new file mode 100644 index 00000000..931ce9c7 --- /dev/null +++ b/src/views/ne/neConfigBackup/index.vue @@ -0,0 +1,605 @@ + + + + + diff --git a/src/views/ne/neInfo/components/BackConfModal.vue b/src/views/ne/neInfo/components/BackConfModal.vue index 3d6615dd..b211cbbd 100644 --- a/src/views/ne/neInfo/components/BackConfModal.vue +++ b/src/views/ne/neInfo/components/BackConfModal.vue @@ -1,15 +1,17 @@