| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /bi/dashboard/{dashboardCode}/data |
获取指定仪表盘的所有图表数据 |
路径参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| dashboardCode | String | 是 | 仪表盘编码:purchase_sales / warehouse / production_equipment / quality / hr_oa |
请求参数(JSON Body,可选):
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| startDate | String | 否 | 查询开始日期 |
| endDate | String | 否 | 查询结束日期 |
| 其他 | Any | 否 | 根据图表 SQL 中的占位符传递参数 |
响应格式:
{
"code": 0,
"data": [
{
"id": 1,
"name": "本月采购金额趋势",
"chartType": "line",
"refreshInterval": 60,
"position": {"x": 0, "y": 0, "w": 12, "h": 6},
"chartOptions": {"title": {"text": "采购金额趋势"}},
"data": [
{"date": "2026-01", "amount": 150000},
{"date": "2026-02", "amount": 200000}
]
}
]
}
图表类型(chartType):
| 值 | 说明 | ECharts 系列类型 |
|---|---|---|
| bar | 柱状图 | bar |
| line | 折线图 | line |
| pie | 饼图 | pie |
| scatter | 散点图 | scatter |
| gauge | 仪表盘 | gauge |
| table | 表格 | 自定义渲染 |
| number | 数字卡片 | 自定义渲染 |
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /bi/chart-config/create |
创建图表配置 |
| PUT | /bi/chart-config/update |
更新图表配置 |
| DELETE | /bi/chart-config/delete?id={id} |
删除图表配置 |
| GET | /bi/chart-config/get?id={id} |
获取图表配置详情 |
| GET | /bi/chart-config/page?dashboardId={}&pageNo={}&pageSize={} |
分页查询 |
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /bi/data-source-config/create |
创建数据源配置 |
| PUT | /bi/data-source-config/update |
更新数据源配置 |
| DELETE | /bi/data-source-config/delete?id={id} |
删除数据源配置 |
| GET | /bi/data-source-config/get?id={id} |
获取数据源配置详情 |
| GET | /bi/data-source-config/page?pageNo={}&pageSize={} |
分页查询 |
每个仪表盘页面(如 /bi/purchase-sales)结构为单页,页面加载后调用 POST /bi/dashboard/{code}/data 获取所有图表数据,根据每个图表的 position 字段({x, y, w, h})使用 CSS Grid 或 flex 布局渲染。
position 字段说明:
- x: 列起始位置(0-based)
- y: 行起始位置(0-based)
- w: 占用列数(总宽度12列)
- h: 占用行高
如果图表的 refreshInterval > 0,前端应使用 setInterval 定时重新请求该仪表盘数据。刷新过程中不显示 loading 遮罩,静默更新。
ECharts 6.1 已安装在前端项目中。渲染流程:
chartType 确定 ECharts 系列类型(bar→bar, line→line, pie→pie, scatter→scatter, gauge→gauge)chartOptions(JSON)作为 base ECharts optiondata 作为 series.data 或 dataset.source 填入chartType 为 table 或 number,使用自定义组件渲染而非 ECharts| 字段 | 展示位置 | 说明 |
|---|---|---|
| name | 图表标题 | 显示在图表上方 |
| chartType | - | 决定渲染方式 |
| refreshInterval | 图表角落 | 如 > 0,显示"每 N 秒刷新"标签 |
| position | - | 决定图表在页面中的位置和大小 |
| data | 图表内容 | 图表的数据来源 |
| error | 图表内容 | 如果 SQL 执行失败,显示错误信息 |
| 场景 | 规则 |
|---|---|
| 仪表盘禁用 | dashboard status=0 时,接口返回错误,前端显示提示 |
| 图表禁用 | chartConfig status=0 的图表不会出现在响应中 |
| SQL 执行失败 | chartData 中 data 为空数组,error 字段包含错误信息,前端在该图表位置显示错误提示 |
| 无参数请求 | params 为 null 时,SQL 中的占位符不会被替换,直接执行原始 SQL |
/bi/{code}(如 /bi/purchase-sales),组件统一使用 bi/dashboard/indexcode 通过路由地址获取,不同仪表盘用同一个页面组件query_sql 由后端执行,前端不直接操作 SQLchart_options 字段是完整或部分 ECharts option 对象,前端应深度 merge 到默认配置上bi_data_source_config)是后端概念,前端只需选择数据源 ID,不需要知道连接细节