Vue实战电商系统-七.数据统计

news/2024/7/10 2:42:47 标签: vue

Vue实战电商系统-七.数据统计

  • 数据统计
    • 1.基本页面布局和路由配置
    • 2.安装Echarts并渲染图表
    • 3.获取折线图

数据统计

1.基本页面布局和路由配置

同之前的一样就不说了。

2.安装Echarts并渲染图表

1.首先在可视化面板中安装运行依赖Echarts
2.接着按照Echarts教程进行布局使用。
导入Echarts:
1.全局引入(在main.js中引入)

import echarts from 'echarts'
Vue.prototype.$echarts = echarts

2.组件引入

var echarts = require('echarts')

布局Echarts容器:

<template>
  <div>
    <!-- 面包屑导航区域 -->
        <el-breadcrumb separator="/">
            <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
            <el-breadcrumb-item>数据统计</el-breadcrumb-item>
            <el-breadcrumb-item>数据报表</el-breadcrumb-item>
        </el-breadcrumb>
        <!-- 卡片视图区域 -->
        <el-card>
          <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
          <div id="main" style="width: 600px;height:400px;"></div>
        </el-card>
  </div>
</template>

渲染数据:

// 此时页面上的元素已经渲染完毕
mounted() {
  var echarts = require('echarts')
  // 基于准备好的dom,初始化echarts实例
  var myChart = echarts.init(document.getElementById('main'))
  // 指定图表的配置项和数据
  var option = {
    title: {
      text: 'ECharts 入门示例'
    },
    tooltip: {},
    legend: {
      data: ['销量']
    },
    xAxis: {
      data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
    },
    yAxis: {},
    series: [{
      name: '销量',
      type: 'bar',
      data: [5, 20, 36, 10, 10, 20]
    }]
  }
  // 使用刚指定的配置项和数据显示图表。
  myChart.setOption(option)
}

3.获取折线图

const { data: res } = await this.$http.get('reports/type/1')
console.log(res)
if (res.meta.status !== 200) return this.$message.error('获取折线图数据失败')
this.$message.success('获取折线图数据成功')
myChart.setOption(res.data)

但是最终实现效果还不够完善(没有鼠标跟随效果),还需要将获取到的数据和另外的数据进行合并,成为一个新对象再传入setOption中。

需要合并的数据:

options: {
        title: {
          text: '用户来源'
        },
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            type: 'cross',
            label: {
              backgroundColor: '#E9EEF3'
            }
          }
        },
        grid: {
          left: '3%',
          right: '4%',
          bottom: '3%',
          containLabel: true
        },
        xAxis: [
          {
            boundaryGap: false
          }
        ],
        yAxis: [
          {
            type: 'value'
          }
        ]
      }

http://www.niftyadmin.cn/n/909588.html

相关文章

函数的声明与定义

1.简介 函数定义&#xff1a;用于确定函数功能&#xff0c;一个完整的函数定义包括函数名称&#xff0c;形参类型&#xff0c;函数体等。 函数声明&#xff1a;C语言编译系统是由上往下编译的&#xff0c;如果被调函数A放在主调函数B后面&#xff0c;则需要声明函数A&#xff0…

滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(10月8日~10月11日)...

活动时间&#xff1a;2015年10月8日~2015年10月10日 更新日期&#xff1a;2015年10月8日 滴滴快车单单2.5倍&#xff0c;注册地址&#xff1a;http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单&#xff1a;http://www.cnblogs.com/mfryf/p…

基于网易云音乐API的微信小程序——网愈芸音乐

网愈芸音乐一.项目说明二.项目环境准备三.项目初始化1.新建项目2.安装依赖Vant Weapp&#xff0c;构建NPM四.项目具体开发过程1.欢迎页面(首页)&#xff1a;2.登陆页面1.界面设计2.逻辑分析3.MV页面1.界面设计2.逻辑分析4.音乐页面1.界面设计2.逻辑分析5.歌单页面1.界面设计2.拓…

Oracle笔记 二、常用dba命令行

1、给用户解锁 alter user scott account unlock; 2、注销、断开、切换当前用户连接 quit conn scott/tiger 3、用户权限查询 A .查看所有用户&#xff1a; select * from dba_users; select * from all_users; select * from user_users; B.查看用户或角色系统权限(直接赋值给…

个人前端面试题目总结(未工作)

个人前端面试题目总结个人前端面试题目总结(未工作)形式&#xff1a;电话面试面试内容不完全记录&#xff1a;关于React关于Vue*1.vue中数据双向绑定的原理*2.vue中的MVVM模式ES6中有哪些新特性1.const&#xff0c;let2.模板字符串(字符串的拼接)3.箭头函数4.函数参数的默认值5…

在Azure上部署Sqlserver网络访问不了的问题

最近在部署Azure虚拟机的时候&#xff0c;一直访问不了网络数据库&#xff0c;一搜资料才知道&#xff0c;Azure默认是不打开入网规则的&#xff0c;需要手动设置。 在 Windows 防火墙中为数据库引擎的默认实例打开 TCP 端口 在“开始”菜单中&#xff0c;单击“运行”&#xf…

微信小程序中使用VantWeapp组件库

微信小程序中使用VantWeapp组件库 官方快速上手文档 1.新建项目 2.初始化项目 普通项目 如果不是云开发的项目&#xff1a;那么直接在根目录下执行命令&#xff1a; npm init一路回车(如果需要自己配置项目基本信息也可以)。在根目录下就会生成一个package.json文件。 云…

rpmbuild 构建rpm包时报错解决 error: Installed (but unpackaged) file(s) found:

解决的办法是找到 /usr/lib/rpm/macros 中%__check_files /usr/lib/rpm/check-files %{buildroot} 注释掉转载于:https://www.cnblogs.com/Yongzhouunknown/p/4874942.html