From 5df64af45610960313099b082e6847afe4a95233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=B7=E5=86=89=E5=86=89?= Date: Fri, 24 Oct 2025 18:43:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E7=9A=84=E5=9B=BE=E5=BD=A2=E5=88=86=E6=9E=90=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E3=80=81=E6=9C=8D=E5=8A=A1=E5=99=A8=E6=94=B6=E7=9B=8A=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/disRevenue/resource.js | 90 +++-- src/components/echartsList/line.vue | 12 +- src/views/earnManage/server/details.vue | 2 +- src/views/earnManage/server/relevantData.vue | 9 +- src/views/earnManage/server/serverTabs.vue | 48 ++- .../resource/serverRegister/firstMonitor.vue | 2 +- src/views/resource/serverRegister/index.vue | 25 +- .../resource/serverRegister/monitorChart.vue | 382 ++++++++++-------- .../serverRegister/secondAutoFind.vue | 36 +- src/views/resource/topology/details.vue | 42 +- 10 files changed, 357 insertions(+), 291 deletions(-) diff --git a/src/api/disRevenue/resource.js b/src/api/disRevenue/resource.js index 388afce..bd46494 100644 --- a/src/api/disRevenue/resource.js +++ b/src/api/disRevenue/resource.js @@ -612,71 +612,111 @@ export function networkList(query) { // 图形监控-基础信息 export function serverMonitorData(data) { return request({ - url: '/rocketmq/systemOtherCollectData/getSwitchMonitorMsg', + url: '/rocketmq/systemOtherCollectData/getMontiorMsg', method: 'post', data: data }) } -// 图形监控-设备cpu使用率 -export function serverCpuData(data) { +// 图形监控-cpu负载 +export function cpuLoadData(data) { return request({ - url: '/rocketmq/systemOtherCollectData/getSwitchCpuUseMsg', + url: '/rocketmq/cpuInfo/cpuLoadEcharts', method: 'post', data: data }) } -// 图形监控-设备内存使用率 -export function serverMemData(data) { +// 图形监控-cpu时间 +export function cpuTimeData(data) { return request({ - url: '/rocketmq/systemOtherCollectData/getSwitchMemUseMsg', + url: '/rocketmq/cpuInfo/cpuTimeEcharts', method: 'post', data: data }) } -// 图形监控-功率 -export function serverPowerData(data) { +// 图形监控-进程 +export function procNum(data) { return request({ - url: '/rocketmq/systemOtherCollectData/getSwitchPowerMsg', + url: '/rocketmq/systemOtherCollectData/procNumEcharts', method: 'post', data: data }) } -// 图形监控-自动发现项-基础信息 -export function serverNetDetails(data) { +// 图形监控-登录用户数 +export function serverUserNum(data) { return request({ - url: '/rocketmq/switchInfo/getSwitchNetDetailsMsg', + url: '/rocketmq/systemOtherCollectData/systemUserNumEcharts', method: 'post', data: data }) } -// 图形监控-自动发现项-丢包 -export function serverNetDiscards(data) { +// 图形监控-交换卷/文件的可用空间 +export function swapSizeFree(data) { return request({ - url: '/rocketmq/systemOtherCollectData/switchNetDiscardsEcharts', + url: '/rocketmq/systemOtherCollectData/systemSwapSizeFreeEcharts', method: 'post', data: data }) } -// 图形监控-自动发现项-总流量 -export function serverNeTotal(data) { +// 图形监控-内存利用率 +export function memoryUtilization(data) { return request({ - url: '/rocketmq/systemOtherCollectData/switchNetTotalEcharts', + url: '/rocketmq/systemOtherCollectData/memoryUtilizationEcharts', method: 'post', data: data }) } -// 图形监控-自动发现项-错误丢包 -export function serverNetErrDiscard(data) { +// 图形监控-可用交换空间百分比 +export function swapSizePercent(data) { return request({ - url: '/rocketmq/systemOtherCollectData/switchNetErrDiscardsEcharts', + url: '/rocketmq/systemOtherCollectData/systemSwapSizePercentEcharts', method: 'post', data: data }) } -// 图形监控-自动发现项-实时流量 -export function serverNetSpeed(data) { +// 图形监控-可用内存 +export function memorySizeAvailable(data) { return request({ - url: '/rocketmq/systemOtherCollectData/switchNetSpeedEcharts', + url: '/rocketmq/systemOtherCollectData/memorySizeAvailableEcharts', + method: 'post', + data: data + }) +} +// 图形监控-可用内存百分比 +export function memorySizePercent(data) { + return request({ + url: '/rocketmq/systemOtherCollectData/memorySizePercentEcharts', + method: 'post', + data: data + }) +} +// 图形监控-所有挂载名称 +export function mountNameList(data) { + return request({ + url: '/rocketmq/mountPointInfo/getAllMountName', + method: 'post', + data: data + }) +} +// 图形监控-自动发现项-挂载的-基础信息 +export function pointDetails(data) { + return request({ + url: '/rocketmq/mountPointInfo/pointDetailsMsg', + method: 'post', + data: data + }) +} +// 图形监控-自动发现项-挂载的-空间 +export function spaceEcharts(data) { + return request({ + url: '/rocketmq/mountPointInfo/spaceEcharts', + method: 'post', + data: data + }) +} +// 图形监控-自动发现项-挂载的-空间利用率 +export function spaceRate(data) { + return request({ + url: '/rocketmq/mountPointInfo/spaceRateEcharts', method: 'post', data: data }) diff --git a/src/components/echartsList/line.vue b/src/components/echartsList/line.vue index a39c188..a7a0f33 100644 --- a/src/components/echartsList/line.vue +++ b/src/components/echartsList/line.vue @@ -71,18 +71,18 @@ titleList = Object.assign({},titleList, dataXY.titleVal); } let series = []; - if (dataXY && dataXY.dataList) { + if (dataXY && dataXY.dataList && dataXY.dataList.length > 0) { dataXY.dataList.forEach(item => { series.push({ - name: item.name, + name: item && item.name || '', type: 'line', stack: 'Total', - data: item.data + data: item && item.data || [] }); }); } else { series = [{ - data: dataXY.data, + data: dataXY && dataXY.data || [], type: 'line', smooth: true, // areaStyle: { // 阴影 @@ -135,13 +135,13 @@ }, // lineHeight: 10, // 行高(确保换行后不重叠) }, - data: dataXY.lineXData + data: dataXY && dataXY.lineXData || [] }, yAxis: { type: 'value', name: dataXY?.yAxisName || '单位Mbps', min: 0, // 自定义最小刻度(根据业务需求调整,如 0) - max: dataXY && dataXY.data && dataXY.data.length > 0 ? null : dataXY.dataList && dataXY.dataList[0] && dataXY.dataList[0].data.length > 0 ? null : 100, + max: dataXY && dataXY.data && dataXY.data.length > 0 ? null : dataXY && dataXY.dataList && dataXY.dataList[0] && dataXY.dataList[0].data.length > 0 ? null : 100, splitLine: { show: true, }, diff --git a/src/views/earnManage/server/details.vue b/src/views/earnManage/server/details.vue index 3278dd3..29b28a0 100644 --- a/src/views/earnManage/server/details.vue +++ b/src/views/earnManage/server/details.vue @@ -32,7 +32,7 @@ config: {title: '基本信息'}, controls: { id: {label: 'ID',hidden: true}, - nodeName: {label: '节点名称', span: 12, type: 'select',options:[], + clientId: {label: 'ClientID', span: 12, type: 'select',options:[], rules: [{required: true, message: '请选择节点名称', trigger: 'change'}]}, businessName: {label: '业务名称', span: 12, style: 'display: block;', type: 'select', options:[], eventName: 'change', rules: [{required: true, message: '请选择业务名称', trigger: 'change'}]}, diff --git a/src/views/earnManage/server/relevantData.vue b/src/views/earnManage/server/relevantData.vue index 9c73d50..4397dc5 100644 --- a/src/views/earnManage/server/relevantData.vue +++ b/src/views/earnManage/server/relevantData.vue @@ -47,13 +47,14 @@ type = true; } this. columns = [ + {label: `业务名称`, minWidth: '120', prop: 'businessName',visible: true}, {label: `时间`,minWidth: '160', prop: 'createTime', visible: !type}, - {label: `业务代码`, minWidth: '120', prop: 'businessId',visible: true}, - {label: `95带宽值Mbps/日`, prop: 'bandwidth95Daily', slotName: true, visible: type}, - {label: `有效95带宽值Mbps/日`, prop: 'effectiveAvgMonthlyBandwidth95', slotName: true, visible: type}, - {label: `包端带宽值Mbps/日`, prop: 'packageBandwidthDaily', slotName: true, visible: type}, + {label: `95带宽值/日(Mbit)`, prop: 'bandwidth95Daily', slotName: true, visible: type}, + // {label: `有效95带宽值Mbps/日`, prop: 'effectiveAvgMonthlyBandwidth95', slotName: true, visible: type}, + // {label: `包端带宽值Mbps/日`, prop: 'packageBandwidthDaily', slotName: true, visible: type}, {label: `流量端口`, prop: 'name', width: '550', visible: !type}, {label: `发送流量值(bytes/s)`, minWidth: '150', prop: 'outSpeed', visible: !type}, + {label: `金山API记录的发送流量值(bites/s)`, minWidth: '250', prop: 'machineCode', visible: !type}, ]; }, /** 查询角色列表 */ diff --git a/src/views/earnManage/server/serverTabs.vue b/src/views/earnManage/server/serverTabs.vue index 614e8ab..db3399c 100644 --- a/src/views/earnManage/server/serverTabs.vue +++ b/src/views/earnManage/server/serverTabs.vue @@ -2,10 +2,10 @@
- + @@ -109,17 +109,22 @@ - - + + + + + 搜索 重置 @@ -169,19 +174,20 @@ // 列显隐信息 columns: { id: {label: `ID`}, - nodeName: {label: `节点名称`, minWidth: '250', visible: true}, + clientId: {label: `ClientID`, minWidth: '250', visible: true}, hardwareSn: {label: `硬件SN`, minWidth: '350'}, - uplinkSwitch: {label: `上联交换机`, minWidth: '150'}, + businessName: {label: `业务名称`, minWidth: '150', visible: true}, businessId: {label: `业务代码`, minWidth: '150'}, - businessName: {label: `业务名称`, minWidth: '150'}, - bandwidth95Daily: {label: `95带宽值Mbps/日`, minWidth: '200', slotName: 'tempDay',visible: true}, - effectiveBandwidth95Daily: {label: `有效95带宽值Mbps/日`, minWidth: '200', slotName: 'tempDay', visible: true}, - packageBandwidthDaily: {label: `包端带宽值Mbps/日`, minWidth: '200', slotName: 'tempDay',visible: true}, - bandwidth95Monthly: {label: `95带宽值Mbps/月`, minWidth: '200', slotName: 'tempMonth'}, - // customerName: {label: `设备业务客户`,visible: true}, - avgMonthlyBandwidth95: {label: `月均日95值Mbps`, minWidth: '200',slotName: 'tempDay'}, - effectiveBandwidth95Monthly: {label: `有效95带宽值Mbps/月`, minWidth: '200', slotName: 'tempMonth'}, - effectiveAvgMonthlyBandwidth95: {label: `有效月均日95值Mbps`, minWidth: '200', slotName: 'tempDay'}, + bandwidth95Daily: {label: `95带宽值/日(Mbit)`, minWidth: '200', slotName: 'tempDay',visible: true}, + bandwidth95Monthly: {label: `95带宽值/月(Mbit)`, minWidth: '200', slotName: 'tempMonth',visible: true}, + avgMonthlyBandwidth95: {label: `月均日95值(Mbit)`, minWidth: '200',slotName: 'tempDay',visible: true}, + machineCode: {label: `金山machineCode`, minWidth: '150',visible: true}, + uplinkSwitch: {label: `上联交换机`, minWidth: '150'}, + uplinkSwitchPort: {label: `上联交换机端口`, minWidth: '150'}, + // effectiveBandwidth95Daily: {label: `有效95带宽值Mbps/日`, minWidth: '200', slotName: 'tempDay', visible: true}, + // packageBandwidthDaily: {label: `包端带宽值Mbps/日`, minWidth: '200', slotName: 'tempDay',visible: true}, + // effectiveBandwidth95Monthly: {label: `有效95带宽值Mbps/月`, minWidth: '200', slotName: 'tempMonth'}, + // effectiveAvgMonthlyBandwidth95: {label: `有效月均日95值Mbps`, minWidth: '200', slotName: 'tempDay'}, createDatetime: {label: `创建时间`, minWidth: '150'}, }, config: { diff --git a/src/views/resource/serverRegister/firstMonitor.vue b/src/views/resource/serverRegister/firstMonitor.vue index a4656b4..872f8a3 100644 --- a/src/views/resource/serverRegister/firstMonitor.vue +++ b/src/views/resource/serverRegister/firstMonitor.vue @@ -7,7 +7,7 @@
- +
diff --git a/src/views/resource/serverRegister/index.vue b/src/views/resource/serverRegister/index.vue index 4e80dac..270b8a5 100644 --- a/src/views/resource/serverRegister/index.vue +++ b/src/views/resource/serverRegister/index.vue @@ -216,8 +216,7 @@ {content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'resource:serverRegister:export'}, ], line: [ - //showName: 'multiPublicIpStatus', showVal: '0', - {content: '选择公网业务IP', fnCode: 'pubilcNet', type: 'text', icon: 'el-icon-thumb', hasPermi: 'resource:serverRegister:pubilcNet'}, + {content: '选择公网业务IP', fnCode: 'pubilcNet', type: 'text', icon: 'el-icon-thumb', showName: 'multiPublicIpStatus', showVal: '0', hasPermi: 'resource:serverRegister:pubilcNet'}, {content: '图形监控', fnCode: 'echartView', type: 'text', icon: 'el-icon-data-analysis', hasPermi: 'resource:serverRegister:graphicAnalysis'}, {content: '详情', fnCode: 'details', type: 'text', icon: 'el-icon-view', hasPermi: 'resource:serverRegister:details'}, {title: ' 执行策略', more: [ @@ -332,7 +331,7 @@ case 'echartView': this.$router.push({ path:'/resource/serverRegister/monitorChart', - query: {clientId: rowData.hardwareSn} + query: {clientId: rowData.clientId} }); break; case 'result': @@ -347,6 +346,12 @@ case 'pubilcNet': this.pubilcNetOpen = true; this.pubilcNetRuleForm = {publicIp: [],mgmtIp: '', descriptionOne: '', descriptionTwo: ''}; + this.$nextTick(() => { + // 5. 最后执行重置 + if (this.$refs['publicNetFormRef']?.$refs.ruleForm) { + this.$refs['publicNetFormRef'].$refs.ruleForm.resetFields(); + } + }); networkList({clientId: rowData.clientId}).then(res => { let ipList = []; res && res.data.map(item => { @@ -358,9 +363,9 @@ }); break; case 'publicIp': + let content = ''; + this.pubilcNetRuleForm = Object.assign({}, this.pubilcNetRuleForm, this.$refs.publicNetFormRef.$refs.ruleForm.model); if (rowData && rowData.length > 0) { - this.pubilcNetRuleForm = Object.assign({}, this.pubilcNetRuleForm, this.$refs.publicNetFormRef.$refs.ruleForm.model); - let content = ''; rowData.forEach(item => { content+= '运营商:' + this.ipContentList[item].isp + '
' + '省:' + this.ipContentList[item].province + '
' + '市:' + this.ipContentList[item].city + '
' + '公网IP:' + this.ipContentList[item].publicIp + '
' @@ -368,20 +373,20 @@ + '接口类型:' + this.ipContentList[item].interfaceType + '
' + 'IPv4地址:' + this.ipContentList[item].ipv4Address + '
' + '网关:' + this.ipContentList[item].gateway + '

'; }); - this.$set(this.pubilcNetRuleForm, 'descriptionOne', content); } + this.$set(this.pubilcNetRuleForm, 'descriptionOne', content); break; case 'mgmtIp': + let contentTow = ''; + this.pubilcNetRuleForm = Object.assign({}, this.pubilcNetRuleForm, this.$refs.publicNetFormRef.$refs.ruleForm.model); if (rowData) { - this.pubilcNetRuleForm = Object.assign({}, this.pubilcNetRuleForm, this.$refs.publicNetFormRef.$refs.ruleForm.model); - let content = ''; - content+= '运营商:' + this.ipContentList[rowData].isp + '
' + '省:' + this.ipContentList[rowData].province + '
' + contentTow+= '运营商:' + this.ipContentList[rowData].isp + '
' + '省:' + this.ipContentList[rowData].province + '
' + '市:' + this.ipContentList[rowData].city + '
' + '公网IP:' + this.ipContentList[rowData].publicIp + '
' + '接口名称:' + this.ipContentList[rowData].interfaceName + '
' + 'mac地址:' + this.ipContentList[rowData].macAddress + '
' + '接口类型:' + this.ipContentList[rowData].interfaceType + '
' + 'IPv4地址:' + this.ipContentList[rowData].ipv4Address + '
' + '网关:' + this.ipContentList[rowData].gateway + '

'; - this.$set(this.pubilcNetRuleForm, 'descriptionTwo', content); } + this.$set(this.pubilcNetRuleForm, 'descriptionTwo', contentTow); break; case 'issueBusiness': this.issueOpen = true; diff --git a/src/views/resource/serverRegister/monitorChart.vue b/src/views/resource/serverRegister/monitorChart.vue index 96c6a4c..8de5913 100644 --- a/src/views/resource/serverRegister/monitorChart.vue +++ b/src/views/resource/serverRegister/monitorChart.vue @@ -8,7 +8,7 @@ @@ -21,21 +21,21 @@