From 2b1f7a47394363e95deb4dfa0f1c67d41e747f7f Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 01 二月 2023 10:56:40 +0800 Subject: [PATCH] Merge branch 'wvp-28181-2.0' into fix-269 --- web_src/src/components/console.vue | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 180 insertions(+), 0 deletions(-) diff --git a/web_src/src/components/console.vue b/web_src/src/components/console.vue new file mode 100644 index 0000000..e192fb1 --- /dev/null +++ b/web_src/src/components/console.vue @@ -0,0 +1,180 @@ +<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> -- Gitblit v1.8.0