报表设计器
报表 Report 模块用于承载业务报表、数据大屏和可视化分析。RuoYi Office 当前管理端提供两个入口:积木报表设计器和 GoView 大屏设计器。报表设计器页面位于 apps/web-antd/src/views/report/jmreport/index.vue,通过 iframe 打开后端 /jmreport/list,并携带当前登录用户的 refreshToken。
能力边界
| 能力 | 管理端入口 | 访问方式 | 说明 |
|---|---|---|---|
| 报表设计器 | views/report/jmreport/index.vue | ${VITE_BASE_URL}/jmreport/list?token=... | 面向表格报表、查询条件、打印导出等场景 |
| 大屏设计器 | views/report/goview/index.vue | ${VITE_GOVIEW_URL}?accessToken=... | 面向可视化大屏、地图、图表和看板 |
| GoView 数据接口 | GoViewDataController | /report/go-view/data/* | 提供 SQL、HTTP 示例数据查询 |
| GoView 项目接口 | GoViewProjectController | /report/go-view/project/* | 保存和管理大屏项目 |
报表设计器接入链路
使用建议
- 先明确数据来源:报表字段、查询条件和权限边界要先与业务表或接口确认,避免设计器里反复试错。
- 按业务域命名报表:例如“OA 用车申请统计”“CRM 回款明细”,便于权限配置和后续维护。
- 避免在报表中写复杂业务逻辑:复杂统计优先沉淀为后端视图、接口或中间表,设计器负责展示和筛选。
- 上线前做权限复核:报表往往包含经营数据,发布前确认菜单权限、数据权限和租户隔离。
常见排查
| 现象 | 优先检查 |
|---|---|
| iframe 空白或跳登录 | VITE_BASE_URL 是否正确;token 是否随 URL 带入;后端 /jmreport/list 是否可访问 |
| 报表查询无数据 | 数据源、SQL、参数名、租户条件是否正确 |
| 导出或打印异常 | 报表模板、浏览器弹窗拦截、后端文件权限 |
| 权限越界 | 菜单权限、报表数据源 SQL、后端数据权限注解 |
与大屏的区别
- 报表设计器更适合列表、明细、交叉表、打印和导出。
- GoView 大屏更适合图表、地图、实时看板和展示终端。
- 如果一个页面既需要明细查询又需要图表展示,建议报表和大屏分别维护,避免单页过重。
