| 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>
 |