From b06f6a316b6a8293bb8aba6bfff33336b66c032a Mon Sep 17 00:00:00 2001 From: ahaos <8406649+lhailgl@user.noreply.gitee.com> Date: 星期三, 13 十二月 2023 09:01:52 +0800 Subject: [PATCH] !64 版本升级 * Merge branch 'dev' of gitee.com:JavaLionLi/plus-ui into ts * 升级依赖 * !61 fix: 删除重复环境变量ElUploadInstance * fix: 删除重复环境变量ElUploadInstance --- src/views/monitor/cache/index.vue | 240 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 151 insertions(+), 89 deletions(-) diff --git a/src/views/monitor/cache/index.vue b/src/views/monitor/cache/index.vue index b3fadf7..c58f89c 100644 --- a/src/views/monitor/cache/index.vue +++ b/src/views/monitor/cache/index.vue @@ -1,41 +1,95 @@ <template> - <div class="app-container"> + <div class="p-2"> <el-row> <el-col :span="24" class="card-box"> - <el-card> - <template #header><Monitor style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">鍩烘湰淇℃伅</span></template> + <el-card shadow="hover"> + <template #header> + <Monitor style="width: 1em; height: 1em; vertical-align: middle" /> + <span style="vertical-align: middle">鍩烘湰淇℃伅</span> + </template> + <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%"> + <table style="width: 100%"> <tbody> <tr> - <td class="el-table__cell is-leaf"><div class="cell">Redis鐗堟湰</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.redis_version }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">杩愯妯″紡</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.redis_mode == "standalone" ? "鍗曟満" : "闆嗙兢" }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">绔彛</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.tcp_port }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">瀹㈡埛绔暟</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.connected_clients }}</div></td> + <td class="el-table__cell is-leaf"> + <div class="cell">Redis鐗堟湰</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell">{{ cache.info.redis_version }}</div> + </td> + <td class="el-table__cell is-leaf"> + <div class="cell">杩愯妯″紡</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell">{{ cache.info.redis_mode === 'standalone' ? '鍗曟満' : '闆嗙兢' }}</div> + </td> + <td class="el-table__cell is-leaf"> + <div class="cell">绔彛</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell">{{ cache.info.tcp_port }}</div> + </td> + <td class="el-table__cell is-leaf"> + <div class="cell">瀹㈡埛绔暟</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell">{{ cache.info.connected_clients }}</div> + </td> </tr> <tr> - <td class="el-table__cell is-leaf"><div class="cell">杩愯鏃堕棿(澶�)</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.uptime_in_days }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">浣跨敤鍐呭瓨</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.used_memory_human }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">浣跨敤CPU</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ parseFloat(cache.info.used_cpu_user_children).toFixed(2) }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">鍐呭瓨閰嶇疆</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.maxmemory_human }}</div></td> + <td class="el-table__cell is-leaf"> + <div class="cell">杩愯鏃堕棿(澶�)</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell">{{ cache.info.uptime_in_days }}</div> + </td> + <td class="el-table__cell is-leaf"> + <div class="cell">浣跨敤鍐呭瓨</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell">{{ cache.info.used_memory_human }}</div> + </td> + <td class="el-table__cell is-leaf"> + <div class="cell">浣跨敤CPU</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell">{{ parseFloat(cache.info.used_cpu_user_children).toFixed(2) }}</div> + </td> + <td class="el-table__cell is-leaf"> + <div class="cell">鍐呭瓨閰嶇疆</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell">{{ cache.info.maxmemory_human }}</div> + </td> </tr> <tr> - <td class="el-table__cell is-leaf"><div class="cell">AOF鏄惁寮�鍚�</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.aof_enabled == "0" ? "鍚�" : "鏄�" }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">RDB鏄惁鎴愬姛</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.rdb_last_bgsave_status }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">Key鏁伴噺</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.dbSize">{{ cache.dbSize }} </div></td> - <td class="el-table__cell is-leaf"><div class="cell">缃戠粶鍏ュ彛/鍑哄彛</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.instantaneous_input_kbps }}kps/{{cache.info.instantaneous_output_kbps}}kps</div></td> + <td class="el-table__cell is-leaf"> + <div class="cell">AOF鏄惁寮�鍚�</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell">{{ cache.info.aof_enabled === '0' ? '鍚�' : '鏄�' }}</div> + </td> + <td class="el-table__cell is-leaf"> + <div class="cell">RDB鏄惁鎴愬姛</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell">{{ cache.info.rdb_last_bgsave_status }}</div> + </td> + <td class="el-table__cell is-leaf"> + <div class="cell">Key鏁伴噺</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.dbSize" class="cell">{{ cache.dbSize }}</div> + </td> + <td class="el-table__cell is-leaf"> + <div class="cell">缃戠粶鍏ュ彛/鍑哄彛</div> + </td> + <td class="el-table__cell is-leaf"> + <div v-if="cache.info" class="cell"> + {{ cache.info.instantaneous_input_kbps }}kps/{{ cache.info.instantaneous_output_kbps }}kps + </div> + </td> </tr> </tbody> </table> @@ -44,8 +98,11 @@ </el-col> <el-col :span="12" class="card-box"> - <el-card> - <template #header><PieChart style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">鍛戒护缁熻</span></template> + <el-card shadow="hover"> + <template #header> + <PieChart style="width: 1em; height: 1em; vertical-align: middle" /> + <span style="vertical-align: middle">鍛戒护缁熻</span> + </template> <div class="el-table el-table--enable-row-hover el-table--medium"> <div ref="commandstats" style="height: 420px" /> </div> @@ -53,8 +110,10 @@ </el-col> <el-col :span="12" class="card-box"> - <el-card> - <template #header><Odometer style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">鍐呭瓨淇℃伅</span></template> + <el-card shadow="hover"> + <template #header> + <Odometer style="width: 1em; height: 1em; vertical-align: middle" /> <span style="vertical-align: middle">鍐呭瓨淇℃伅</span> + </template> <div class="el-table el-table--enable-row-hover el-table--medium"> <div ref="usedmemory" style="height: 420px" /> </div> @@ -64,66 +123,69 @@ </div> </template> -<script setup name="Cache"> +<script setup name="Cache" lang="ts"> import { getCache } from '@/api/monitor/cache'; import * as echarts from 'echarts'; -const cache = ref([]); -const commandstats = ref(null); -const usedmemory = ref(null); -const { proxy } = getCurrentInstance(); +const cache = ref<any>({}); +const commandstats = ref(); +const usedmemory = ref(); +const { proxy } = getCurrentInstance() as ComponentInternalInstance; -function getList() { - proxy.$modal.loading("姝e湪鍔犺浇缂撳瓨鐩戞帶鏁版嵁锛岃绋嶅�欙紒"); - getCache().then(response => { - proxy.$modal.closeLoading(); - cache.value = response.data; +const getList = async () => { + proxy?.$modal.loading('姝e湪鍔犺浇缂撳瓨鐩戞帶鏁版嵁锛岃绋嶅�欙紒'); + const res = await getCache(); + proxy?.$modal.closeLoading(); + cache.value = res.data; + const commandstatsIntance = echarts.init(commandstats.value, 'macarons'); + commandstatsIntance.setOption({ + tooltip: { + trigger: 'item', + formatter: '{a} <br/>{b} : {c} ({d}%)' + }, + series: [ + { + name: '鍛戒护', + type: 'pie', + roseType: 'radius', + radius: [15, 95], + center: ['50%', '38%'], + data: res.data.commandStats, + animationEasing: 'cubicInOut', + animationDuration: 1000 + } + ] + }); + const usedmemoryInstance = echarts.init(usedmemory.value, 'macarons'); + usedmemoryInstance.setOption({ + tooltip: { + formatter: '{b} <br/>{a} : ' + cache.value.info.used_memory_human + }, + series: [ + { + name: '宄板��', + type: 'gauge', + min: 0, + max: 1000, + detail: { + formatter: cache.value.info.used_memory_human + }, + data: [ + { + value: parseFloat(cache.value.info.used_memory_human), + name: '鍐呭瓨娑堣��' + } + ] + } + ] + }); + window.addEventListener('resize', () => { + commandstatsIntance.resize(); + usedmemoryInstance.resize(); + }); +}; - const commandstatsIntance = echarts.init(commandstats.value, "macarons"); - commandstatsIntance.setOption({ - tooltip: { - trigger: "item", - formatter: "{a} <br/>{b} : {c} ({d}%)" - }, - series: [ - { - name: "鍛戒护", - type: "pie", - roseType: "radius", - radius: [15, 95], - center: ["50%", "38%"], - data: response.data.commandStats, - animationEasing: "cubicInOut", - animationDuration: 1000 - } - ] - }); - - const usedmemoryInstance = echarts.init(usedmemory.value, "macarons"); - usedmemoryInstance.setOption({ - tooltip: { - formatter: "{b} <br/>{a} : " + cache.value.info.used_memory_human - }, - series: [ - { - name: "宄板��", - type: "gauge", - min: 0, - max: 1000, - detail: { - formatter: cache.value.info.used_memory_human - }, - data: [ - { - value: parseFloat(cache.value.info.used_memory_human), - name: "鍐呭瓨娑堣��" - } - ] - } - ] - }) - }) -} - -getList(); +onMounted(() => { + getList(); +}); </script> -- Gitblit v1.9.3