[vue折线图] 记录SpringBoot+Vue3.0折线图订单信息展示
因公司业务需求,需要做一份订单相关的折线图,
如果其中有一天没有订单的话,这一天就是空缺的,在绘制折线图的时候是不允许的,所有要求把没有订单数据的日期也要在图表显示。
使用技术vue3.0+springboot2.0 ,本次做一个粗略的记录,以便后期查阅和帮助有需要的人。
效果图:

主要展示目的: 当月订单每日的订单数量及每日订单总金额,如当日没有订单 依旧展示日期,且数量和金额均为0.
先来看下主要sql:
SELECT
sum(money) AS totalMoney,
sum(count) AS totalCount,
date_format(createTime, '%m-%d') AS orderTime
FROM
(
SELECT
SUM(tos.actuallyMoney) money,
count(*) count,
date_format(tos.createTime, '%Y-%m-%d') createTime
FROM
tb_order_shop tos
WHERE
tos.`status` = 'A'
AND tos.payStatus = 2
AND DATE_FORMAT(tos.createTime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
GROUP BY
tos.createTime
UNION ALL
SELECT
@money := 0.00 AS money,
@count := 0 AS count,
createTime
FROM
(
SELECT
@num :=@num + 1 AS number,
date_format(
adddate(
DATE_ADD(
curdate(),
INTERVAL - DAY (curdate()) + 1 DAY
),
INTERVAL @num DAY
),
'%Y-%m-%d'
) AS createTime
FROM
tb_order_shop,
(SELECT @num :=- 1) t
WHERE
adddate(
DATE_ADD(
curdate(),
INTERVAL - DAY (curdate()) + 1 DAY
),
INTERVAL @num DAY
) < date_format(NOW(), '%Y-%m-%d')
ORDER BY
createTime
) date
) shopOrder
GROUP BY
shopOrder.createTime
ORDER BY
createTime
查询结果:

前端Vue代码:
<template>
<div>
<ve-line :data="chartData"></ve-line>
</div>
</template> <script>
export default {
data: function () {
return {
chartData: {
columns: ['日期', '下单用户', '总金额'],
rows: []
}
}
},
mounted() {
this.getOrderInfo();
},
methods:{
getOrderInfo(){
this.$ajax({
method: "post",
url: "/home/getLineChartInfo"
}).then(response => {
let res = response.data;
if (res.message == "success") {
this.chartData.rows = res.data;
}
});
}
}
};
</script>
以上只是个人开发方法
如果您有好的方法可以在此文章下进行评论。
[vue折线图] 记录SpringBoot+Vue3.0折线图订单信息展示的更多相关文章
- jquery和highcharts折线图、柱形图、饼状图-模拟后台传參源代码
js代码: <script type="text/javascript"> $(function(){ showLine(); showColumn(); showPi ...
- 图表echarts折线图,柱状图,饼状图
总体就是有折线图相关图标的设置,x,y轴的设置,x,y轴或者数据加上单位的设置.饼状图如何默认显示几个数据中的某个数据 折线图:legend(小标题)中间默认是圆圈 改变成直线 在legend设置的时 ...
- 纯小白入手 vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...
- 纯小白入手 vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...
- 纯小白入手 vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...
- vue3.0 没有 vue.condig.js 解决
第一次用 vue3.0 ,发现没有vue.config.js ,只有一个babel.config.js 怎么办? 需要在根目录手动添加一个即可,如下 相关的配置说明 module.exports = ...
- 企业应用架构研究系列二十七:Vue3.0 之环境的搭建与Vue Antd Admin探索
开发前端需要准备一些开发工具,这些工具怎么安装就不详细描写了,度娘一些很多很多.主要把核心的开发工具列表一些,这些资源也是非常容易找到和安装的. Node 安装:https://nodejs.org/ ...
- Qt数据可视化(散点图、折线图、柱状图、盒须图、饼状图、雷达图)开发实例
目录 散点图 折线图 柱状图 水平柱状图 水平堆叠图 水平百分比柱状图 盒须图 饼状图 雷达图 Qt散点图.折线图.柱状图.盒须图.饼状图.雷达图开发实例. 在开发过程中我们会使用多各种各样的图 ...
- Vue3.0聊天室|vue3+vant3仿微信聊天实例|vue3.x仿微信app界面
一.项目简介 基于Vue3.0+Vant3.x+Vuex4.x+Vue-router4+V3Popup等技术开发实现的仿微信手机App聊天实例项目Vue3-Chatroom.实现了发送图文表情消息/g ...
随机推荐
- [机器学习]Generalized Linear Model
最近一直在回顾linear regression model和logistic regression model,但对其中的一些问题都很疑惑不解,知道我看到广义线性模型即Generalized Lin ...
- 获取函数的地址(三种方法,分别是@,Addr,MethodAddress)
问题来源: http://www.cnblogs.com/del/archive/2008/07/30/1039045.html#1272783 在编译器看来, 重载函数根本就是完全不同的几个函数, ...
- Hadoop集群(第3期)机器信息分布表
1.分布式环境搭建 采用4台安装Linux环境的机器来构建一个小规模的分布式集群. 图1 集群的架构 其中有一台机器是Master节点,即名称节点,另外三台是Slaver节点,即数据节点.这四台机器彼 ...
- spring之@Value详解(转载)
@Value注入 不通过配置文件的注入属性的情况 通过@Value将外部的值动态注入到Bean中,使用的情况有: 注入普通字符串 注入操作系统属性 注入表达式结果 注入其他Bean属性:注入beanI ...
- 3012C语言_数据
第二章 数据 2.1 数据类型 2.1.1 数据类型决定 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作 2.2基本数据类型 2.2.1分类 基本类型 类型 符号 关键字 字节 1 ...
- PHP实现图片(文件)上传
这几天整理做过的php项目,感觉这个经常会用到,传上来共享一下咯 首先,前端界面 1.表单的首行需要加上enctype="multipart/form-data",需要上传的图片必 ...
- 学习过程中遇到的python内置函数,后续遇到会继续补充进去
1.python内置函数isinstance(数字,数字类型),判断一个数字的数字类型(int,float,comple).是,返回True,否,返回False2.python内置函数id()可以查看 ...
- Centos7安装Typecho详细教程
Centos7安装Typecho详细教程 首先搭建LAMPH环境 L linux 服务器(centos或者ubunt) .A Apache .M mysql .P PHP 安装Apache.PHP ...
- VMware安装linux系统
- memcached--delete--replace--set--get--incr--decr--stats
memcached命令 1.get key 来获取在内存中的值 get name 2.delete key 删除在内存中的值 delete name 3.replace key flag exp ...