2025-10-11 18:19:16 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<div class="app-container">
|
|
|
|
|
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
|
|
|
<el-tab-pane label="监控项" name="first">
|
2025-10-16 19:08:32 +08:00
|
|
|
|
<template v-if="activeName === 'first'">
|
|
|
|
|
|
<FirstMonitor v-if="loading" :formData="formData" :chartList="firstChartList" @chartFnEvent="chartFnEvent"></FirstMonitor>
|
|
|
|
|
|
</template>
|
2025-10-11 18:19:16 +08:00
|
|
|
|
</el-tab-pane>
|
|
|
|
|
|
<el-tab-pane label="自动发现项" name="second">
|
|
|
|
|
|
<template v-if="activeName === 'second'">
|
2025-10-27 18:28:07 +08:00
|
|
|
|
<SecondAutoFind v-if="loading" :secondChartList="secondChartList" :activeNames="activeNames" @collapseChangeData="collapseChangeData" @chartFnEvent="chartFnEvent"></SecondAutoFind>
|
2025-10-11 18:19:16 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
|
</el-tabs>
|
|
|
|
|
|
<div style="float: right;margin-top: 20px;">
|
|
|
|
|
|
<el-button type="primary" @click="goBack">返回</el-button>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
import FirstMonitor from "./firstMonitor";
|
|
|
|
|
|
import SecondAutoFind from "./secondAutoFind";
|
2025-10-28 18:37:03 +08:00
|
|
|
|
import {switchMonitorData, switchCpuData, switchMemData,switchPowerData, postInterFaceName, switchNetDetails,switchNetDiscards,switchNeTotal,
|
|
|
|
|
|
switchNetErrDiscard, switchNetSpeed, moduleAllName, moduleMsg, moduleLowThreshold, modulePower, mpuAllName, mpuMsg, mpuCpuUse, mpuMemUse,
|
|
|
|
|
|
mpuTemperature,pwrAllName, pwrMsg, pwrCurrent, pwrVoltage, fanAllName, fanMsg} from "@/api/disRevenue/resource"
|
2025-10-16 19:08:32 +08:00
|
|
|
|
export default {
|
|
|
|
|
|
name: "MonitorChart",
|
|
|
|
|
|
components: {FirstMonitor, SecondAutoFind},
|
|
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
|
|
|
|
|
loading: false,
|
|
|
|
|
|
currTimeList: {},
|
|
|
|
|
|
defaultTimes: [],
|
2025-10-29 18:21:41 +08:00
|
|
|
|
activeName: 'first',
|
2025-10-16 19:08:32 +08:00
|
|
|
|
paramsData: {},
|
|
|
|
|
|
// 第一栏
|
|
|
|
|
|
firstChartTrans: {},
|
|
|
|
|
|
formFirst: {
|
2025-10-22 18:12:42 +08:00
|
|
|
|
sysName: '系统名称', sysLocation: '系统位置', sysObjectID: '系统Object ID', hwStackSystemMac: '系统MAC地址',
|
|
|
|
|
|
sysUpTime: '系统运行时间', entPhysicalName: '设备名称', sysContact: '系统联系信息', entPhysicalSoftwareRev: '设备软件版本', sysDescr: '系统描述'
|
2025-10-16 19:08:32 +08:00
|
|
|
|
},
|
|
|
|
|
|
formData: {},
|
|
|
|
|
|
firstChartList: [],
|
|
|
|
|
|
resultData: [
|
|
|
|
|
|
{
|
|
|
|
|
|
title: '设备CPU使用率(%)',
|
|
|
|
|
|
dateShowType: 'datetimerange',
|
|
|
|
|
|
dateDataTrans: {transList: true},
|
|
|
|
|
|
dataVal: {
|
|
|
|
|
|
titleVal: {textAlign: 'left', left: '1%'},
|
|
|
|
|
|
yAxisName: ' ',
|
|
|
|
|
|
gridTop: '35%',
|
|
|
|
|
|
legend: {top: '15%', left: '10%'},
|
|
|
|
|
|
lineXData: [],
|
|
|
|
|
|
dataList: [{
|
|
|
|
|
|
name: '设备CPU使用率',
|
|
|
|
|
|
data: [],
|
|
|
|
|
|
}]
|
|
|
|
|
|
}
|
|
|
|
|
|
},{
|
|
|
|
|
|
title: '设备内存使用率(%)',
|
|
|
|
|
|
dateShowType: 'datetimerange',
|
|
|
|
|
|
dateDataTrans: {transList: true},
|
|
|
|
|
|
dataVal: {
|
|
|
|
|
|
titleVal: {textAlign: 'left', left: '1%'},
|
|
|
|
|
|
yAxisName: ' ',
|
|
|
|
|
|
gridTop: '35%',
|
|
|
|
|
|
legend: {top: '15%', left: '10%'},
|
|
|
|
|
|
lineXData: [],
|
|
|
|
|
|
dataList: [{
|
|
|
|
|
|
name: '设备内存使用率',
|
|
|
|
|
|
data: [],
|
|
|
|
|
|
}]
|
|
|
|
|
|
}
|
|
|
|
|
|
},{
|
|
|
|
|
|
title: '功率',
|
|
|
|
|
|
dateShowType: 'datetimerange',
|
|
|
|
|
|
dateDataTrans: {transList: true},
|
|
|
|
|
|
dataVal: {
|
|
|
|
|
|
titleVal: {textAlign: 'left', left: '1%'},
|
|
|
|
|
|
yAxisName: ' ',
|
|
|
|
|
|
gridTop: '35%',
|
|
|
|
|
|
legend: {top: '15%', left: '10%'},
|
|
|
|
|
|
lineXData: [],
|
|
|
|
|
|
dataList: [{
|
|
|
|
|
|
name: '系统平均功率(mW)',
|
|
|
|
|
|
data: [],
|
|
|
|
|
|
},{
|
|
|
|
|
|
name: '系统实时功率(mW)',
|
|
|
|
|
|
data: []
|
|
|
|
|
|
}]
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
],
|
|
|
|
|
|
// 第二栏
|
|
|
|
|
|
activeNames: [],
|
|
|
|
|
|
secondChartList: {},
|
|
|
|
|
|
eventDataMap: {},
|
|
|
|
|
|
echartData: {
|
|
|
|
|
|
title: 'GE1/0/1的丢包数',
|
|
|
|
|
|
dateShowType: 'datetimerange',
|
|
|
|
|
|
dateDataTrans: {transList: true},
|
|
|
|
|
|
dataVal: {
|
|
|
|
|
|
titleVal: {textAlign: 'left', left: '1%'},
|
|
|
|
|
|
yAxisName: ' ',
|
|
|
|
|
|
gridTop: '35%',
|
|
|
|
|
|
legend: {top: '15%', left: '10%'},
|
|
|
|
|
|
lineXData: ['2025-9-1', '2025-9-2', '2025-9-3', '2025-9-4', '2025-9-5', '2025-9-6', '2025-9-7'],
|
|
|
|
|
|
dataList: [{
|
|
|
|
|
|
name: '入站丢包',
|
|
|
|
|
|
data: [120, 132, 101, 134, 90, 230, 210],
|
|
|
|
|
|
},{
|
|
|
|
|
|
name: '出站丢包',
|
|
|
|
|
|
data: [220, 182, 191, 234, 290, 330, 310]
|
|
|
|
|
|
}]
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
linuxSystem: {
|
|
|
|
|
|
net: {
|
|
|
|
|
|
title: '网络端口GE1/0/1',
|
2025-10-27 18:28:07 +08:00
|
|
|
|
type: 'net',
|
2025-10-28 18:37:03 +08:00
|
|
|
|
formList: {ifDescr: '端口名称', ifType: '端口类型', ifOperStatus: '端口状态', ifSpeed: '端口适配速率(Mbps)'},
|
|
|
|
|
|
formModel: {},
|
2025-10-16 19:08:32 +08:00
|
|
|
|
echartFors: [
|
2025-10-27 18:28:07 +08:00
|
|
|
|
{title: '的丢包数', oneName: '入站丢包', twoName: '出站丢包'},
|
|
|
|
|
|
{title: '的Bites总数', oneName: '端口发送Bites总数', twoName: '端口接收Bites总数'},
|
|
|
|
|
|
{title: '的错误包数量', oneName: '错误的入站数据包数量', twoName: '错误的出战数据包数量'},
|
|
|
|
|
|
{title: '的网络速率', oneName: '端口实时接收速率', twoName: '端口实时发送速率'},
|
2025-10-16 19:08:32 +08:00
|
|
|
|
],
|
|
|
|
|
|
echartList: []
|
|
|
|
|
|
},
|
|
|
|
|
|
light: {
|
|
|
|
|
|
title: '光模块sabc',
|
2025-10-27 18:28:07 +08:00
|
|
|
|
type: 'light',
|
2025-10-16 19:08:32 +08:00
|
|
|
|
formList: {name: '光模块端口名称'},
|
|
|
|
|
|
formModel: {name: 'sabc'},
|
|
|
|
|
|
echartFors: [
|
2025-10-28 18:37:03 +08:00
|
|
|
|
{title: '的光衰阈值(dBm)', oneName: '光模块发送光衰阈值', twoName: '光模块接收光衰阈值'},
|
|
|
|
|
|
{title: '的功率(dBm)', oneName: '光模块接收功率', twoName: '光模块发送功率'}
|
2025-10-16 19:08:32 +08:00
|
|
|
|
],
|
|
|
|
|
|
echartList: []
|
|
|
|
|
|
},
|
|
|
|
|
|
mpu: {
|
|
|
|
|
|
title: 'MPU1',
|
2025-10-27 18:28:07 +08:00
|
|
|
|
type: 'mpu',
|
2025-10-16 19:08:32 +08:00
|
|
|
|
formList: {name: 'MPU名称', system: 'MPU的操作系统'},
|
|
|
|
|
|
formModel: {name: 'MPU1', system: 'xxxx'},
|
|
|
|
|
|
echartFors: [
|
2025-10-28 18:37:03 +08:00
|
|
|
|
{title: '的CPU使用率(%)', oneName: 'CPU利用率'},
|
|
|
|
|
|
{title: '的内存使用率(%)', oneName: '内存利用率'},
|
|
|
|
|
|
{title: '的温度(°C)', oneName: '温度'},
|
2025-10-16 19:08:32 +08:00
|
|
|
|
],
|
|
|
|
|
|
echartList: []
|
|
|
|
|
|
},
|
|
|
|
|
|
pw: {
|
|
|
|
|
|
title: '电源PW1',
|
2025-10-27 18:28:07 +08:00
|
|
|
|
type: 'pw',
|
2025-10-16 19:08:32 +08:00
|
|
|
|
formList: {name: '电源名称', status: '电源状态'},
|
|
|
|
|
|
formModel: {name: 'PW1', status: '正在供电'},
|
|
|
|
|
|
echartFors: [
|
2025-10-28 18:37:03 +08:00
|
|
|
|
{title: '电流(mA)', oneName: '电源电流'},
|
|
|
|
|
|
{title: '电压(mV)', oneName: '电源电压'}
|
2025-10-16 19:08:32 +08:00
|
|
|
|
],
|
|
|
|
|
|
echartList: []
|
|
|
|
|
|
},
|
|
|
|
|
|
fan: {
|
|
|
|
|
|
title: '风扇FAN1',
|
2025-10-27 18:28:07 +08:00
|
|
|
|
type: 'fan',
|
2025-10-16 19:08:32 +08:00
|
|
|
|
formList: {name: '风扇名称', status: '风扇状态'},
|
|
|
|
|
|
formModel: {name: 'FAN1', status: 'xxx'},
|
|
|
|
|
|
echartFors: [],
|
|
|
|
|
|
echartList: []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
created() {
|
|
|
|
|
|
let startData = '';
|
|
|
|
|
|
let endData = '';
|
|
|
|
|
|
const year = new Date().getFullYear();
|
|
|
|
|
|
const month = String(new Date().getMonth() + 1).padStart(2, '0'); // 0=1月,11=12月
|
|
|
|
|
|
const day = String(new Date().getDate()).padStart(2, '0'); // 当前日(如8)
|
|
|
|
|
|
const prevDay = String(new Date().getDate() - 1).padStart(2, '0');
|
|
|
|
|
|
startData = `${year}-${month}-${prevDay} 00:00:00`;
|
|
|
|
|
|
endData = `${year}-${month}-${day} 00:00:00`;
|
|
|
|
|
|
this.currTimeList = {startTime: startData, endTime: endData};
|
|
|
|
|
|
this.defaultTimes = [startData, endData];
|
|
|
|
|
|
this.paramsData = this.$route && this.$route.query;
|
|
|
|
|
|
this.handleClick();
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
async handleClick(tab, event) {
|
|
|
|
|
|
this.loading = false;
|
|
|
|
|
|
if (this.activeName === 'first') {
|
|
|
|
|
|
await Promise.all([
|
|
|
|
|
|
this.getMonitorData(),
|
2025-10-29 18:21:41 +08:00
|
|
|
|
this.getCpuData(this.currTimeList),
|
|
|
|
|
|
this.getMemData(this.currTimeList),
|
|
|
|
|
|
this.getPowerData(this.currTimeList)
|
2025-10-16 19:08:32 +08:00
|
|
|
|
]);
|
|
|
|
|
|
this.loading = true;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
await this.fnInterFaceNameList();
|
|
|
|
|
|
this.loading = true;
|
2025-10-11 18:19:16 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
2025-10-16 19:08:32 +08:00
|
|
|
|
getMonitorData() {
|
|
|
|
|
|
this.formData = {formFirst: this.formFirst};
|
|
|
|
|
|
switchMonitorData({clientId: this.paramsData.clientId}).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
this.formData['formValue'] = res.data;
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
getCpuData(val) {
|
|
|
|
|
|
let cpuData = JSON.parse(JSON.stringify(this.resultData[0]));
|
2025-10-29 18:21:41 +08:00
|
|
|
|
cpuData.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
cpuData['fnEvent'] = 'getCpuData';
|
2025-10-16 19:08:32 +08:00
|
|
|
|
switchCpuData(Object.assign({},{clientId: this.paramsData.clientId}, val)).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
cpuData.dataVal.lineXData = res.data && res.data['xData'] && res.data['xData'].length > 0 ? res.data['xData'] :
|
|
|
|
|
|
this.firstChartTrans && this.firstChartTrans['timeList'] && this.firstChartTrans['timeList'].length > 0 ? this.firstChartTrans['timeList'] : [];
|
|
|
|
|
|
cpuData.dataVal.dataList[0].data = res.data && res.data['yData'] && res.data['yData']['switchCpuUse'] && res.data['yData']['switchCpuUse'].length > 0 ? res.data['yData']['switchCpuUse'] : [];
|
|
|
|
|
|
}
|
|
|
|
|
|
// this.firstChartList[0] = cpuData;
|
|
|
|
|
|
this.$set(this.firstChartList, 0, cpuData);
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
this.firstChartList[0] = cpuData;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
getMemData(val) {
|
|
|
|
|
|
let memData = JSON.parse(JSON.stringify(this.resultData[1]));
|
2025-10-29 18:21:41 +08:00
|
|
|
|
memData.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
memData['fnEvent'] = 'getMemData';
|
2025-10-16 19:08:32 +08:00
|
|
|
|
switchMemData(Object.assign({},{clientId: this.paramsData.clientId}, val)).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
memData.dataVal.lineXData = res.data && res.data['xData'] && res.data['xData'].length > 0 ? res.data['xData'] :
|
|
|
|
|
|
this.firstChartTrans && this.firstChartTrans['timeList'] && this.firstChartTrans['timeList'].length > 0 ? this.firstChartTrans['timeList'] : [];
|
|
|
|
|
|
memData.dataVal.dataList[0].data = res.data && res.data['yData'] && res.data['yData']['switchMemUse'] && res.data['yData']['switchMemUse'].length > 0 ? res.data['yData']['switchMemUse'] : [];
|
|
|
|
|
|
}
|
|
|
|
|
|
// this.firstChartList[1] = memData;
|
|
|
|
|
|
this.$set(this.firstChartList, 1, memData);
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
this.firstChartList[1] = memData;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
getPowerData(val) {
|
|
|
|
|
|
let powerData = JSON.parse(JSON.stringify(this.resultData[2]));
|
2025-10-29 18:21:41 +08:00
|
|
|
|
powerData.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
powerData['fnEvent'] = 'getPowerData';
|
2025-10-16 19:08:32 +08:00
|
|
|
|
switchPowerData(Object.assign({},{clientId: this.paramsData.clientId}, val)).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
powerData.dataVal.lineXData = res.data && res.data['xData'] && res.data['xData'].length > 0 ? res.data['xData'] :
|
|
|
|
|
|
this.firstChartTrans && this.firstChartTrans['timeList'] && this.firstChartTrans['timeList'].length > 0 ? this.firstChartTrans['timeList'] : [];
|
|
|
|
|
|
powerData.dataVal.dataList[0].data = res.data && res.data['yData'] && res.data['yData']['switchAvgPower'] && res.data['yData']['switchAvgPower'].length > 0 ? res.data['yData']['switchAvgPower'] : [];
|
|
|
|
|
|
powerData.dataVal.dataList[1].data = res.data && res.data['yData'] && res.data['yData']['switchcurrentPower'] && res.data['yData']['switchcurrentPower'].length > 0 ? res.data['yData']['switchcurrentPower'] : [];
|
|
|
|
|
|
}
|
|
|
|
|
|
// this.firstChartList[2] = powerData;
|
|
|
|
|
|
this.$set(this.firstChartList, 2, powerData);
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
this.firstChartList[2] = powerData;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// two
|
|
|
|
|
|
// 接口名称
|
2025-10-27 18:28:07 +08:00
|
|
|
|
fnInterFaceNameList(val) {
|
2025-10-16 19:08:32 +08:00
|
|
|
|
this.activeNames = [];
|
2025-10-28 18:37:03 +08:00
|
|
|
|
postInterFaceName({clientId: this.paramsData.clientId,resourceType: 2}).then(res => {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
let tabNameList = {};
|
2025-10-29 18:21:41 +08:00
|
|
|
|
if (res && res.length > 0) {
|
|
|
|
|
|
res && res.forEach(async(item,index) => {
|
|
|
|
|
|
let oneData = JSON.parse(JSON.stringify(this.linuxSystem['net']));
|
|
|
|
|
|
oneData.title = item && item.interfaceName;
|
|
|
|
|
|
tabNameList[item.interfaceName + '_net'] = oneData;
|
|
|
|
|
|
});
|
|
|
|
|
|
this.secondChartList = {...tabNameList};
|
|
|
|
|
|
this.activeNames = [Object.keys(tabNameList)[0]];
|
|
|
|
|
|
this.fnModuleNameList(); // 第二模块名称
|
2025-10-28 18:37:03 +08:00
|
|
|
|
setTimeout(() => {
|
2025-10-29 18:21:41 +08:00
|
|
|
|
this.fnMpuNameList(); // 第三模块名称
|
2025-10-28 18:37:03 +08:00
|
|
|
|
setTimeout(() => {
|
2025-10-29 18:21:41 +08:00
|
|
|
|
this.fnPwrNameList(); // 第四模块名称
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
this.fnFanNameList(); // 第五模块名称
|
|
|
|
|
|
},500);
|
2025-10-28 18:37:03 +08:00
|
|
|
|
},500);
|
|
|
|
|
|
},500);
|
2025-10-29 18:21:41 +08:00
|
|
|
|
this.getNetDetailsData(this.currTimeList, tabNameList[Object.keys(tabNameList)[0]].title, Object.keys(tabNameList)[0]);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
this.fnModuleNameList(); // 第二模块名称
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
this.fnMpuNameList(); // 第三模块名称
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
this.fnPwrNameList(); // 第四模块名称
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
this.fnFanNameList(); // 第五模块名称
|
|
|
|
|
|
},500);
|
|
|
|
|
|
},500);
|
|
|
|
|
|
},500);
|
|
|
|
|
|
}
|
2025-10-27 18:28:07 +08:00
|
|
|
|
}).catch((error) => {
|
2025-10-28 18:37:03 +08:00
|
|
|
|
this.fnModuleNameList(); // 第二模块名称
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
this.fnMpuNameList(); // 第三模块名称
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
this.fnPwrNameList(); // 第四模块名称
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
this.fnFanNameList(); // 第五模块名称
|
|
|
|
|
|
},500);
|
|
|
|
|
|
},500);
|
|
|
|
|
|
},500);
|
2025-10-27 18:28:07 +08:00
|
|
|
|
});
|
2025-10-16 19:08:32 +08:00
|
|
|
|
},
|
|
|
|
|
|
// 基本信息
|
2025-10-28 18:37:03 +08:00
|
|
|
|
getNetDetailsData(times, titleName, keyName) {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
this.$modal.loading();
|
2025-10-28 18:37:03 +08:00
|
|
|
|
this.eventDataMap[keyName] = true;
|
|
|
|
|
|
switchNetDetails({clientId: this.paramsData.clientId, ifDescr: titleName}).then(async res => {
|
|
|
|
|
|
this.secondChartList[keyName].formModel = res && res.data || [];
|
|
|
|
|
|
if (await this.getNetDiscards(times ,titleName, keyName)) {
|
|
|
|
|
|
if (await this.getNetTotal(times, titleName, keyName)) {
|
|
|
|
|
|
if (await this.getNetErrDisc(times, titleName, keyName)) {
|
|
|
|
|
|
this.getNetSpeed(times, titleName, keyName);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(async error => {
|
|
|
|
|
|
if (await this.getNetDiscards(times ,titleName, keyName)) {
|
|
|
|
|
|
if (await this.getNetTotal(times, titleName, keyName)) {
|
|
|
|
|
|
if (await this.getNetErrDisc(times, titleName, keyName)) {
|
|
|
|
|
|
this.getNetSpeed(times, titleName, keyName);
|
2025-10-27 18:28:07 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-16 19:08:32 +08:00
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 丢包
|
2025-10-28 18:37:03 +08:00
|
|
|
|
getNetDiscards(times,titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
2025-10-16 19:08:32 +08:00
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
2025-10-27 18:28:07 +08:00
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['net']));
|
|
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
2025-10-16 19:08:32 +08:00
|
|
|
|
netEcharts.fnEvent = 'getNetDiscards';
|
2025-10-28 18:37:03 +08:00
|
|
|
|
return switchNetDiscards(Object.assign({}, {ifDescr : titleName,clientId: this.paramsData.clientId}, times)).then(res => {
|
2025-10-16 19:08:32 +08:00
|
|
|
|
if (res && res.data) {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
netEcharts.title = titleName + content.echartFors[0].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
2025-10-16 19:08:32 +08:00
|
|
|
|
// 入
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
name: content.echartFors[0].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['netInDiscardsData'] || []
|
2025-10-16 19:08:32 +08:00
|
|
|
|
};
|
|
|
|
|
|
// 出
|
|
|
|
|
|
netEcharts.dataVal.dataList[1] = {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
name: content.echartFors[0].twoName,
|
|
|
|
|
|
data: res.data && res.data.yData['netOutDiscardsData'] || []
|
2025-10-16 19:08:32 +08:00
|
|
|
|
};
|
2025-10-27 18:28:07 +08:00
|
|
|
|
mountCollect['echartList'][0] = netEcharts;
|
2025-10-28 18:37:03 +08:00
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
2025-10-27 18:28:07 +08:00
|
|
|
|
return true;
|
2025-10-16 19:08:32 +08:00
|
|
|
|
}
|
2025-10-27 18:28:07 +08:00
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
return true;
|
2025-10-16 19:08:32 +08:00
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 总数
|
2025-10-28 18:37:03 +08:00
|
|
|
|
getNetTotal(times,titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
2025-10-16 19:08:32 +08:00
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
2025-10-27 18:28:07 +08:00
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['net']));
|
2025-10-16 19:08:32 +08:00
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
netEcharts.fnEvent = 'getNetTotal';
|
2025-10-28 18:37:03 +08:00
|
|
|
|
return switchNeTotal(Object.assign({}, {ifDescr : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
|
2025-10-16 19:08:32 +08:00
|
|
|
|
if (res && res.data) {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
netEcharts.title = titleName + content.echartFors[1].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
2025-10-16 19:08:32 +08:00
|
|
|
|
// 入
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
name: content.echartFors[1].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['netInTotalData'] || []
|
2025-10-16 19:08:32 +08:00
|
|
|
|
};
|
|
|
|
|
|
// 出
|
|
|
|
|
|
netEcharts.dataVal.dataList[1] = {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
name: content.echartFors[1].twoName,
|
|
|
|
|
|
data: res.data && res.data.yData['netOutTotalData'] || []
|
2025-10-16 19:08:32 +08:00
|
|
|
|
};
|
2025-10-27 18:28:07 +08:00
|
|
|
|
mountCollect['echartList'][1] = netEcharts;
|
2025-10-28 18:37:03 +08:00
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
2025-10-27 18:28:07 +08:00
|
|
|
|
return true;
|
2025-10-16 19:08:32 +08:00
|
|
|
|
}
|
2025-10-27 18:28:07 +08:00
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
return true;
|
2025-10-16 19:08:32 +08:00
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 错误丢包
|
2025-10-28 18:37:03 +08:00
|
|
|
|
getNetErrDisc(times, titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
2025-10-16 19:08:32 +08:00
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
2025-10-27 18:28:07 +08:00
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['net']));
|
2025-10-16 19:08:32 +08:00
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
netEcharts.fnEvent = 'getNetErrDisc';
|
2025-10-28 18:37:03 +08:00
|
|
|
|
return switchNetErrDiscard(Object.assign({}, {ifDescr : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
|
2025-10-16 19:08:32 +08:00
|
|
|
|
if (res && res.data) {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
netEcharts.title = titleName + content.echartFors[2].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
|
|
|
|
|
name: content.echartFors[2].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['netInErrDiscardsData'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
netEcharts.dataVal.dataList[1] = {
|
|
|
|
|
|
name: content.echartFors[2].twoName,
|
|
|
|
|
|
data: res.data && res.data.yData['netOutErrDiscardsData'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
mountCollect['echartList'][2] = netEcharts;
|
2025-10-28 18:37:03 +08:00
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
2025-10-27 18:28:07 +08:00
|
|
|
|
return true;
|
2025-10-16 19:08:32 +08:00
|
|
|
|
}
|
2025-10-27 18:28:07 +08:00
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
return true;
|
2025-10-16 19:08:32 +08:00
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 实时流量
|
2025-10-28 18:37:03 +08:00
|
|
|
|
getNetSpeed(times, titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
2025-10-16 19:08:32 +08:00
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
2025-10-27 18:28:07 +08:00
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['net']));
|
2025-10-16 19:08:32 +08:00
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
netEcharts.fnEvent = 'getNetSpeed';
|
2025-10-28 18:37:03 +08:00
|
|
|
|
return switchNetSpeed(Object.assign({}, {ifDescr : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
|
2025-10-16 19:08:32 +08:00
|
|
|
|
if (res && res.data) {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
netEcharts.title = titleName + content.echartFors[3].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
|
|
|
|
|
name: content.echartFors[3].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['netInSpeedData'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
netEcharts.dataVal.dataList[1] = {
|
|
|
|
|
|
name: content.echartFors[3].twoName,
|
|
|
|
|
|
data: res.data && res.data.yData['netOutSpeedData'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
mountCollect['echartList'][3] = netEcharts;
|
2025-10-28 18:37:03 +08:00
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
|
|
|
|
|
// return true;
|
|
|
|
|
|
this.$modal.closeLoading();
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
// return true;
|
|
|
|
|
|
this.$modal.closeLoading();
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 光模块的所有名称 moduleAllName, moduleMsg, moduleLowThreshold, modulePower
|
|
|
|
|
|
fnModuleNameList(val) {
|
|
|
|
|
|
moduleAllName({clientId: this.paramsData.clientId}).then(res => {
|
|
|
|
|
|
let tabNameList = {};
|
2025-10-29 18:21:41 +08:00
|
|
|
|
if (res && res.data && res.data.length > 0) {
|
|
|
|
|
|
res && res.data.forEach(async(item,index) => {
|
|
|
|
|
|
let oneData = JSON.parse(JSON.stringify(this.linuxSystem['light']));
|
|
|
|
|
|
oneData.title = item && item.fiberPortName;
|
|
|
|
|
|
tabNameList[item.fiberPortName + '_module'] = oneData;
|
|
|
|
|
|
this.$set(this.secondChartList, item.fiberPortName + '_module', oneData);
|
|
|
|
|
|
});
|
|
|
|
|
|
if (this.activeNames && this.activeNames.length <= 0) {
|
|
|
|
|
|
this.activeNames = [Object.keys(tabNameList)[0]];
|
|
|
|
|
|
this.getModuleDetailsData(this.currTimeList, tabNameList[Object.keys(tabNameList)[0]].title, Object.keys(tabNameList)[0]);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-28 18:37:03 +08:00
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 基本信息
|
|
|
|
|
|
getModuleDetailsData(times, titleName, keyName) {
|
|
|
|
|
|
this.$modal.loading();
|
|
|
|
|
|
this.eventDataMap[keyName] = true;
|
|
|
|
|
|
moduleMsg({clientId: this.paramsData.clientId, moudleName: titleName}).then(async res => {
|
|
|
|
|
|
this.secondChartList[titleName].formModel = res && res.data || [];
|
|
|
|
|
|
if (await this.getModuleLowThreshold(times ,titleName, keyName)) {
|
|
|
|
|
|
this.getModulePower(times, titleName, keyName);
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(async error => {
|
|
|
|
|
|
if (await this.getModuleLowThreshold(times ,titleName, keyName)) {
|
|
|
|
|
|
this.getModulePower(times, titleName, keyName);
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 光衰阈值
|
|
|
|
|
|
getModuleLowThreshold(times,titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
|
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
|
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['light']));
|
|
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
netEcharts.fnEvent = 'getModuleLowThreshold';
|
|
|
|
|
|
return moduleLowThreshold(Object.assign({}, {moudleName : titleName,clientId: this.paramsData.clientId}, times)).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
netEcharts.title = titleName + content.echartFors[0].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
|
|
|
|
|
// 入
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
|
|
|
|
|
name: content.echartFors[0].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['TxLowThreshold'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
// 出
|
|
|
|
|
|
netEcharts.dataVal.dataList[1] = {
|
|
|
|
|
|
name: content.echartFors[0].twoName,
|
|
|
|
|
|
data: res.data && res.data.yData['RxLowThreshold'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
mountCollect['echartList'][0] = netEcharts;
|
|
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
return true;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 功率
|
|
|
|
|
|
getModulePower(times,titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
|
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
|
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['light']));
|
|
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
netEcharts.fnEvent = 'getModulePower';
|
|
|
|
|
|
return modulePower(Object.assign({}, {moudleName : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
netEcharts.title = titleName + content.echartFors[1].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
|
|
|
|
|
// 入
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
|
|
|
|
|
name: content.echartFors[1].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['RxPower'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
// 出
|
|
|
|
|
|
netEcharts.dataVal.dataList[1] = {
|
|
|
|
|
|
name: content.echartFors[1].twoName,
|
|
|
|
|
|
data: res.data && res.data.yData['TxPower'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
mountCollect['echartList'][1] = netEcharts;
|
|
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
|
|
|
|
|
this.$modal.closeLoading();
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
this.$modal.closeLoading();
|
|
|
|
|
|
return true;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// mpu的所有名称 mpuAllName, mpuMsg, mpuCpuUse, mpuMemUse, mpuTemperature
|
|
|
|
|
|
fnMpuNameList(val) {
|
|
|
|
|
|
mpuAllName({clientId: this.paramsData.clientId}).then(res => {
|
|
|
|
|
|
let tabNameList = {};
|
2025-10-29 18:21:41 +08:00
|
|
|
|
if (res && res.data && res.data.length > 0) {
|
|
|
|
|
|
res && res.data.forEach(async(item,index) => {
|
|
|
|
|
|
let oneData = JSON.parse(JSON.stringify(this.linuxSystem['mpu']));
|
|
|
|
|
|
oneData.title = item && item.mpuName;
|
|
|
|
|
|
tabNameList[item.mpuName + '_mpu'] = oneData;
|
|
|
|
|
|
this.$set(this.secondChartList, item.mpuName + '_mpu', oneData);
|
|
|
|
|
|
});
|
|
|
|
|
|
if (this.activeNames && this.activeNames.length <= 0) {
|
|
|
|
|
|
this.activeNames = [Object.keys(tabNameList)[0]];
|
|
|
|
|
|
this.getMpuDetailsData(this.currTimeList, tabNameList[Object.keys(tabNameList)[0]].title, Object.keys(tabNameList)[0]);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-28 18:37:03 +08:00
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 基本信息
|
|
|
|
|
|
getMpuDetailsData(times, titleName, keyName) {
|
|
|
|
|
|
this.$modal.loading();
|
|
|
|
|
|
this.eventDataMap[keyName] = true;
|
|
|
|
|
|
mpuMsg({clientId: this.paramsData.clientId, mpuName: titleName}).then(async res => {
|
|
|
|
|
|
this.secondChartList[titleName].formModel = res && res.data || [];
|
|
|
|
|
|
if (await this.getMpuCpuUse(times ,titleName, keyName)) {
|
|
|
|
|
|
if (await this.getMpuMemUse(times, titleName, keyName)) {
|
|
|
|
|
|
this.getMpuTemperature(times, titleName, keyName);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(async error => {
|
|
|
|
|
|
if (await this.getMpuCpuUse(times ,titleName, keyName)) {
|
|
|
|
|
|
if (await this.getMpuMemUse(times, titleName, keyName)) {
|
|
|
|
|
|
this.getMpuTemperature(times, titleName, keyName);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
//
|
|
|
|
|
|
getMpuCpuUse(times,titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
|
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
|
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['mpu']));
|
|
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
netEcharts.fnEvent = 'getMpuCpuUse';
|
|
|
|
|
|
return mpuCpuUse(Object.assign({}, {mpuName : titleName,clientId: this.paramsData.clientId}, times)).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
netEcharts.title = titleName + content.echartFors[0].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
|
|
|
|
|
// 入
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
|
|
|
|
|
name: content.echartFors[0].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['cpuUsage'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
mountCollect['echartList'][0] = netEcharts;
|
|
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
return true;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
//
|
|
|
|
|
|
getMpuMemUse(times,titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
|
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
|
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['mpu']));
|
|
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
netEcharts.fnEvent = 'getMpuMemUse';
|
|
|
|
|
|
return mpuMemUse(Object.assign({}, {mpuName : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
netEcharts.title = titleName + content.echartFors[1].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
|
|
|
|
|
// 入
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
|
|
|
|
|
name: content.echartFors[1].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['memUsage'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
mountCollect['echartList'][1] = netEcharts;
|
|
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
return true;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
//
|
|
|
|
|
|
getMpuTemperature(times,titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
|
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
|
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['mpu']));
|
|
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
netEcharts.fnEvent = 'getMpuTemperature';
|
|
|
|
|
|
return mpuTemperature(Object.assign({}, {mpuName : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
netEcharts.title = titleName + content.echartFors[2].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
|
|
|
|
|
// 入
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
|
|
|
|
|
name: content.echartFors[2].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['temperature'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
mountCollect['echartList'][2] = netEcharts;
|
|
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
|
|
|
|
|
this.$modal.closeLoading();
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
this.$modal.closeLoading();
|
|
|
|
|
|
return true;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 电源的所有名称 pwrAllName, pwrMsg, pwrCurrent, pwrVoltage
|
|
|
|
|
|
fnPwrNameList(val) {
|
|
|
|
|
|
pwrAllName({clientId: this.paramsData.clientId}).then(res => {
|
|
|
|
|
|
let tabNameList = {};
|
2025-10-29 18:21:41 +08:00
|
|
|
|
if (res && res.data && res.data.length > 0) {
|
|
|
|
|
|
res && res.data.forEach(async(item,index) => {
|
|
|
|
|
|
let oneData = JSON.parse(JSON.stringify(this.linuxSystem['pw']));
|
|
|
|
|
|
oneData.title = item && item.pwrName;
|
|
|
|
|
|
tabNameList[item.pwrName + '_pw'] = oneData;
|
|
|
|
|
|
this.$set(this.secondChartList, item.pwrName + '_pw', oneData);
|
|
|
|
|
|
});
|
|
|
|
|
|
if (this.activeNames && this.activeNames.length <= 0) {
|
|
|
|
|
|
this.activeNames = [Object.keys(tabNameList)[0]];
|
|
|
|
|
|
this.getPwrDetailsData(this.currTimeList, tabNameList[Object.keys(tabNameList)[0]].title, Object.keys(tabNameList)[0]);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-28 18:37:03 +08:00
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 基本信息
|
|
|
|
|
|
getPwrDetailsData(times, titleName, keyName) {
|
|
|
|
|
|
this.$modal.loading();
|
|
|
|
|
|
this.eventDataMap[keyName] = true;
|
|
|
|
|
|
pwrMsg({clientId: this.paramsData.clientId, pwrName: titleName}).then(async res => {
|
|
|
|
|
|
this.secondChartList[titleName].formModel = res && res.data || [];
|
|
|
|
|
|
if (await this.getPwrCurrent(times ,titleName, keyName)) {
|
|
|
|
|
|
this.getPwrVoltage(times, titleName, keyName);
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(async error => {
|
|
|
|
|
|
if (await this.getPwrCurrent(times ,titleName, keyName)) {
|
|
|
|
|
|
this.getPwrVoltage(times, titleName, keyName);
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
//
|
|
|
|
|
|
getPwrCurrent(times,titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
|
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
|
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['pw']));
|
|
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
netEcharts.fnEvent = 'getPwrCurrent';
|
|
|
|
|
|
return pwrCurrent(Object.assign({}, {pwrName : titleName,clientId: this.paramsData.clientId}, times)).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
netEcharts.title = titleName + content.echartFors[0].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
|
|
|
|
|
// 入
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
|
|
|
|
|
name: content.echartFors[0].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['pwrCurrent'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
mountCollect['echartList'][0] = netEcharts;
|
|
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
return true;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
//
|
|
|
|
|
|
getPwrVoltage(times,titleName, keyName) {
|
|
|
|
|
|
let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
|
|
|
|
|
|
let netEcharts = JSON.parse(JSON.stringify(this.echartData));
|
|
|
|
|
|
let content = JSON.parse(JSON.stringify(this.linuxSystem['pw']));
|
|
|
|
|
|
netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
|
|
|
|
|
|
netEcharts.fnEvent = 'getPwrVoltage';
|
|
|
|
|
|
return pwrVoltage(Object.assign({}, {pwrName : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
netEcharts.title = titleName + content.echartFors[1].title;
|
|
|
|
|
|
netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
|
|
|
|
|
|
// 入
|
|
|
|
|
|
netEcharts.dataVal.dataList[0] = {
|
|
|
|
|
|
name: content.echartFors[1].oneName,
|
|
|
|
|
|
data: res.data && res.data.yData['pwrVoltage'] || []
|
|
|
|
|
|
};
|
|
|
|
|
|
mountCollect['echartList'][1] = netEcharts;
|
|
|
|
|
|
this.$set(this.secondChartList, keyName, mountCollect);
|
2025-10-27 18:28:07 +08:00
|
|
|
|
this.$modal.closeLoading();
|
2025-10-28 18:37:03 +08:00
|
|
|
|
return true;
|
2025-10-27 18:28:07 +08:00
|
|
|
|
}
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
this.$modal.closeLoading();
|
2025-10-28 18:37:03 +08:00
|
|
|
|
return true;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 风扇的所有名称 fanAllName, fanMsg
|
|
|
|
|
|
fnFanNameList(val) {
|
|
|
|
|
|
fanAllName({clientId: this.paramsData.clientId}).then(res => {
|
|
|
|
|
|
let tabNameList = {};
|
2025-10-29 18:21:41 +08:00
|
|
|
|
if (res && res.data && res.data.length > 0) {
|
|
|
|
|
|
res && res.data.forEach(async(item,index) => {
|
|
|
|
|
|
let oneData = JSON.parse(JSON.stringify(this.linuxSystem['fan']));
|
|
|
|
|
|
oneData.title = item && item.fanName;
|
|
|
|
|
|
tabNameList[item.fanName + '_fan'] = oneData;
|
|
|
|
|
|
this.$set(this.secondChartList, item.fanName + '_fan', oneData);
|
|
|
|
|
|
});
|
|
|
|
|
|
if (this.activeNames && this.activeNames.length <= 0) {
|
|
|
|
|
|
this.activeNames = [Object.keys(tabNameList)[0]];
|
|
|
|
|
|
this.getFanDetailsData(this.currTimeList, tabNameList[Object.keys(tabNameList)[0]].title, Object.keys(tabNameList)[0]);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-28 18:37:03 +08:00
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 基本信息
|
|
|
|
|
|
getFanDetailsData(times, titleName, keyName) {
|
|
|
|
|
|
this.eventDataMap[keyName] = true;
|
|
|
|
|
|
fanMsg({clientId: this.paramsData.clientId, fanName: titleName}).then(res => {
|
|
|
|
|
|
this.secondChartList[titleName].formModel = res && res.data || [];
|
|
|
|
|
|
this.$modal.closeLoading();
|
|
|
|
|
|
}).catch( error => {
|
|
|
|
|
|
this.$modal.closeLoading();
|
2025-10-16 19:08:32 +08:00
|
|
|
|
});
|
|
|
|
|
|
},
|
2025-10-27 18:28:07 +08:00
|
|
|
|
|
2025-10-16 19:08:32 +08:00
|
|
|
|
collapseChangeData(valList) {
|
|
|
|
|
|
valList && valList.forEach(item => {
|
|
|
|
|
|
if (!this.eventDataMap[item]) {
|
|
|
|
|
|
this.$modal.loading();
|
2025-10-27 18:28:07 +08:00
|
|
|
|
if (this.secondChartList[item].type === 'net') {
|
2025-10-28 18:37:03 +08:00
|
|
|
|
this.getNetDetailsData(this.currTimeList, this.secondChartList[item].title, item);
|
|
|
|
|
|
} else if (this.secondChartList[item].type === 'light') {
|
|
|
|
|
|
this.getModuleDetailsData(this.currTimeList, this.secondChartList[item].title, item);
|
|
|
|
|
|
} else if (this.secondChartList[item].type === 'mpu') {
|
|
|
|
|
|
this.getMpuDetailsData(this.currTimeList, this.secondChartList[item].title, item);
|
|
|
|
|
|
} else if (this.secondChartList[item].type === 'pw') {
|
|
|
|
|
|
this.getPwrDetailsData(this.currTimeList, this.secondChartList[item].title, item);
|
|
|
|
|
|
} else if (this.secondChartList[item].type === 'fan') {
|
|
|
|
|
|
this.getFanDetailsData(this.currTimeList, this.secondChartList[item].title, item);
|
2025-10-27 18:28:07 +08:00
|
|
|
|
}
|
2025-10-16 19:08:32 +08:00
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
2025-10-29 18:21:41 +08:00
|
|
|
|
chartFnEvent(valData, fnName, tabName, key) {
|
2025-10-16 19:08:32 +08:00
|
|
|
|
this.firstChartTrans = valData;
|
|
|
|
|
|
// 检查函数是否存在,避免报错
|
|
|
|
|
|
if (typeof this[fnName] === 'function') {
|
2025-10-27 18:28:07 +08:00
|
|
|
|
this.defaultTimes = valData.timeArr;
|
2025-10-16 19:08:32 +08:00
|
|
|
|
// 调用实际函数,并传递参数(如选中的值、当前项)
|
2025-10-29 18:21:41 +08:00
|
|
|
|
this[fnName]({startTime: valData.timeArr[0], endTime: valData.timeArr[1]}, tabName, key);
|
2025-10-16 19:08:32 +08:00
|
|
|
|
} else {
|
|
|
|
|
|
console.warn(`函数 ${fnName} 未定义`);
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
goBack() {
|
|
|
|
|
|
this.$router.push("/resource/switchRegister");
|
2025-10-11 18:19:16 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-16 19:08:32 +08:00
|
|
|
|
}
|
2025-10-11 18:19:16 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
|
|
|
|
|
|
|
|
</style>
|