diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index 1fe8398b..60f189c4 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -472,11 +472,11 @@ export default { normalcy: 'Normal', exceptions: 'Abnormal', restart: 'Restart', - restartTip: 'Are you sure you want to restart the network element service?', + restartTip: 'Are you sure you want to restart the [{ne}] NE Service?', start: 'Start', - startTip: 'Are you sure you want to start the network element service?', + startTip: 'Are you sure you want to start the [{ne}] NE Service?', stop: 'Stop', - stopTip: 'Are you sure you want to stop the network element service?', + 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?', oam: 'OAM', diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index 84fb4a36..f12de383 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -472,11 +472,11 @@ export default { normalcy: '正常', exceptions: '异常', restart: '重启', - restartTip: '确认要重新启动网元服务吗?', + restartTip: '确认要重新启动【{ne}】网元服务吗?', start: '启动', - startTip: '确认要启动网元服务吗?', + startTip: '确认要启动【{ne}】网元服务吗?', stop: '停止', - stopTip: '确认要停止网元服务吗?', + stopTip: '确认要停止【{ne}】网元服务吗?', reload: '重载', reloadTip: '确认要重载网元配置信息吗?', oam: 'OAM', diff --git a/src/views/ne/neInfo/hooks/useNeOptions.ts b/src/views/ne/neInfo/hooks/useNeOptions.ts index 941ff9d5..66bbeb27 100644 --- a/src/views/ne/neInfo/hooks/useNeOptions.ts +++ b/src/views/ne/neInfo/hooks/useNeOptions.ts @@ -14,11 +14,12 @@ export default function useNeOptions() { /** * 网元启动 * @param row {neName,neType,neId} + * @param callback 回调函数,用于刷新表格数据 */ - function fnNeStart(row: Record) { + function fnNeStart(row: Record, callback?: () => void) { Modal.confirm({ title: t('common.tipTitle'), - content: t('views.ne.common.startTip'), + content: t('views.ne.common.startTip', { ne: row.neName }), onOk() { const hide = message.loading(t('common.loading'), 0); serviceNeAction({ @@ -28,10 +29,16 @@ export default function useNeOptions() { }) .then(res => { if (res.code === RESULT_CODE_SUCCESS) { - message.success(t('common.operateOk'), 3); + message.success( + `${t('views.ne.common.start')} ${row.neName} ${t( + 'common.operateOk' + )}`, + 3 + ); } else { message.error(`${res.msg}`, 3); } + callback && callback(); }) .finally(() => { hide(); @@ -43,11 +50,12 @@ export default function useNeOptions() { /** * 网元重启 * @param row {neName,neType,neId} + * @param callback 回调函数,用于刷新表格数据 */ - function fnNeRestart(row: Record) { + function fnNeRestart(row: Record, callback?: () => void) { Modal.confirm({ title: t('common.tipTitle'), - content: t('views.ne.common.restartTip'), + content: t('views.ne.common.restartTip', { ne: row.neName }), onOk() { const hide = message.loading(t('common.loading'), 0); serviceNeAction({ @@ -69,10 +77,16 @@ export default function useNeOptions() { } return; } - message.success(t('common.operateOk'), 3); + message.success( + `${t('views.ne.common.restart')} ${row.neName} ${t( + 'common.operateOk' + )}`, + 3 + ); } else { message.error(`${res.msg}`, 3); } + callback && callback(); }) .finally(() => { hide(); @@ -84,11 +98,12 @@ export default function useNeOptions() { /** * 网元停止 * @param row {neName,neType,neId} + * @param callback 回调函数,用于刷新表格数据 */ - function fnNeStop(row: Record) { + function fnNeStop(row: Record, callback?: () => void) { Modal.confirm({ title: t('common.tipTitle'), - content: t('views.ne.common.stopTip'), + content: t('views.ne.common.stopTip', { ne: row.neName }), onOk() { const hide = message.loading(t('common.loading'), 0); serviceNeAction({ @@ -98,10 +113,16 @@ export default function useNeOptions() { }) .then(res => { if (res.code === RESULT_CODE_SUCCESS) { - message.success(t('common.operateOk'), 3); + message.success( + `${t('views.ne.common.stop')} ${row.neName} ${t( + 'common.operateOk' + )}`, + 3 + ); } else { message.error(`${res.msg}`, 3); } + callback && callback(); }) .finally(() => { hide(); @@ -149,5 +170,62 @@ export default function useNeOptions() { }); } - return { fnNeStart, fnNeRestart, fnNeStop, fnNeReload, fnNeLogFile }; + /** + * 解析网元状态携带的资源利用率 + * @param neState {cpu,mem,disk} + */ + function parseResouresUsage(neState: Record) { + let sysCpuUsage = 0; + let nfCpuUsage = 0; + if (neState.cpu) { + nfCpuUsage = neState.cpu.nfCpuUsage; + const nfCpu = +(nfCpuUsage / 100); + nfCpuUsage = +nfCpu.toFixed(2); + if (nfCpuUsage > 100) { + nfCpuUsage = 100; + } + + sysCpuUsage = neState.cpu.sysCpuUsage; + const sysCpu = +(sysCpuUsage / 100); + sysCpuUsage = +sysCpu.toFixed(2); + if (sysCpuUsage > 100) { + sysCpuUsage = 100; + } + } + + let sysMemUsage = 0; + if (neState.mem) { + const men = neState.mem.sysMemUsage; + sysMemUsage = +(men / 100).toFixed(2); + if (sysMemUsage > 100) { + sysMemUsage = 100; + } + } + + let sysDiskUsage = 0; + if (neState.disk && Array.isArray(neState.disk.partitionInfo)) { + let disks: any[] = neState.disk.partitionInfo; + disks = disks.sort((a, b) => +b.used - +a.used); + if (disks.length > 0) { + const { total, used } = disks[0]; + sysDiskUsage = +((used / total) * 100).toFixed(2); + } + } + + return { + sysDiskUsage, + sysMemUsage, + sysCpuUsage, + nfCpuUsage, + }; + } + + return { + fnNeStart, + fnNeRestart, + fnNeStop, + fnNeReload, + fnNeLogFile, + parseResouresUsage, + }; } diff --git a/src/views/ne/neInfo/index.vue b/src/views/ne/neInfo/index.vue index a4cce8a0..f79b57ca 100644 --- a/src/views/ne/neInfo/index.vue +++ b/src/views/ne/neInfo/index.vue @@ -14,8 +14,14 @@ import useDictStore from '@/store/modules/dict'; import useNeOptions from './hooks/useNeOptions'; const { getDict } = useDictStore(); const { t } = useI18n(); -const { fnNeStart, fnNeRestart, fnNeStop, fnNeReload, fnNeLogFile } = - useNeOptions(); +const { + fnNeStart, + fnNeRestart, + fnNeStop, + fnNeReload, + fnNeLogFile, + parseResouresUsage, +} = useNeOptions(); // 异步加载组件 const EditModal = defineAsyncComponent( () => import('./components/EditModal.vue') @@ -226,17 +232,22 @@ function fnModalEditOk(from: Record) { return; } // 编辑时局部更新信息 - stateNeInfo(from.neType, from.neId) + reloadRowInfo(from); +} + +/**局部更新信息 */ +function reloadRowInfo(row: Record) { + stateNeInfo(row.neType, row.neId) .then(res => { // 找到编辑更新的网元 - const item = tableState.data.find(s => s.id === from.id); + const item = tableState.data.find(s => s.id === row.id); if (item && res.code === RESULT_CODE_SUCCESS) { - item.neType = from.neType; - item.neId = from.neId; - item.rmUid = from.rmUid; - item.neName = from.neName; - item.ip = from.ip; - item.port = from.port; + item.neType = row.neType; + item.neId = row.neId; + item.rmUid = row.rmUid; + item.neName = row.neName; + item.ip = row.ip; + item.port = row.port; if (res.data.online) { item.status = '1'; if (res.data.standby) { @@ -290,7 +301,7 @@ function fnRecordDelete(id: string) { message.success(t('common.operateOk'), 3); // 过滤掉删除的id tableState.data = tableState.data.filter(item => { - if (id.indexOf(',') > -1) { + if (tableState.selectedRowKeys.length > 0) { return !tableState.selectedRowKeys.includes(item.id); } else { return item.id !== id; @@ -322,13 +333,13 @@ function fnRecordMore(type: string | number, row: Record) { fnRecordDelete(row.id); break; case 'start': - fnNeStart(row); + fnNeStart(row, () => reloadRowInfo(row)); break; case 'restart': - fnNeRestart(row); + fnNeRestart(row, () => reloadRowInfo(row)); break; case 'stop': - fnNeStop(row); + fnNeStop(row, () => reloadRowInfo(row)); break; case 'reload': fnNeReload(row); @@ -397,53 +408,6 @@ function fnGetList(pageNum?: number) { }); } -/**解析网元状态携带的资源利用率 */ -function parseResouresUsage(neState: Record) { - let sysCpuUsage = 0; - let nfCpuUsage = 0; - if (neState.cpu) { - nfCpuUsage = neState.cpu.nfCpuUsage; - const nfCpu = +(nfCpuUsage / 100); - nfCpuUsage = +nfCpu.toFixed(2); - if (nfCpuUsage > 100) { - nfCpuUsage = 100; - } - - sysCpuUsage = neState.cpu.sysCpuUsage; - const sysCpu = +(sysCpuUsage / 100); - sysCpuUsage = +sysCpu.toFixed(2); - if (sysCpuUsage > 100) { - sysCpuUsage = 100; - } - } - - let sysMemUsage = 0; - if (neState.mem) { - const men = neState.mem.sysMemUsage; - sysMemUsage = +(men / 100).toFixed(2); - if (sysMemUsage > 100) { - sysMemUsage = 100; - } - } - - let sysDiskUsage = 0; - if (neState.disk && Array.isArray(neState.disk.partitionInfo)) { - let disks: any[] = neState.disk.partitionInfo; - disks = disks.sort((a, b) => +b.used - +a.used); - if (disks.length > 0) { - const { total, used } = disks[0]; - sysDiskUsage = +((used / total) * 100).toFixed(2); - } - } - - return { - sysDiskUsage, - sysMemUsage, - sysCpuUsage, - nfCpuUsage, - }; -} - onMounted(() => { // 初始字典数据 Promise.allSettled([getDict('ne_info_status')]).then(resArr => {