| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <template>
- <div id="app" style="width: 100%">
- <div class="page-header">
- <div class="page-title">控制台</div>
- <div class="page-header-btn">
- <el-button icon="el-icon-info" size="mini" style="margin-right: 1rem;" type="primary" @click="showInfo">平台信息
- </el-button>
- </div>
- </div>
- <el-row style="width: 100%">
- <el-col :xl="{ span: 8 }" :lg="{ span: 8 }" :md="{ span: 12 }" :sm="{ span: 12 }" :xs="{ span: 24 }" >
- <div class="control-cell" id="ThreadsLoad" >
- <div style="width:100%; height:100%; ">
- <consoleCPU ref="consoleCPU"></consoleCPU>
- </div>
- </div>
- </el-col>
- <el-col :xl="{ span: 8 }" :lg="{ span: 8 }" :md="{ span: 12 }" :sm="{ span: 12 }" :xs="{ span: 24 }" >
- <div class="control-cell" id="WorkThreadsLoad" >
- <div style="width:100%; height:100%; ">
- <consoleResource ref="consoleResource"></consoleResource>
- </div>
- </div>
- </el-col>
- <el-col :xl="{ span: 8 }" :lg="{ span: 8 }" :md="{ span: 12 }" :sm="{ span: 12 }" :xs="{ span: 24 }" >
- <div class="control-cell" id="WorkThreadsLoad" >
- <div style="width:100%; height:100%; ">
- <consoleNet ref="consoleNet"></consoleNet>
- </div>
- </div>
- </el-col>
- <el-col :xl="{ span: 8 }" :lg="{ span: 8 }" :md="{ span: 12 }" :sm="{ span: 12 }" :xs="{ span: 24 }" >
- <div class="control-cell" id="WorkThreadsLoad" >
- <div style="width:100%; height:100%; ">
- <consoleMem ref="consoleMem"></consoleMem>
- </div>
- </div>
- </el-col>
- <el-col :xl="{ span: 8 }" :lg="{ span: 8 }" :md="{ span: 12 }" :sm="{ span: 12 }" :xs="{ span: 24 }" >
- <div class="control-cell" id="WorkThreadsLoad" >
- <div style="width:100%; height:100%; ">
- <consoleNodeLoad ref="consoleNodeLoad"></consoleNodeLoad>
- </div>
- </div>
- </el-col>
- <el-col :xl="{ span: 8 }" :lg="{ span: 8 }" :md="{ span: 12 }" :sm="{ span: 12 }" :xs="{ span: 24 }" >
- <div class="control-cell" id="WorkThreadsLoad" >
- <div style="width:100%; height:100%; ">
- <consoleDisk ref="consoleDisk"></consoleDisk>
- </div>
- </div>
- </el-col>
- </el-row>
- <configInfo ref="configInfo"></configInfo>
- </div>
- </template>
- <script>
- import uiHeader from '../layout/UiHeader.vue'
- import consoleCPU from './console/ConsoleCPU.vue'
- import consoleMem from './console/ConsoleMEM.vue'
- import consoleNet from './console/ConsoleNet.vue'
- import consoleNodeLoad from './console/ConsoleNodeLoad.vue'
- import consoleDisk from './console/ConsoleDisk.vue'
- import consoleResource from './console/ConsoleResource.vue'
- import configInfo from './dialog/configInfo.vue'
- import echarts from 'echarts';
- export default {
- name: 'app',
- components: {
- echarts,
- uiHeader,
- consoleCPU,
- consoleMem,
- consoleNet,
- consoleNodeLoad,
- consoleDisk,
- consoleResource,
- configInfo,
- },
- data() {
- return {
- timer: null,
- };
- },
- created() {
- this.getSystemInfo();
- this.getLoad();
- this.getResourceInfo();
- this.loopForSystemInfo();
- },
- destroyed() {
- },
- methods: {
- loopForSystemInfo: function (){
- if (this.timer != null) {
- window.clearTimeout(this.timer);
- }
- this.timer = setTimeout(()=>{
- if (this.$route.path === "/console") {
- this.getSystemInfo();
- this.getLoad();
- this.timer = null;
- this.loopForSystemInfo()
- this.getResourceInfo()
- }
- }, 2000)
- },
- getSystemInfo: function (){
- this.$axios({
- method: 'get',
- url: `/api/server/system/info`,
- }).then( (res)=> {
- if (res.data.code === 0) {
- this.$refs.consoleCPU.setData(res.data.data.cpu)
- this.$refs.consoleMem.setData(res.data.data.mem)
- this.$refs.consoleNet.setData(res.data.data.net, res.data.data.netTotal)
- this.$refs.consoleDisk.setData(res.data.data.disk)
- }
- }).catch( (error)=> {
- });
- },
- getLoad: function (){
- this.$axios({
- method: 'get',
- url: `/api/server/media_server/load`,
- }).then( (res)=> {
- if (res.data.code === 0) {
- this.$refs.consoleNodeLoad.setData(res.data.data)
- }
- }).catch( (error)=> {
- });
- },
- getResourceInfo: function (){
- this.$axios({
- method: 'get',
- url: `/api/server/resource/info`,
- }).then( (res)=> {
- if (res.data.code === 0) {
- this.$refs.consoleResource.setData(res.data.data)
- }
- }).catch( (error)=> {
- });
- },
- showInfo: function (){
- this.$axios({
- method: 'get',
- url: `/api/server/system/configInfo`,
- }).then( (res)=> {
- console.log(res)
- if (res.data.code === 0) {
- console.log(2222)
- console.log(this.$refs.configInfo)
- this.$refs.configInfo.openDialog(res.data.data)
- }
- }).catch( (error)=> {
- });
- }
- }
- };
- </script>
- <style>
- #app {
- height: 100%;
- }
- .control-cell {
- padding-top: 10px;
- padding-left: 5px;
- padding-right: 10px;
- height: 360px;
- }
- </style>
|