Echarts数据交互(若依微服务版)

效果图
在这里插入图片描述

1.获取数据

controller得到数据处理成List或者List类型,根据对应的图处理成相应的数据如:

data: [5, 20, 36, 10, 10, 20]  //条形图
或者
//饼图
data: [
        { value: 1048, name: 'Search Engine' },
        { value: 735, name: 'Direct' },
        { value: 580, name: 'Email' },
        { value: 484, name: 'Union Ads' },
        { value: 300, name: 'Video Ads' }
      ]

2.在相应js模块中写入路径

//一般有专门的js文件写
export function test() {
  return request({
    url: '/test',//controller中的映射路径
    method: 'get'//获取方法
  })
}

3.引用

找到views中相应的模块的.vue文件

  1. 导入模块
import {test} from "@/api/..(文件夹)/..(.js文件名)";  //js文件
  1. methods:{}方法中调用
getData(){
      test().then(response => {
        console.log(response);
        this.$nextTick(() => {
          this.initChart(response)
        })
      });
    },
  1. mounted()方法中加载数据
 mounted() {
   this.getData();
  },
  1. initChart(initData)方法传参
//后台获取的数据样式为
[[320, 332, 301, 334, 390, 330, 320],
 [120, 132, 101, 134, 90, 230, 210],
 [220, 182, 191, 234, 290, 330, 310],
 ['2021-10-08', '2021-10-09', '2021-10-10', '2021-10-11', '2021-10-12', '2021-10-13', '2021-10-14']]

 initChart(initData) {
      this.chart = echarts.init(this.$el, 'macarons')

      this.chart.setOption({
        title: {
          text: '订单成交完成状态(近七天)',
          x: '30%',
          y: '5px',
        },
        tooltip: {
          trigger: 'axis',
          axisPointer: { // 坐标轴指示器,坐标轴触发有效
            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
          }
        },
        legend: {
          bottom: '10',
          data: ['成功订单', '完成订单','失败订单']
        },
        xAxis: [{
          type: 'category',
          data: initData[3],
          axisTick: {
            alignWithLabel: true
          }
        }],
        yAxis: [{
          type: 'value',
          axisTick: {
            show: false
          }
        }],
        series: [{
          name: '成功订单',
          type: 'bar',
          stack: 'vistors',
          barWidth: '60%',
          data: initData[0],
          animationDuration
        },
          {
          name: '完成订单',
          type: 'bar',
          stack: 'vistors',
          barWidth: '60%',
          data: initData[1],
          animationDuration
        },
          {
          name: '失败订单',
          type: 'bar',
          stack: 'vistors',
          barWidth: '60%',
          data: initData[2],
          animationDuration
        }]
      })
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值