vue3之仪表盘

embedded/2024/9/22 13:45:12/
vue3之仪表盘

效果:

在这里插入图片描述

版本
“echarts”: “^5.5.1”

核心代码:

javascript"><!--* @Description: 圆环组件封装* @Version: 1.0* @Autor: qh
--><template><div ref="chartRef" class="circle"></div>
</template><script lang="ts" setup>
import { ref, onMounted } from 'vue';
import * as echarts from 'echarts';const props = defineProps({percent: {type: Number,default: 0,},
});const chartRef = ref(null);
let chart: any = null;const rich = {bule: {fontSize: 22,fontFamily: 'DINPro',color: '#fff',padding: [6, 0, 0, 0],},white: {fontSize: 12,color: '#fff',padding: [10, 0, 0, 0],},
};const topChartOptions = (value: number) => {return {tooltip: {show: false,formatter: '{a} <br/>{b} : {c} ({d}%)',},series: [{name: 'S',z: 3,type: 'gauge', // 仪表盘center: ['49.5%', '58%'],radius: '95%',detail: {formatter: (value: any) => {return '{bule|' + value + '}{white|%}';},rich,offsetCenter: ['0%', '0%'],},title: {show: false,},data: [{value,name: 'Percent',},],axisLine: {show: true,lineStyle: {roundCap: true,width: 7,color: [[value / 100,new echarts.graphic.LinearGradient(0, 0, 1, 0, [{offset: 0,color: 'rgba(0, 255, 231, 0.5)',},{offset: 0.5,color: 'rgba(0, 255, 231, 0.8)', // 100% 处的颜色},{offset: 1,color: 'rgba(0, 255, 231, 0.5)', // 100% 处的颜色},]),],[1, 'rgba(4, 211, 251, 0)'],],},},axisTick: {show: false,},axisLabel: {show: false,},splitLine: {show: false,},pointer: {length: '14%',width: 2,icon: 'rect',offsetCenter: [0, '-87%'],itemStyle: {color: 'rgba(0, 255, 231, 1)',},},},{name: 'T',z: 2,type: 'gauge', // 仪表盘center: ['49.5%', '58%'],radius: '96%',detail: {show: false,},title: {show: false,},data: [{value: 100,name: 'Percent',},],axisLine: {show: true,lineStyle: {roundCap: true,width: 8,color: [[1,new echarts.graphic.LinearGradient(0, 0, 1, 0, [{offset: 0,color: 'rgba(150, 179, 180, 1)',},{offset: value / 100,color: 'rgba(150, 179, 180, 0.5)',},{offset: 1,color: 'rgba(150, 179, 180, 1)', // 100% 处的颜色},]),],[1, 'rgba(255, 192, 1, 0)'],],},},axisTick: {show: false,},axisLabel: {show: false,},splitLine: {show: false,},pointer: {show: false,},},],};
};const initChart = () => {if (!chart) chart = echarts.init(chartRef.value);chart.setOption(topChartOptions(props.percent));
};onMounted(() => {initChart();
});onBeforeUnmount(() => {if (chart) {chart.clear();chart.dispose();chart = null;}
});
</script><style scoped lang="scss">
.circle {width: 132px;height: 113px;// 根据实际情况加背景图background: url('@/assets/img/inspection/overview-bg.png') no-repeat;
}
</style>

http://www.ppmy.cn/embedded/98491.html

相关文章

Linux--传输层协议UDP

目录 传输层 再谈端口号 端口号范围划分 认识知名端口号(Well-Know Port Number) 两个问题 UDP 协议 UDP 协议端格式 UDP 的特点 面向数据报 UDP 的缓冲区 UDP 使用注意事项 基于 UDP 的应用层协议 进一步理解UDP协议 传输层 负责数据能够从发送端传输接收端. 再谈…

Tomcat的基本使用

一、下载 官网&#xff1a;https://tomcat.apache.org/download-90.cgi我的资源中下载 二、卸载 直接删除目录即可 三、启动 双击&#xff1a;bin\startup.bat 控制台乱码&#xff1a;修改conf/logging.properties java.util.logging.ConsoleHandler.encoding UTF-8把这里…

21、springboot3 vue3开发平台-前端-自定义树形穿梭框,用于角色权限分配

文章目录 1. 使用原因2. 实现3. 使用 1. 使用原因 elemenutplus 有穿梭框&#xff0c;但是不支持树状数据的操作&#xff0c;所以这里自定义树状穿梭框&#xff0c;用于菜单权限分配&#xff0c; 如下&#xff1a; 2. 实现 这里主要是将菜单列表树解构后添加修改组合再恢复…

Vue3通信方式 provide与inject

父子组件传参可以通过props和emit来实现&#xff0c;但是当组件的层次结构比较深时&#xff0c;props和emit就没什么作用了。vue为了解决这个提出了Provide / Inject //vue3提供provide(提供)与inject(注入),可以实现隔辈组件传递数据 import { ref, provide } from "vue…

LLVM - 编译器后端-指令选择

一:概述 任何后端的核心都是指令选择。LLVM 实现了几种方法;在本篇文章中,我们将通过选择有向无环图(DAG)和全局指令选择来实现指令选择。 在本篇文章中,我们将学习以下主题: • 定义调用约定规则:本节展示如何在目标描述中设置调用约定的规则。 • 通过选择 D…

应用界面设计(原生,自定义控件,设计与交互-小白必看)

目录 一图概览 界面实现方式 XML布局方式 JAVA或Kotlin代码布局 Android定制控件 Android原生核心控件 为什么不用原生&#xff1f; 定制控件三大方法 定制控件流程 触摸事件&#xff08;input事件处理&#xff09;流程 分发 (dispatchTouchEvent) 拦截 (onInterce…

基于x86_64系统构建并运行aarch64架构docker镜像

基于x86_64系统构建并运行aarch64架构docker镜像 1.安装qemu模拟器2.编写Dockerfile3.查看镜像架构4.启动容器 1.安装qemu模拟器 docker run --privileged --rm tonistiigi/binfmt --install all如果出现invalid argument等信息&#xff0c;表示qemu安装失败。可能是内核版本问…

RabbitMQ消息队列:概念、单节点和集群示例

目录 消息队列 概念 主流的消息队列 消息队列名词 &#xff08;1&#xff09;Broker &#xff08;2&#xff09;Topic &#xff08;3&#xff09;Producer &#xff08;4&#xff09;Consumer &#xff08;5&#xff09;Queue &#xff08;6&#xff09;Message 消息…