diff --git a/.env.development b/.env.development index 91541e4d..dd1252ea 100644 --- a/.env.development +++ b/.env.development @@ -11,7 +11,7 @@ VITE_APP_NAME = "Core Network EMS" VITE_APP_CODE = "CN EMS" # 应用版本 -VITE_APP_VERSION = "2.240626" +VITE_APP_VERSION = "2.240627" # 接口基础URL地址-不带/后缀 VITE_API_BASE_URL = "/omc-api" diff --git a/.env.production b/.env.production index 58441d82..ab00a551 100644 --- a/.env.production +++ b/.env.production @@ -11,7 +11,7 @@ VITE_APP_NAME = "Core Network EMS" VITE_APP_CODE = "CN EMS" # 应用版本 -VITE_APP_VERSION = "2.240626" +VITE_APP_VERSION = "2.240627" # 接口基础URL地址-不带/后缀 VITE_API_BASE_URL = "/omc-api" diff --git a/src/api/neUser/smf.ts b/src/api/neUser/smf.ts index a19f2617..3a848850 100644 --- a/src/api/neUser/smf.ts +++ b/src/api/neUser/smf.ts @@ -1,6 +1,5 @@ import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import { request } from '@/plugins/http-fetch'; -import { parseObjLineToHump } from '@/utils/parse-utils'; /** * 查询列表 @@ -21,14 +20,19 @@ export async function listUEInfoBySMF(query: Record) { msg: result.msg, }; // 解析数据 - if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { - const rows = parseObjLineToHump(result.data.data); - data.total = rows.length; - data.rows = rows; + if (result.code === RESULT_CODE_SUCCESS && result.data) { + if (Array.isArray(result.data.data)) { + const rows = result.data.data; + data.total = rows.length; + data.rows = rows; + } else { + Object.assign(data, result.data); + } } // 模拟数据 // data.code = RESULT_CODE_SUCCESS; + // data.total = 2; // data.rows = [ // { // imsi: 'imsi-460000100000090', diff --git a/src/components/GlobalMask/index.vue b/src/components/GlobalMask/index.vue index 9948332d..8173500e 100644 --- a/src/components/GlobalMask/index.vue +++ b/src/components/GlobalMask/index.vue @@ -14,23 +14,26 @@ const { t } = useI18n(); /**显示遮罩 */ const isVisible = computed(() => !['none', 'lock'].includes(maskStore.type)); -// 等待指定的时间后触发事件的函数 +// 用户无操作一段时间后进行锁屏 function idleTimeout(time: number, callback: Function) { if (time === 0) return; let timeoutId: any; - - function resetTimer() { - clearTimeout(timeoutId); - timeoutId = setTimeout(callback, time); + let idleTime = 0; + function resetIdleTime() { + idleTime = 0; } - - // 监听浏览器标签是否活动 - window.addEventListener('blur', useThrottleFn(resetTimer, 300)); - window.addEventListener('focus', useThrottleFn(resetTimer, 300)); - document.addEventListener('visibilitychange', useThrottleFn(resetTimer, 300)); - - // 初始化定时器 - resetTimer(); + // 监听用户活动事件 + document.addEventListener('mousemove', useThrottleFn(resetIdleTime, 1000)); + document.addEventListener('keydown', useThrottleFn(resetIdleTime, 1000)); + document.addEventListener('click', useThrottleFn(resetIdleTime, 1000)); + // 定时检查用户是否长时间无操作 + timeoutId = setInterval(() => { + idleTime += 1000; + if (idleTime >= time) { + clearTimeout(timeoutId); + callback(); + } + }, 1000); } /**组件实例挂载之后调用 */ diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index e0da724f..6c8d457f 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -572,8 +572,8 @@ export default { delTip: "Confirm deletion of the data item numbered [{msg}]?", exportTip: "Do you confirm to export the current query conditions of the CDR data? (Maximum 10,000 items can be exported.)", smfChargingID: 'Charging ID', - smfSubscriptionIDData: 'Subscriber ID Data', - smfSubscriptionIDType: 'Subscriber ID Type', + smfSubscriptionIDData: 'Subscription ID Data', + smfSubscriptionIDType: 'Subscription ID Type', smfDataVolumeUplink: 'Data Volume Uplink', smfDataVolumeDownlink: 'Data Volume Downlink', smfDataTotalVolume: 'Data Total Volume', @@ -766,7 +766,7 @@ export default { licensePath: "License File", licensePathTip: "Please upload license file", upload: 'Upload', - uploadBatch: "Upload License", + uploadFile: "Upload License", 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!", }, diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index da4aad00..2b3c8ebf 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -572,8 +572,8 @@ export default { delTip: "确认删除编号为【{msg}】的数据项?", exportTip: "确认导出当前查询条件的话单数据吗?(导出最大支持一万条)", smfChargingID: '计费ID', - smfSubscriptionIDData: '用户 ID 数据', - smfSubscriptionIDType: '用户 ID 类型', + smfSubscriptionIDData: '订阅 ID 数据', + smfSubscriptionIDType: '订阅 ID 类型', smfDataVolumeUplink: '数据量上行链路', smfDataVolumeDownlink: '数据量下行链路', smfDataTotalVolume: '数据总量', @@ -766,7 +766,7 @@ export default { licensePath: "许可证文件", licensePathTip: "请上传许可证文件", upload: '上传', - uploadBatch: "上传许可证", + uploadFile: "上传许可证", uploadChangeOk: '网元更新许可证成功,正在后台校验!', uploadChangeFail: "部分网元更新许可证失败,请检查服务终端环境是否可用!", }, diff --git a/src/views/dashboard/smfCDR/index.vue b/src/views/dashboard/smfCDR/index.vue index a4330ed4..ad726ee6 100644 --- a/src/views/dashboard/smfCDR/index.vue +++ b/src/views/dashboard/smfCDR/index.vue @@ -101,7 +101,7 @@ let tableColumns: ColumnsType = [ }, }, { - title: t('views.dashboard.cdr.smfSubscriptionIDType'), // 用户 ID 类型 + title: t('views.dashboard.cdr.smfSubscriptionIDType'), // 订阅 ID 类型 dataIndex: 'cdrJSON', align: 'left', width: 150, @@ -111,7 +111,7 @@ let tableColumns: ColumnsType = [ }, }, { - title: t('views.dashboard.cdr.smfSubscriptionIDData'), // 用户 ID 数据 + title: t('views.dashboard.cdr.smfSubscriptionIDData'), // 订阅 ID 数据 dataIndex: 'cdrJSON', align: 'left', width: 150, diff --git a/src/views/ne/neInfo/components/EditModal.vue b/src/views/ne/neInfo/components/EditModal.vue index 28ff15e6..085a580a 100644 --- a/src/views/ne/neInfo/components/EditModal.vue +++ b/src/views/ne/neInfo/components/EditModal.vue @@ -223,12 +223,6 @@ function fnModalVisibleByEdit(editId: string) { modalState.confirmLoading = false; hide(); if (res.code === RESULT_CODE_SUCCESS) { - // OMC没有telnet - if (res.data.neType === 'OMC') { - res.data.hosts = res.data.hosts.filter( - (s: any) => s.hostType === 'ssh' - ); - } Object.assign(modalState.from, res.data); modalState.title = t('views.ne.neInfo.editTitle'); modalState.visibleByEdit = true; @@ -292,10 +286,6 @@ function fnModalCancel() { */ function fnNeTypeChange(v: any) { const hostsLen = modalState.from.hosts.length; - // OMC没有telnet - if (hostsLen >= 2 && v === 'OMC') { - modalState.from.hosts.splice(1, hostsLen); - } // 网元默认只含22和4100 if (hostsLen === 3 && v !== 'UPF') { modalState.from.hosts.pop(); @@ -626,7 +616,9 @@ onMounted(() => { diff --git a/src/views/ne/neSoftware/index.vue b/src/views/ne/neSoftware/index.vue index bcdeab03..361e955a 100644 --- a/src/views/ne/neSoftware/index.vue +++ b/src/views/ne/neSoftware/index.vue @@ -434,8 +434,13 @@ onMounted(() => { " > - {{ t('views.ne.neSoftware.uploadBatch') }} - {{ tableState.selectedRowOne.neType }} + + { " > - {{ t('views.ne.neSoftware.uploadBatch') }} - {{ tableState.selectedRowOne.neType }} + + t('common.tablePaginationTotal', { total }), diff --git a/src/views/system/quick-start/components/NeInfoSoftwareInstall.vue b/src/views/system/quick-start/components/NeInfoSoftwareInstall.vue index da463914..6ddec5e0 100644 --- a/src/views/system/quick-start/components/NeInfoSoftwareInstall.vue +++ b/src/views/system/quick-start/components/NeInfoSoftwareInstall.vue @@ -284,7 +284,7 @@ onMounted(() => { " > - {{ t('views.ne.neSoftware.uploadBatch') }} + {{ t('views.ne.neSoftware.upload') }} {{ state.selectedRowOne.neType }} diff --git a/src/views/system/quick-start/components/NeInfoSoftwareLicense.vue b/src/views/system/quick-start/components/NeInfoSoftwareLicense.vue index 06173771..ddd627a0 100644 --- a/src/views/system/quick-start/components/NeInfoSoftwareLicense.vue +++ b/src/views/system/quick-start/components/NeInfoSoftwareLicense.vue @@ -296,7 +296,7 @@ onMounted(() => { @click.prevent="fnModalOpen" > - {{ t('views.ne.neLicense.uploadBatch') }} + {{ t('views.ne.neLicense.uploadFile') }}