# 通用报表配置
在SatWeb中可以通过配置就显示自己的报表。报表可以是通过报表设计器
设计的报表,也可以是PB的数据窗口
编辑好后导出的.srd
文件。
配置完成后报表可以自动支持条件查询、打印、导出、调整列宽、列隐藏、数据过滤等功能。
自定义报表界面:
# 报表文件
# PB数据窗口
- 在PB中选择要使用的数据窗口,编辑好后,找到数据窗口点右键->export 导出数据窗口
.srd文件
- 将导出的文件复制到server/plugins/data/ 目录下
说明: 示例的数据窗口名称为d_test1,前端页面请求报表文件时,插件代码会查找该目录的报表
# 报表文件
参考报表设计器创建报表文件
# 添加菜单
- 添加目录
打开菜单管理,点击新增
按钮,弹出增加菜单界面。分别选择菜单图标,输入菜单名称、显示排序、路由地址。
如图:
- 配置报表
在新增的通用报表目录行,点击新增

在弹出的配置界面进行如下配置:
参数名称 | 说明 |
---|---|
路由地址 | 填写不重复的路由,建议是报表的英文名称 |
组件路径 | 这里组件必须是query |
路由参数 | 参数的json字符串,可以定义报表的查询条件、报表文件、是否自动检索等信息 |
# 路由参数
路由参数是通用报表的重要选项,它是一个json字符串,配置了报表的查询条件、报表文件、是否自动检索等信息。
路由参数建议在vscode
或者nodepad++
中编写好,然后复制到字段中。
路由参数示例如下:
{
"name": "customers",
"config": [
{
"name": "CustomerID",
"label": "用户编号",
"type": "input",
"vtype": "string"
},
{
"name": "CompanyName",
"label": "公司名称",
"type": "input",
"vtype": "string"
},
{
"name": "OrderDate",
"dbname":"m.OrderDate",
"label": "日期",
"type": "daterange",
"vtype": "datetime",
"value":["1996-07-04","1996-07-04"]
},
{
"name": "Region",
"label": "地区",
"type": "select",
"vtype": "number",
"option":[{"value":1,"label":"上海"},{"value":2,"label":"北京"}]
}
],
"format": true,
"retrieve": true
}
# 路由参数说明
名称 | 默认值 | 说明 |
---|---|---|
name | '' | 报表文件,即放在server/plugins/data 目录下面的文件 |
config | [] | 查询控件 |
format | false | 是否自动转换,默认为false ,如果为true ,自动将报表格式进行转换,支持过滤、排序、字段大小、拖动改变字段顺序等 |
retrieve | true | 报表打开时是否自动获取数据 |
# config参数说明
config配置查询条件如何展示
名称 | 默认值 | 说明 |
---|---|---|
name | 参数名称,不允许为空 | |
label | 显示名称 | |
type | input | 控件类型,可以是input ,select ,date ,datarange |
dbname | 数据库字段的名称,条件会和原来的查询语句进行组合,数据库字段可能与name 设置的不同,如m.OrderDate 或者是公式LastName+FirstName ,如果相同可以不必要设置 | |
vtype | string | 参数类型,可以是string ,number ,date ,datetime |
value | 默认值,如果为daterange 需要设置为数组 |