前端步调:
1.引入需要的文件
2.设置一个有巨细的盒子
3.设置数据,创建一个方法,发送请求(分析需要的数据,统计店铺和用户的总数占比)
4.接收到数据给定义的变量接着
5.初始化就加载图形new echarts.init(document.getElementById('pieBox'))给一个变量
6.最后在myChart.setOption({})中写复制粘贴过来的东西,把定义死的数据用请求接收过来的变量赋值,并更改需要修改的地方
1.扇形

- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>Title</title>
- <%--引入vue--%>
- <%--引入vue文件:必须先引入vue--%>
- <script src="https://unpkg.com/vue@2/dist/vue.js"></script>
- <%--引入axios文件--%>
- <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
- <!-- 引入样式 -->
- <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
- <!-- 引入组件库 -->
- <script src="https://unpkg.com/element-ui/lib/index.js"></script>
- <script src="/js/qs.min.js"></script>
- <script src="/js/echarts.min.js"></script>
- </head>
- <body>
- <div id="app">
- <div id="pieBox" style="width: 600px; height: 400px;"></div>
- </div>
- <script>
- let app = new Vue({
- el: "#app",
- data: {
- },
- created() {
- this.showPie()
- },
- methods: {
- showPie() {
- // console.log(111)
- axios.get("/count/lis").then(msg => {
- //店铺
- console.log(msg.data.data)
- var pieData = msg.data.data;
- var myChart = new echarts.init(document.getElementById('pieBox'));
- myChart.setOption({
- title: {
- text: '用户商家统计对比',
- subtext: '数量比例',
- left: 'center'
- },
- tooltip: {
- trigger: 'item'
- },
- legend: {
- orient: 'vertical',
- left: 'left'
- },
- series: [
- {
- name: '投票数',
- type: 'pie',
- radius: '50%',
- data: pieData,
- emphasis: {
- itemStyle: {
- shadowBlur: 10,
- shadowOffsetX: 0,
- shadowColor: 'rgba(0, 0, 0, 0.5)'
- }
- }
- }
- ]
- });
- });
- }
- }
- })
- </script>
- </body>
- </html>
复制代码 后端步调:
首先定义一个vo类,扇形图需要的参数--当作返回(泛型)类型
1.mapper、mapper.xml--求出店铺的总数目、用户的总数目
2.在impl业务实现层处理业务
3.最后在控制层调用接口层方法
2.折线图

- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>Title</title>
- <%--引入vue文件:必须先引入vue--%>
- <script src="https://unpkg.com/vue@2/dist/vue.js"></script>
- <%--引入axios文件--%>
- <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
- <!-- 引入样式 -->
- <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
- <!-- 引入组件库 -->
- <script src="https://unpkg.com/element-ui/lib/index.js"></script>
- <script src="/js/qs.min.js"></script>
- <script src="/js/echarts.min.js"></script>
- </head>
- <body>
- <div id="app">
- <div id="zhuBox" style="width: 800px; height: 400px;"></div>
- </div>
- <script>
- let app = new Vue({
- el: "#app",
- data: {
- },
- created() {
- this.showZhu()
- },
- methods: {
- //图
- showZhu(){
- axios.get("/count/th").then(msg=>{
- var zhuData=msg.data.data;
- var myChart = echarts.init(document.getElementById('zhuBox'));
- myChart.setOption({
- title: {
- text: '店铺收入数量'
- },
- tooltip: {},
- legend: {},
- xAxis: {
- data: zhuData.xdata
- },
- yAxis: {},
- series: [
- {
- name: '数量',
- type: 'bar',
- data: zhuData.ydata
- }
- ]
- });
- });
- },
- }
- })
- </script>
- </body>
- </html>
复制代码 zhuData类

1.mapper、mapper.xml


2.impl实现业务层

3.控制层

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |