# 通用报表配置
在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需要设置为数组 |