当前位置: 首页 > news >正文

vue echart3个饼图

概览:根据UI设计需要做3个饼图且之间有关联,并且处理后端返回的数据。

参考链接:

echart 官网的一个案例,3个饼图

实现思路:

根据案例,把数据处理成对应的。

参考代码:

1.处理后端数据:

/*** 处理接口数据* 注意:echart是在渲染的时候就传递数据*/
const getMetarialCondition = () => {api.getMetarialList.post({ shipGuid: data.shipGuid }).then((res) => {if (res.data.code == 200) {// 返回data是否为空if (res.data.data.length !== 0) {// //库存总数let totalHouseNum = res.data.data?.map((item, index) => {return item.num}).reduce((preValue, curValue) => {return preValue += curValue})//库存入库let putHouseNum = res.data.data?.map((item, index) => {return item.putNum}).reduce((preValue, curValue) => {return preValue += curValue})//库存出库let outHouseNum = res.data.data?.map((item, index) => {return item.outNum}).reduce((preValue, curValue) => {return preValue += curValue})/*** 优化数据*///库存余量let myModifyTotalNum = res.data.data?.map((item, index) => {return [item.name, item.num, '库存余量']})//库存入库let myModifyPutNum = res.data.data?.map((item, index) => {return [item.name, item.putNum, '库存入库']})//库存出库let myModifyOutNum = res.data.data?.map((item, index) => {return [item.name, item.outNum, '库存出库']})let myModifyData = [...myModifyTotalNum, ...myModifyPutNum, ...myModifyOutNum]/*** 更新状态*/metarialData.totalHouseNum = totalHouseNummetarialData.putHouseNum = putHouseNummetarialData.outHouseNum = outHouseNumreDrawChartMetarial(myModifyData)} else {let nullData = []reDrawChartMetarial(nullData)}}})
};

2.ecahrt渲染的参数:

/*** 渲染echart的方法* @param {[]} value 传参*/
const reDrawChartMetarial = (value) => {const mySource = [['name', 'value', 'myTag'],...value]let metarialOption = {tooltip: {trigger: 'item',position: 'right',  //提示框浮层的位置},grid: {left: "3%",right: "4%",bottom: "3%",width: "820px",height: "320px",containLabel: true},legend: {orient: 'horizontal',left: 'center',textStyle: {color: '#000',fontSize: fontSize(14),},formatter: function (a) {if (a.length > 5) {a = a.slice(0, 5) + "...";   //截断拼接省略号    }return a;}},dataset: [{source: mySource,},{transform: {type: 'filter',config: { dimension: 'myTag', value: '库存余量' }}},{transform: {type: 'filter',config: { dimension: 'myTag', value: '库存入库' }}},{transform: {type: 'filter',config: { dimension: 'myTag', value: '库存出库' }}}],series: [{type: 'pie',radius: 50,top: 100,left: -100,center: ['10%', '50%'],datasetIndex: 1,textStyle: {color: "#000",align: "right",fontSize: fontSize(16),},label: {formatter: function (a) {if (a.name) {a = a.name.slice(0, 12) + "...";   //截断拼接省略号    }return a;},}},{type: 'pie',radius: 50,top: 100,center: ['50%', '50%'],datasetIndex: 2,label: {normal: {formatter: function (a) {if (a.name) {a = a.name.slice(0, 12) + "...";   //截断拼接省略号    }return a;},}}},{type: 'pie',radius: 50,top: 100,left: 300,center: ['90%', '50%'],datasetIndex: 3,label: {normal: {formatter: function (a) {if (a.name) {a = a.name.slice(0, 5) + "...";   //截断拼接省略号    }return a;},}}}],media: [{query: { minAspectRatio: 1 },option: {series: [{ center: ['25%', '50%'] },{ center: ['50%', '50%'] },{ center: ['75%', '50%'] }]}},{option: {series: [{ center: ['50%', '25%'] },{ center: ['50%', '50%'] },{ center: ['50%', '75%'] }]}}]};metarialOption && dataEcharts.metaChart.setOption(metarialOption, true);
}

效果展示:

 

http://www.lryc.cn/news/109052.html

相关文章:

  • LEARNING TO EXPLORE USING ACTIVE NEURAL SLAM 论文阅读
  • item_search-ks-根据关键词取商品列表
  • windows运行WPscan报错:无法打开库libcurl.dll
  • web前端框架Javascript之JavaScript 异步编程史
  • Java多线程(1)---多线程认识、四种创建方式以及线程状态
  • 搭建Django+pyhon+vue自动化测试平台
  • CASAIM自动化平面度检测设备3D扫描零部件形位公差尺寸测量
  • PostgreSql pg_ctl 命令
  • MySQL中的MVCC具体指的是什么?
  • Docker网络模型详解
  • 如何打造属于自己的个人IP?
  • 全网最全最细的jmeter接口测试教程以及接口测试流程详解
  • 【Linux命令200例】whereis用于搜索以及定位二进制文件
  • Elasticsearch:如何将整个 Elasticsearch 索引导出到文件 - Python 8.x
  • cmd 实现启动mysql时保留窗口
  • JavaScript数据结构与算法——栈
  • Elasticsearch分词详解:ES分词介绍、倒排索引介绍、分词器的作用、停用词
  • SpringMVC组件
  • 解决el-dialog弹出时,页面抖动,右侧会缩小的问题(即滚动条被遮罩层覆盖的问题)
  • 【Rust 基础篇】Rust 属性宏:定制你的代码
  • 2023-08-04力扣今日三题
  • 从HTTP代理到Socks5代理:网络安全与爬虫的进化之路
  • 数学建模-元胞自动机
  • 化学合成有机化学 | 逆合成分析软件/数据库汇总
  • 无涯教程-jQuery - Selectable选择函数
  • MySQL修改root密码
  • vue获取近七天、月份、年份的起始日和结束日
  • android AIDL 学习使用
  • 学习笔记|C251|STC32G单片机视频开发教程(冲哥)|第三集:开发环境搭建和程序下载
  • 【数据可视化】(二)数据探索组件