Echarts 表格通过ajax异步请求实现动态赋值(分析同比环比的实现)

对于ElementUI中使用ECharts在上一篇文章中已经说明具体使用方法

一、效果图:(以每一个月的工业产值为例)

我们可以选择不同企业和不同的年份生成同比环比图

1、环比图

2、同比图

二、从Echart官网中导入我们需要的图表

Echart官网 https://echarts.apache.org/zh/index.html

2.1、导入图表信息,生成静态图表

<template><div><!--    统计分析图        --><div><Echarts :option="option" style="height: 330px;width: 720px;margin-left: 30px" /></div></div>
</template>
<script>//引入Echart的包
import Echarts from "../../components/charts/Echarts";
export default {components:{Echarts,},data(){return{option:{tooltip: {trigger: 'axis',axisPointer: {type: 'cross',crossStyle: {color: '#999'}}},toolbox: {feature: {dataView: { show: true, readOnly: false },magicType: { show: true, type: ['line', 'bar'] },restore: { show: true },saveAsImage: { show: true }}},legend: {data: ['Evaporation', 'Precipitation', 'Temperature']},xAxis: [{type: 'category',data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],axisPointer: {type: 'shadow'}}],yAxis: [{type: 'value',name: 'Precipitation',min: 0,max: 250,interval: 50,axisLabel: {formatter: '{value} ml'}},{type: 'value',name: 'Temperature',min: 0,max: 25,interval: 5,axisLabel: {formatter: '{value} °C'}}],series: [{name: 'Evaporation',type: 'bar',tooltip: {valueFormatter: function (value) {return value + ' ml';}},data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]},{name: 'Precipitation',type: 'bar',tooltip: {valueFormatter: function (value) {return value + ' ml';}},data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]},{name: 'Temperature',type: 'line',yAxisIndex: 1,tooltip: {valueFormatter: function (value) {return value + ' °C';}},data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]}]
};},created: function () {},methods:{}
}
</script>
<style scoped>
</style>

2.2、通过ajax请求,从数据库获取将要展示的信息

此时我们需要通过在script里面编写请求的方法,用于获取展示信息

当我们再使用的时候需要改写成自己的请求信息:获取自己想要的数据

//加载页面时执行一次
created() {this.selectCharts();},methods:{selectCharts:function (){this.axios({method: "POST",url: "/v1/statistics/selectYearDate",}).then((res) => {let code = res.data.code;if (code == 200) {//调用赋值操作的方法this.assignmentCharts(res.data.data)}}).catch((error) => {console.log(error);});},
}
  • 注意:Echarts的赋值方式一定是得从根开始往下找,一直对应到自己赋值得数据域

  • 例如:我们要给Echarts图表赋值时,例如给series里面的data赋值:this.optionzhezhu.series[0].data=所赋的值;

特别注意:series里面存储的是数组类型的对象,我们比如要给第一个对象赋值,那么得写series[0].对应赋值得变量

2.3、对图表进行赋值操作

    assignmentCharts:function (temp){console.log(temp)let nowYear = new Date().getFullYear();this.optionzhezhu.series[0].data=[];this.optionzhezhu.title.text=[]if(this.selectYear!=""){let yy = new Date(this.selectYear).getFullYear();this.optionzhezhu.title.text="环比:"+yy+"年";}else{this.optionzhezhu.title.text="环比:"+nowYear+" 年全企业";}this.optionzhezhu.series[1].data=[];for (let i = 0; i < temp.length; i++) {this.optionzhezhu.series[0].data.push(temp[i].nowYearOutputValue);   //当前月的数据this.optionzhezhu.series[1].data.push(temp[i].monthOnMonth);   //上一个月的数据}},

这样我们就对环比图赋值完成了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f1mXNjuo-1658664130032)(C:/Users/ZHANG/AppData/Roaming/Typora/typora-user-images/image-20220724194636766.png)]

2.4、当然我们也可以通过让用户去选择企业名称和年份动态生成数据

每次选择企业名称后会重新调用我们的数据回显函数,此时带着具体的企业id和年份,动态查询出数据

    <div style="padding: 0px 33px;" class="static"><h3>产值分析</h3><el-select class="inputs"v-model="selectKey":multiple="false":filterable="true":remote="true":clearable="true"placeholder="请选择企业":remote-method="remoteMethod":loading="selectLoading"><el-optionv-for="index in options":key="index.id":label="index.enterpriseName":value="index.id"></el-option></el-select><el-date-picker class="selectYear"v-model="selectYear"type="year":clearable="false"placeholder="选择年"></el-date-picker><el-button type="primary" @click="reloadSerchDate" style="height: 32px;margin: auto 10px;">重置</el-button><el-button type="primary" @click="clickCharts" style="height: 32px;margin: auto 0;">生成</el-button></div>//method//每次选择企业名称后会重新调用我们的数据回显函数,此时带着具体的企业id和年份remoteMethod(query) {this.selectLoading=true;this.selectEnterprise(query);},

---------------------->此时我么就能够动态的去获取数据

Echarts 表格通过ajax异步请求实现动态赋值(分析同比环比的实现)相关推荐

  1. layui-tree实现Ajax异步请求后动态添加html元素

    最近在弄一个产品分类管理,是一个树形菜单的形式,用的是layui-tree ,由于它并没有动态添加节点,所以只能自己刚了. 大概效果如左图 具体的实现是当我鼠标移入"长袖"这个分类 ...

  2. ajax异步处理代码实现,原生JS代码实现一个Ajax异步请求

    异步加载的方式 (1) defer,只支持IE (2) async: (3) 创建script,插入到DOM中,加载完毕后callBack 实现ajax之前必须要创建一个 XMLHttpRequest ...

  3. html弹窗赋值给查询框,bootstrap模态框动态赋值, ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS)...

    /查询单个 function query(id) { $.ajax({ url : "/small/productServlet", async : true, type : &q ...

  4. ajax异步请求刷新layui表格

    ajax异步请求刷新Layui表格数据 今天遇到一个小问题,向后端传一个bean插入到数据库后,在前端页面同步显示.刚开始直接用from表单把数据传给后台进行插入操作,但是这样前端不能及时接收到后端完 ...

  5. Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数【含代码】)- 案例篇

    文章目录 Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数[含代码])- 案例篇 效果截图: 重要代码: 附:全部HTML代码: Ajax异步请求(重渲染DOM元素时,如何自动调 ...

  6. php原生的异步请求,原生JavaScript实现Ajax异步请求

    ajax现在是一种非常流行的技术,现在虽然可以利用JQuery或者一些第三方插件甚至微软提供的一些控件可以方面的实现ajax功能,但是明白其原理也是非常重要的,下面是来使用纯javascript实现获 ...

  7. ajax异步请求实例

    1. 问题分析 用户管理显示页面:usermanagement.tpl(也可以说是MVC中的V,即视图) 用户管理数据发送页面:usermanagement.php(也可以说是MVC中的M,即模型) ...

  8. JSP同步请求和html+ajax异步请求的两种方式

    war包:包括所有的项目资源,只要从浏览器发起的都是属于请求,然后把资源响应给浏览器,解析显示出来. 方式一:HTML+ajax(跳转静态html也是属于请求响应,把整个页面响应给浏览器.) html ...

  9. ajax异步请求——form表单提交 及 表单序列化提交

    ajax异步请求 AJAX介绍 AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),它不是一种新的编程语言,而是一种使用现有标准的新方 ...

最新文章

  1. Ubuntu 16.04+GTX970 黑屏无法安装解决方法
  2. 杭电c语言课程设计实验7,杭电1072 BFS 大神给看看啊 郁闷整整10个小时了 不知道哪里错wa...
  3. mysql zero fill_mysql zerofill 的使用
  4. centos6.8安装oracle12C 详细步骤讲解
  5. java面试要点005---git和svn的区别
  6. php curl显示错误信息,php如何调试curl错误信息
  7. c 语言申明头文件和实现分开简单例子
  8. el-tooltip位置不灵活_小厨房里的收纳,贵在灵活
  9. 2月之最---2012年最后一个2月((*^__^*) )
  10. 京东联盟API接口-单页市场-提高商品转化率-京东高级API接口
  11. 人人都可以做深度学习应用:入门篇(下)
  12. oracle 9i for redhat9 下载,RedHat9上安装Oracle9i手记(原作:hotman_x)
  13. 《数据分析-SmartChart02》SmartChart低代码平台-可视化开发
  14. (亲测可行)charles抓包夜神模拟器保姆级教程
  15. 【知识图谱】Neo4j Cypher查询语言详解
  16. ShareSDK快速集成
  17. Door to Door 日剧改编 励志
  18. 人工智能里的数学修炼 | 隐马尔可夫模型:基于EM的鲍姆-韦尔奇算法求解模型参数
  19. JVM之垃圾回收算法详解
  20. Win10《芒果TV》更新v3.8.70周年版:升级高级配色、自动切换夜间模式

热门文章

  1. 切比雪夫(Chebyshev)不等式
  2. 2015 移动技术白皮书
  3. AttributeError: module 'torch.nn.init' has no attribute 'zeros_'
  4. Python爬虫之从网站图片中抓取文字
  5. 2022.03全国青少年软件编程(图形化)等级考试试卷(四级)
  6. 战地3一直显示服务器断开连接,战地3一直Joining Server.解决办法_游侠网
  7. 【附源码】计算机毕业设计SSM网上商城比价系统
  8. B端大数据量查询优化方案
  9. python安装教程(搬运工)
  10. 12位串行AD转换器TLC2543与单片机的接口设计与编程