# 通用报表配置

在SatWeb中可以通过配置就显示自己的报表。报表可以是通过报表设计器设计的报表,也可以是PB的数据窗口编辑好后导出的.srd文件。

配置完成后报表可以自动支持条件查询、打印、导出、调整列宽、列隐藏、数据过滤等功能。

自定义报表界面: report

# 报表文件

# PB数据窗口

  1. 在PB中选择要使用的数据窗口,编辑好后,找到数据窗口点右键->export 导出数据窗口.srd文件
  2. 将导出的文件复制到server/plugins/data/ 目录下

说明: 示例的数据窗口名称为d_test1,前端页面请求报表文件时,插件代码会查找该目录的报表

# 报表文件

参考报表设计器创建报表文件

# 添加菜单

  1. 添加目录

打开菜单管理,点击新增按钮,弹出增加菜单界面。分别选择菜单图标,输入菜单名称、显示排序、路由地址。

如图:web

  1. 配置报表

在新增的通用报表目录行,点击新增

web

在弹出的配置界面进行如下配置: web

参数名称 说明
路由地址 填写不重复的路由,建议是报表的英文名称
组件路径 这里组件必须是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需要设置为数组