|
@@ -3,12 +3,19 @@
|
|
|
<HeadlineTag type="right" value="性能统计"></HeadlineTag>
|
|
|
<div class="_runnin_mains">
|
|
|
<!-- 修正引用名称,与脚本里保持一致 -->
|
|
|
- <div class="_runnin_mains_item">
|
|
|
- <div ref="chartRefCPU" style="width: 140px;height: 140px;"></div>
|
|
|
+ <div class="_runnin_mains_item" style="width: 33%;height: 100%;">
|
|
|
+ <div style="width: 100%;">
|
|
|
+ <waterdrop width="100%" fontSize="32px" circleBackGround="rgb(8, 36, 62)" birderColor="transparent"
|
|
|
+ color="rgb(42, 139, 247)" heightTop="-50%" dropTitle="50%"></waterdrop>
|
|
|
+ </div>
|
|
|
<span style="margin-top: 10px;font-weight: bold;">CPU</span>
|
|
|
</div>
|
|
|
- <div class="_runnin_mains_item">
|
|
|
- <div ref="chartRefRAM" style="width: 140px;height: 140px;"></div>
|
|
|
+ <div class="_runnin_mains_item" style="width: 33%;height: 100%;">
|
|
|
+ <div style="width: 100%;">
|
|
|
+ <waterdrop width="100%" fontSize="32px" circleBackGround="rgb(8, 36, 62)"
|
|
|
+ birderColor="rgb(8, 36, 62)" color="rgb(251, 97, 38)" heightTop="-65%" dropTitle="65%">
|
|
|
+ </waterdrop>
|
|
|
+ </div>
|
|
|
<span style="margin-top: 10px;font-weight: bold;">RAM</span>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -16,157 +23,9 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref, onMounted, nextTick } from "vue";
|
|
|
-import * as echarts from 'echarts'
|
|
|
import 'echarts-liquidfill';
|
|
|
import HeadlineTag from '@/components/HeadlineTag'
|
|
|
-const chartRefCPU = ref(null);
|
|
|
-const chartRefRAM = ref(null);
|
|
|
-let chartInstanceCPU = null;
|
|
|
-let chartInstanceRAM = null;
|
|
|
-
|
|
|
-const initCPUDrop = () => {
|
|
|
- // 检查 DOM 元素是否存在
|
|
|
- if (chartRefCPU.value) {
|
|
|
- var value = 0.45;
|
|
|
- chartInstanceCPU = null
|
|
|
- chartInstanceCPU = echarts.init(chartRefCPU.value);
|
|
|
- chartInstanceCPU.setOption({
|
|
|
- series: [
|
|
|
- {
|
|
|
- type: 'liquidFill', //水位图
|
|
|
- radius: '100%', //显示比例
|
|
|
- center: ['50%', '50%'], //中心点
|
|
|
- amplitude: 20, //水波振幅
|
|
|
- data: [value, value], // data个数代表波浪数
|
|
|
- color: [
|
|
|
- {
|
|
|
- type: 'linear',
|
|
|
- x: 0,
|
|
|
- y: 0,
|
|
|
- x2: 0,
|
|
|
- y2: 1,
|
|
|
- colorStops: [
|
|
|
- {
|
|
|
- offset: 0,
|
|
|
- color: '#446bf5',
|
|
|
- },
|
|
|
- {
|
|
|
- offset: 1,
|
|
|
- color: '#2ca3e2',
|
|
|
- },
|
|
|
- ],
|
|
|
- globalCoord: false,
|
|
|
- },
|
|
|
- ], //波浪颜色
|
|
|
- backgroundStyle: {
|
|
|
- borderWidth: 1, //外边框
|
|
|
- color: 'RGBA(51, 66, 127, 0.7)',
|
|
|
- },
|
|
|
- label: {
|
|
|
- //标签设置
|
|
|
- position: ['50%', '45%'],
|
|
|
- formatter: '50%', //显示文本,
|
|
|
- textStyle: {
|
|
|
- // 修改字体大小,例如改为 20px
|
|
|
- fontSize: '20px',
|
|
|
- color: '#fff',
|
|
|
- },
|
|
|
- },
|
|
|
- outline: {
|
|
|
- borderDistance: 0,
|
|
|
- itemStyle: {
|
|
|
- borderWidth: 2,
|
|
|
- borderColor: '#112165',
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
- });
|
|
|
- }
|
|
|
-}
|
|
|
-const initRAMDrop = () => {
|
|
|
- // 检查 DOM 元素是否存在
|
|
|
- if (chartRefRAM.value) {
|
|
|
- var value = 0.65;
|
|
|
- chartInstanceRAM = null
|
|
|
- chartInstanceRAM = echarts.init(chartRefRAM.value);
|
|
|
- chartInstanceRAM.setOption({
|
|
|
- series: [
|
|
|
- {
|
|
|
- type: 'liquidFill', //水位图
|
|
|
- radius: '100%', //显示比例
|
|
|
- center: ['50%', '50%'], //中心点
|
|
|
- amplitude: 20, //水波振幅
|
|
|
- data: [value, value], // data个数代表波浪数
|
|
|
- // 修改波浪颜色
|
|
|
- color: [
|
|
|
- {
|
|
|
- type: 'linear',
|
|
|
- x: 0,
|
|
|
- y: 0,
|
|
|
- x2: 0,
|
|
|
- y2: 1,
|
|
|
- colorStops: [
|
|
|
- {
|
|
|
- offset: 0,
|
|
|
- // 例如改成红色系
|
|
|
- color: '#ff4444',
|
|
|
- },
|
|
|
- {
|
|
|
- offset: 1,
|
|
|
- // 例如改成橙色系
|
|
|
- color: '#ff8800',
|
|
|
- },
|
|
|
- ],
|
|
|
- globalCoord: false,
|
|
|
- },
|
|
|
- ],
|
|
|
- backgroundStyle: {
|
|
|
- borderWidth: 1, //外边框
|
|
|
- color: 'RGBA(51, 66, 127, 0.7)',
|
|
|
- },
|
|
|
- label: {
|
|
|
- //标签设置
|
|
|
- position: ['50%', '45%'],
|
|
|
- // 修改 formatter 为函数,动态显示百分比
|
|
|
- formatter: () => `${Math.round(value * 100)}%`,
|
|
|
- textStyle: {
|
|
|
- // 修改字体大小,例如改为 20px
|
|
|
- fontSize: '20px',
|
|
|
- color: '#fff',
|
|
|
- },
|
|
|
- },
|
|
|
- outline: {
|
|
|
- borderDistance: 0,
|
|
|
- itemStyle: {
|
|
|
- borderWidth: 2,
|
|
|
- borderColor: '#112165',
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
- });
|
|
|
- }
|
|
|
-}
|
|
|
-// 生命周期
|
|
|
-onMounted(() => {
|
|
|
- nextTick(() => {
|
|
|
- initCPUDrop()
|
|
|
- initRAMDrop()
|
|
|
- })
|
|
|
-});
|
|
|
-onUnmounted(() => {
|
|
|
- chartInstanceCPU.clear()
|
|
|
- chartInstanceRAM.clear()
|
|
|
- chartInstanceCPU = null
|
|
|
- chartInstanceRAM = null
|
|
|
-})
|
|
|
-// 窗口自适应
|
|
|
-window.addEventListener('resize', () => {
|
|
|
- chartInstanceRAM?.resize();
|
|
|
- chartInstanceCPU?.resize();
|
|
|
-});
|
|
|
+import waterdrop from '@/components/waterdrop'
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|