news 2026/7/7 19:02:03

Vue + Echarts 实现科技感数据大屏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue + Echarts 实现科技感数据大屏

一、布局实现

1. flex进行“左中右”布局

<div class="data-container"> <div class="left"> </div> <div class="right"> </div> <div class="middle"> </div> </div> //css部分 .data-container { background: linear-gradient(#0056b1, #248fd8); position: flex; display: flex; /* padding: 0px 10px 10px 10px; */ height: 100%; width: 100%; } .left { width: 280px; background:rgb(147, 144, 238); padding: 20px 10px 20px 20px; display: flex; flex-direction: column; justify-content: space-between; } .right{ width:250px; padding: 20px 20px 20px 10px; background:lightgreen; display: flex; flex-direction: column; justify-content: space-between; } .middle { flex: 1; background:rgb(238, 219, 144); padding: 20px 10px 20px 10px; display: flex; flex-direction: column; }

2. div划分模块,设计科技感配色

<div class="data-container"> <!-- 数据面板 --> <div class="left"> <div class="card"> </div> <!-- --> <div class="card "> </div> </div> <div class="middle"> <!-- 地图 --> <div class="map-chart"> </div> <!-- --> <div class="grid" > <div class="grid-content grid-con-1 card"> </div> <div class="grid-content grid-con-2 card"> </div> <div class="grid-content grid-con-3 card"> </div> </div> </div> <div class="right"> <div class="card right-top"> </div> <div class="card right-mid"> </div> <div class="card right-bottom"> </div> </div> </div> // css .card { border-width: 1px; border-color: rgba(25,25,112,0.4); background-color: rgba(25,25,112,0.2); box-shadow: 0 2px 12px 0 rgba(18, 45, 136, 0.7); padding: 10px; border-radius: 5px; justify-content: center; align-items: center; /* margin-top: 10px; */ }

二、echarts中的图表展示

1. 地图:

https://blog.csdn.net/qq_44846654/article/details/147929138?spm=1011.2415.3001.5331

2. 统一管理图表

<!-- components/EchartsMap.vue --> <template> <div ref="chartDom" :style="{'width':width, 'height': height}"></div> </template> <script> // eslint-disable-next-line standard/object-curly-even-spacing import { ref, onMounted, onBeforeUnmount, watch} from 'vue' import {BAROPTION, MAPOPTION, RADAROPTION, GAUGEOPTIO} from './defaultOption' import echarts from '../../plugins/echarts' export default { name: 'MapEchart', props: { region: {type: String, default: 'china'}, mapData: { type: Array, default: () => [] }, // 地图数据(如省份值) option: { type: Object, default: () => ({}) }, // 自定义配置覆盖 echartsType: {type: String, default: 'map'}, // such as: map, bar, line... width: {type: String}, height: {type: String} }, setup (props) { const chartDom = ref(null) let chartInstance = null // 初始化图表 const initChart = () => { console.log(props.echartsType) if (!chartInstance) { chartInstance = echarts.init(chartDom.value) } let baseOption = null if (props.echartsType === 'map') { const geoJson = require(`../../mapJson/${props.region}.json`) echarts.registerMap(props.region, geoJson) baseOption = MAPOPTION } else if (props.echartsType === 'bar') { baseOption = BAROPTION } else if (props.echartsType === 'radar') { baseOption = RADAROPTION } else if (props.echartsType === 'gauge') { baseOption = GAUGEOPTIO } // 合并外部配置 chartInstance.setOption(baseOption) console.log(baseOption) } // 响应窗口变化 const resizeChart = () => { if (chartDom.value) { chartInstance.resize() } } // 监听数据变化 watch(() => props.mapData, (newVal) => { // chartInstance.setOption({ series: [{ data: newVal }] }); }) onMounted(() => { initChart() window.addEventListener('resize', resizeChart) }) onBeforeUnmount(() => { window.removeEventListener('resize', resizeChart) // if(chartDom.value){ // chartInstance.dispose(); // } }) return { chartDom } } } </script>

3. 可滚动的排行榜

https://blog.csdn.net/qq_44846654/article/details/148044424

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 19:29:27

YOLOv11 改进 - C2PSA | C2PSA融合Mona多认知视觉适配器(CVPR 2025):打破全参数微调的性能枷锁:即插即用的提点神器,引领视觉微调新突破

前言 本文介绍了新型视觉适配器微调方法Mona,并将其集成到YOLOv11中。传统全参数微调成本高、存储负担重且有过拟合风险,现有PEFT方法性能落后。Mona仅调整5%以内的骨干网络参数,在多个视觉任务中超越全参数微调。其核心亮点包括参数效率高、性能突破和即插即用。适配器模块…

作者头像 李华
网站建设 2026/7/7 8:10:43

YOLOv11 改进 - SPPF模块 | 替代SPPF, Mona多认知视觉适配器(CVPR 2025):打破全参数微调的性能枷锁:即插即用的提点神器

前言 本文介绍了新型视觉适配器微调方法Mona,并将其集成到YOLOv11中。传统全参数微调成本高、存储负担重且有过拟合风险,现有PEFT方法性能落后。Mona仅调整5%以内的骨干网络参数,在多个视觉任务中超越全参数微调。其核心亮点包括参数效率高、性能突破和即插即用。适配器模块…

作者头像 李华
网站建设 2026/7/7 19:48:21

企业级RPM组件变更测试全攻略:从虚拟化到容器化的深度实践

引言&#xff1a;RPM测试为何如此关键&#xff1f; 在Linux DevOps实践中&#xff0c;RPM包的管理与测试往往是决定系统稳定性的关键环节。每一次组件的升级、修复或功能增强&#xff0c;都可能引入意想不到的依赖冲突、配置变更或性能问题。据统计&#xff0c;超过30%的生产环…

作者头像 李华
网站建设 2026/7/7 18:51:05

MongoDB 索引

MongoDB 索引 引言 MongoDB 是一个高性能、可扩展的文档存储数据库,它提供了灵活的数据模型和强大的查询能力。在 MongoDB 中,索引是一个非常重要的概念,它能够显著提高数据库的查询效率。本文将深入探讨 MongoDB 索引的原理、类型、创建方法以及优化策略。 索引概述 索…

作者头像 李华
网站建设 2026/7/7 9:46:50

java学习--8个包装类

Java 中的8 个包装类&#xff08;Wrapper Class&#xff09; 是为了解决基本数据类型无法直接参与面向对象编程&#xff08;如不能作为集合元素、无法调用方法&#xff09;的问题&#xff0c;为每个基本数据类型提供了对应的引用类型。以下是完整的 8 个包装类详解&#xff1a;…

作者头像 李华
网站建设 2026/7/7 2:04:12

单片机芯片] CH32V307 支持手机的虚拟U盘实现拖拽固件升级

看到虚拟优盘进行拖拽升级后&#xff0c;我也进行了几天测试尝试&#xff0c;终于还是找到了方法&#xff0c;能够在手机也能升级。模拟优盘主要是向电脑发送DBR表&#xff0c;DBR(DOS Boot Record)&#xff1a;磁盘操作系统引导记录&#xff0c;DBR是每个逻辑分区的一个引导记…

作者头像 李华