From 9468268136bfb86f978536ad55db45392826553f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=B7=E5=86=89=E5=86=89?= Date: Wed, 10 Sep 2025 10:30:21 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E8=81=94=E8=B0=83=E3=80=81?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E7=9B=91=E6=8E=A7=E5=BC=80=E5=8F=91=E3=80=81?= =?UTF-8?q?=E6=96=87=E5=AD=97=E5=92=8C=E5=88=97=E8=A1=A8bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/disRevenue/earnManage.js | 10 +- src/api/homeIndex.js | 44 ++++ src/assets/images/switch.png | Bin 0 -> 4238 bytes src/assets/styles/index.scss | 17 ++ src/components/RightToolbar/index.vue | 2 + src/components/echartsList/bar.vue | 3 +- src/components/echartsList/dateTimeSelect.vue | 53 ++--- src/components/echartsList/line.vue | 45 ++-- src/components/form/index.vue | 10 +- src/components/table/index.vue | 11 +- src/router/index.js | 4 +- .../disRevenue/earnManage/server/index.vue | 12 +- .../earnManage/server/relevantData.vue | 2 +- .../disRevenue/earnManage/switch/index.vue | 8 +- .../earnManage/switch/switchRelevantData.vue | 2 +- .../resource/resMonitor/details.vue | 198 +++++++++++++++--- .../resource/resMonitor/digitalSuper.vue | 88 ++++++++ src/views/index.vue | 82 ++++++-- 18 files changed, 483 insertions(+), 108 deletions(-) create mode 100644 src/api/homeIndex.js create mode 100644 src/assets/images/switch.png create mode 100644 src/views/disRevenue/resource/resMonitor/digitalSuper.vue diff --git a/src/api/disRevenue/earnManage.js b/src/api/disRevenue/earnManage.js index 3f03487..bbbbc2a 100644 --- a/src/api/disRevenue/earnManage.js +++ b/src/api/disRevenue/earnManage.js @@ -1,6 +1,6 @@ import request from '@/utils/request' -/** ------------------服务器宽带收益------------------- */ +/** ------------------服务器带宽收益------------------- */ // 查询列表 export function listBandWidth(data) { return request({ @@ -74,7 +74,7 @@ export function graPackage(data) { data: data }) } -// 95宽带值Mbps/月---图 +// 95带宽值Mbps/月---图 export function graMonthly(data) { return request({ url: '/system/bandwidth/graphicalAnalysisMonthly', @@ -82,7 +82,7 @@ export function graMonthly(data) { data: data }) } -// 有效-95宽带值Mbps/月---图 +// 有效-95带宽值Mbps/月---图 export function graEffectiveMonthly(data) { return request({ url: '/system/bandwidth/graphicalAnalysisEffectiveMonthly', @@ -90,7 +90,7 @@ export function graEffectiveMonthly(data) { data: data }) } -// 有效-95宽带值Mbps/日---图 +// 有效-95带宽值Mbps/日---图 export function graEffectiveDaily(data) { return request({ url: '/system/bandwidth/graphicalAnalysisEffectiveDaily', @@ -106,7 +106,7 @@ export function graEffectiveAvgMonthly(data) { data: data }) } -// 95宽带值/日----图 +// 95带宽值/日----图 export function graDaily(data) { return request({ url: '/system/bandwidth/graphicalAnalysisDaily', diff --git a/src/api/homeIndex.js b/src/api/homeIndex.js new file mode 100644 index 0000000..f6f0ae9 --- /dev/null +++ b/src/api/homeIndex.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 统计当前在线服务器的流量相关的业务数 +export function countBusiness() { + return request({ + url: '/system/screen/countBusinessByTraffic', + method: 'get' + }) +} +// 当前在线服务器发送带宽总流量 +export function sumTrafficByServer() { + return request({ + url: '/system/screen/sumTrafficByServer', + method: 'get' + }) +} +// 当前在线交换机接收带宽总流量 +export function sumTrafficBySwitch() { + return request({ + url: '/system/screen/sumTrafficBySwitch', + method: 'get' + }) +} +// 交换机在线数量 +export function countSwitchNum() { + return request({ + url: '/system/screen/countSwitchNum', + method: 'get' + }) +} +// 服务器在线率 +export function serverOnlineRate() { + return request({ + url: '/system/screen/getServerOnlineRate', + method: 'get' + }) +} +// 当日业务的在线设备数量统计TOP5 +export function countDeviceNumTop5() { + return request({ + url: '/system/screen/countDeviceNumTop5', + method: 'get' + }) +} diff --git a/src/assets/images/switch.png b/src/assets/images/switch.png new file mode 100644 index 0000000000000000000000000000000000000000..d1b067becad86df52103ef7237fbcaa332ef95ea GIT binary patch literal 4238 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 (col.visible = newValue)) } + this.$emit("columnsChange", this.columns); } }, } diff --git a/src/components/echartsList/bar.vue b/src/components/echartsList/bar.vue index 96f15c1..7bb8cf6 100644 --- a/src/components/echartsList/bar.vue +++ b/src/components/echartsList/bar.vue @@ -76,7 +76,7 @@ } }, grid: { - top: dataXY && dataXY.gridTop || '20%', + top: dataXY && dataXY.gridTop || '80px', left: '3%', right: '4%', bottom: '3%', @@ -125,6 +125,7 @@ label: { show: dataXY && dataXY.seriesLabel || false, position: 'insideLeft', + offset: [-4, 0] } } ] diff --git a/src/components/echartsList/dateTimeSelect.vue b/src/components/echartsList/dateTimeSelect.vue index ceb8e75..c15e299 100644 --- a/src/components/echartsList/dateTimeSelect.vue +++ b/src/components/echartsList/dateTimeSelect.vue @@ -1,27 +1,27 @@ @@ -154,12 +154,17 @@ } diff --git a/src/views/disRevenue/resource/resMonitor/digitalSuper.vue b/src/views/disRevenue/resource/resMonitor/digitalSuper.vue new file mode 100644 index 0000000..0d17b2d --- /dev/null +++ b/src/views/disRevenue/resource/resMonitor/digitalSuper.vue @@ -0,0 +1,88 @@ + + + diff --git a/src/views/index.vue b/src/views/index.vue index 1c880d4..99e2e65 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -5,9 +5,10 @@
{{item.title}}
-
+
{{item.num}}{{item.unit}}
- + +
{{item.lastVal}} {{item.lastNum}}
@@ -18,7 +19,7 @@
- +
@@ -28,7 +29,7 @@
- 服务器宽带收益 + 服务器带宽收益 更多 >>
@@ -55,6 +56,7 @@ import TableList from "@/components/table/index.vue"; import {listBandWidth} from "@/api/disRevenue/earnManage" import {listTopology} from "@/api/disRevenue/resource" + import {countBusiness, sumTrafficByServer, sumTrafficBySwitch, countSwitchNum, serverOnlineRate, countDeviceNumTop5} from "@/api/homeIndex"; export default { name: "Index", components: {EchartsPie, EchartsLine, EchartsBar, TableList}, @@ -63,10 +65,10 @@ export default { // 版本号 version: "3.6.6", headerList: [ - {title: '当前在线服务器的流量相关的业务数', num: '76800', unit: '个'}, - {title: '当前在线服务器发送带宽总流量', num: '1126', unit: 'Mbps'}, - {title: '当前在线交换机接收带宽总流量', num: '1140', unit: 'Mbps'}, - {title: '交换机在线数量', num: '1111', unit: '个', lastVal: '交换机注册总数', lastNum: '11112222'}, + {title: '当前在线服务器的流量相关的业务数', num: '0', unit: '个'}, + {title: '当前在线服务器发送带宽总流量', type: 'switch', num: '0', unit: 'Mbps'}, + {title: '当前在线交换机接收带宽总流量', type: 'switch', num: '0', unit: 'Mbps'}, + {title: '交换机在线数量', num: '0', unit: '个', lastVal: '交换机注册总数', lastNum: '0'}, ], lineDataParams: { titleVal: {x: '1%', y: '3%',fontSize: 14, textAlign: 'left'}, @@ -77,18 +79,18 @@ export default { hidAxisLabel: true, hidSplitLine: true, name: ' ', - linexData: ['业务名称1', '业务名称2', '业务名称3', '业务名称4', '业务名称5', '业务名称6', '业务名称7', '业务名称8', '业务名称9', '业务名称10'], - data: [100, 90, 80, 70, 60, 50, 40, 30, 20, 10] + lineXData: [], + data: [] }, dataList: [{ titleVal: {title: '服务器在线率', show: true, x: '1%', y: '3%', textAlign: 'left'}, - centerVal: '82%', + centerVal: '0%', lastVal: '在线率', color: ['#0d52d9', '#bbc4d2'], radius: ['60%', '70%'], data: [ - { value: 82, name: '在线' }, - { value: 28, name: '总数' } + { value: 0, name: '在线' }, + { value: 0, name: '总数' } ] },{ titleVal: {title: '资源告警处理情况', show: true, x: '1%', y: '3%', textAlign: 'left'}, @@ -136,8 +138,62 @@ export default { created() { this.serverTableList(); this.resMonitorTableList(); + this.getCountBusiness(); + this.getSumTrafficByServer(); + this.getSumTrafficBySwitch(); + this.getCountSwitchNum(); + this.getServerOnlineRate(); + this.getCountDeviceNumTop5(); }, methods: { + getCountBusiness(){ + countBusiness().then(res => { + this.headerList[0].num = res && res.data; + }); + }, + getSumTrafficByServer(){ + sumTrafficByServer().then(res => { + this.headerList[1].num = res && res.data; + }); + }, + getSumTrafficBySwitch(){ + sumTrafficBySwitch().then(res => { + this.headerList[2].num = res && res.data; + }); + }, + getCountSwitchNum(){ + countSwitchNum().then(res => { + this.headerList[3].num = res && res.onlineCount; + this.headerList[3].lastNum = res && res.total; + }); + }, + getServerOnlineRate(){ + serverOnlineRate().then(res => { + if (res) { + let newParams = { + centerVal: res.onlineRate + '%', + data: [ + {value: res && res.onlineCount, name: '在线'}, + {value: res && res.offlineCount, name: '总数'} + ] + }; + this.dataList[0] = Object.assign({}, this.dataList[0], newParams); + } + }); + }, + getCountDeviceNumTop5(){ + countDeviceNumTop5().then(res => { + console.log('4444===',res); + let lineXData = []; + let dataList = []; + res && res.data.forEach(item => { + lineXData.push(item.businessName); + dataList.push(item.total); + }); + this.lineDataParams['lineXData'] = lineXData; + this.lineDataParams['data'] = dataList; + }); + }, serverTableList() { listBandWidth(this.serQueryParams).then(response => { this.serTableList = response.rows;