用thinkphp快速搭建销售数据仪表盘,只需配置数据源和模板:①在report控制器中实现getsalesdata方法返回小写字段json;②html中添加图表容器并cdn引入echarts;③ajax获取数据后初始化折线图与柱状图;④通过top5字段或独立接口渲染销售额top5表格,金额需千分位格式化。

用ThinkPHP快速搭建销售数据仪表盘,无需从零写图表代码,只需配置数据源和模板即可渲染出含折线图、柱状图、销售额TOP5表格的实时看板。
准备基础数据接口
在 application/index/controller/Report.php 中新建 getSalesData 方法,返回标准 JSON 结构:日期(date)、销售额(amount)、订单数(orders)。
确保该方法路由已注册为 GET /report/sales,且控制器中已调用 $this->success() 封装数据,【返回字段名必须小写且与前端图表库字段映射一致】。
这一步不做,后续 ECharts 会因字段缺失渲染空白图。
引入ECharts并初始化容器
在模板文件 view/report/dashboard.html 的
内顶部添加:。在页面底部 script 标签内,通过 CDN 引入 ECharts 5.4+:<script src="https://cdn.jsdelivr.net/npm/<a%20style=" color: text-decoration:underline title="echarts" href="https://m.php.cn/zt/18169.html" target="_blank">echarts@5.4.3/dist/echarts.min.js"></script>。
注意:不要使用本地 echarts.js 文件,CDN 版本已压缩且自动适配移动端缩放。
用Ajax加载数据并渲染图表
在同一个 script 块中,按顺序执行以下操作:
① 初始化 ECharts 实例:const chart = echarts.init(document.getElementById('sales-chart'));
② 调用 $.get('/report/sales') 获取数据 → 在 success 回调中解构响应 data 列表 → 提取 date、amount、orders 字段生成 X/Y 数组。
③ 构造 option 配置对象,series 至少包含两项:type: 'line' 对应 amount,type: 'bar' 对应 orders;xAxis.data 设为日期数组;tooltip.trigger 设为 'axis'。
④ 执行 chart.setOption(option),并在 window.onresize 事件中绑定 chart.resize(),保证浏览器缩放时图表自适应。
追加销售TOP5表格组件
方法一:复用同一接口
在 getSalesData 方法中,对原始数据按 amount 降序排列后 slice(0,5),额外返回 top5 字段。
方法二:独立接口
新增 controller 方法 getTop5Sales,SQL 使用 ORDER BY amount DESC LIMIT 5,返回 name(商品名)和 amount 字段。
前端用
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











