项目功能--套餐预约占比饼形图

ops/2024/11/13 15:05:01/

一、需求分析

        会员可以通过移动端自助进行体检预约,在预约时需要选择预约的体检套餐。我们要通过饼形图直观的展示出会员预约的各个套餐占比情况。

二、代码实现

实现步骤:
步骤一:将echarts.js文件复制到工程的plugins目录下

步骤二:在页面引入echarts.js文件

<script src="../plugins/echarts/echarts.js"></script>


步骤三:参照官方实例导入折线图

<div class="box"><!-- 为 ECharts 准备一个具备大小(宽高)的 DOM --><div id="chart1" style="height:600px;"></div>
</div>
    <script type="text/javascript">// 基于准备好的dom,初始化echarts实例var myChart1 = echarts.init(document.getElementById('chart1'));// 使用刚指定的配置项和数据显示图表。//myChart.setOption(option);axios.get("/report/getExaminationReport.do").then((res)=>{myChart1.setOption({title : {text: '套餐预约占比',subtext: '',x:'center'},tooltip : {//提示框组件trigger: 'item',//触发类型,在饼形图中为itemformatter: "{a} <br/>{b} : {c} ({d}%)"//提示内容格式},legend: {//图例orient: 'vertical',left: 'left',data: res.data.data.setmealNames},series : [//数据系列{name: '套餐预约占比',type: 'pie',//饼形图radius : '55%',center: ['50%', '60%'],data:res.data.data.setmealCount,itemStyle: {emphasis: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]});});</script>

步骤四:根据饼形图对数据格式的要求,我们发送ajax请求,服务端需要返回如下格式的数据:

{"data":{"setmealNames":["套餐1","套餐2","套餐3"],"setmealCount":[{"name":"套餐1","value":10},{"name":"套餐2","value":30},{"name":"套餐3","value":25}]},"flag":true,"message":"获取套餐统计数据成功"
}

步骤五:编写controller代码,编写测试数据 测试

 @RequestMapping("/getExaminationReport")public Result getExaminationReport(){//使用模拟数据测试Map<String,Object> data = new HashMap<>();List<String> setmealNames = new ArrayList<>();setmealNames.add("体检套餐");setmealNames.add("孕前检查套餐");data.put("setmealNames",setmealNames);List<Map<String,Object>> setmealCount = new ArrayList<>();Map map1 = new HashMap();map1.put("name","体检套餐");map1.put("value",200);Map map2 = new HashMap();map2.put("name","孕前检查套餐");map2.put("value",300);setmealCount.add(map1);setmealCount.add(map2);data.put("setmealCount",setmealCount);return new Result(true,MessageConstant.GET_SETMEAL_COUNT_REPORT_SUCCESS,data);}

步骤六:编写代码,实现


http://www.ppmy.cn/ops/132933.html

相关文章

MyBatis几种SQL写法

目录 1. 批量操作:通过标签支持批量插入 2. 批量操作:通过标签支持批量更新 3. 批量操作&#xff1a;通过标签支持批量删除 4. 动态SQL 3. 多条件分支查询 4. SQL语句优化&#xff1a;使用标签避免多余的AND或OR关键字。 5. 注解方式使用MyBatis 6. 一对多 7. 多对一&…

卷积神经网络基础

卷积神经网络基础 一、卷积神经网络的提出 卷积神经网络的提出LeNet-5 二、卷积神经网络关键部件 卷积神经网络中的四个主要操作一个简单的卷积神经网络 三、卷积神经网络训练过程 1、前向传播阶段2、反向传播阶段训练过程 四、典型卷积神经网络 图像识别(分类)算法-LeNet-5 …

ubuntu 22.04 防火墙 ufw

Ubuntu&#xff08;22.04&#xff09;云主机SSH安全加固 https://blog.csdn.net/qq_44846097/article/details/141098092 ubuntu22.04防火墙策略 https://blog.csdn.net/sunyuhua_keyboard/article/details/139493464 Ubuntu 22.04 防火墙设置和开放端口命令 https://blog.c…

易考八股文之谈谈对sentinel的理解和作用?

在Java中&#xff0c;Sentinel&#xff08;哨兵&#xff09;是一个非常重要的组件&#xff0c;尤其在分布式服务架构和微服务环境中&#xff0c;它扮演着流量控制、熔断降级以及系统负载保护的关键角色。以下是对Sentinel的理解和作用的详细阐述&#xff1a; 一、Sentinel的理…

shell--常用命令

命令执行失败之后的操作 teee --version || { echo "tee command not found"; exit 1; } /dev/null /dev/null 对应的是一个空设备文件&#xff0c;任何写入这个文件的数据都将立即被销毁&#xff0c;而不是写到磁盘上。 if dpkg -s software-properties-common &g…

将数组中的数据反向输出(数组,函数)

将数组中的数据反向输出&#xff0c;用数组名作函数参数 swap函数是用来实现数组中元素前后的调换&#xff0c;用这种方式来实现数组中元素的逆序输出 #include <stdio.h> #include <stdlib.h> void swap(int m[],int n); int main() {int a[]{1,2,3,4,5,6,7,8,9,…

VisionPro —— CogSobelEdgeTool边缘提取工具

此工具可隔离和增强图像中的边缘信息。此编辑控件用于指定 magnitude scaling factor&#xff0c;选择 post-processing operation&#xff0c;以及查看视觉工具结果。 边缘幅度图像&#xff1a;基于输入图像中像素的边缘幅度的输出图像。 较大的边缘将在输出图像中生成具有较…

元岭村停车场的收费情况探寻

​虽然我居住在石岩园岭村范围&#xff0c;但是我没有把车子停到园岭村&#xff08;村着有些标语是园岭村有些是元岭村&#xff09;。主要是因为村里停车太需要技术了&#xff0c;不仅村里开车路况和人流复杂&#xff0c;而且停车位也很有限&#xff0c;车子一般是村里哪里有空…