feat: 网元服务操作局部状态刷新,补充提示信息
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -472,11 +472,11 @@ export default {
|
||||
normalcy: '正常',
|
||||
exceptions: '异常',
|
||||
restart: '重启',
|
||||
restartTip: '确认要重新启动网元服务吗?',
|
||||
restartTip: '确认要重新启动【{ne}】网元服务吗?',
|
||||
start: '启动',
|
||||
startTip: '确认要启动网元服务吗?',
|
||||
startTip: '确认要启动【{ne}】网元服务吗?',
|
||||
stop: '停止',
|
||||
stopTip: '确认要停止网元服务吗?',
|
||||
stopTip: '确认要停止【{ne}】网元服务吗?',
|
||||
reload: '重载',
|
||||
reloadTip: '确认要重载网元配置信息吗?',
|
||||
oam: 'OAM',
|
||||
|
||||
@@ -14,11 +14,12 @@ export default function useNeOptions() {
|
||||
/**
|
||||
* 网元启动
|
||||
* @param row {neName,neType,neId}
|
||||
* @param callback 回调函数,用于刷新表格数据
|
||||
*/
|
||||
function fnNeStart(row: Record<string, any>) {
|
||||
function fnNeStart(row: Record<string, any>, 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<string, any>) {
|
||||
function fnNeRestart(row: Record<string, any>, 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<string, any>) {
|
||||
function fnNeStop(row: Record<string, any>, 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<string, any>) {
|
||||
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,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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<string, any>) {
|
||||
return;
|
||||
}
|
||||
// 编辑时局部更新信息
|
||||
stateNeInfo(from.neType, from.neId)
|
||||
reloadRowInfo(from);
|
||||
}
|
||||
|
||||
/**局部更新信息 */
|
||||
function reloadRowInfo(row: Record<string, any>) {
|
||||
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<string, any>) {
|
||||
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<string, any>) {
|
||||
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 => {
|
||||
|
||||
Reference in New Issue
Block a user