报表

Posted by zl on 二月 14, 2023

概念: 一个类型的所有记录的显示,也叫表格,或者Grid,类似于Excel表的多条记录。

作用: 通过对报表的配置,报表的各种人性化需求操作。

1.权限

内容: 增删改查、导入、导出、批量删除的权限

语法:{"AllUser":true,"AllAuthenticatedUser":false,"Users":[],"Depart":[],"Roles":[]}

2、GridButtons

内容: 表格中一行的按钮配置

语法:[{"ButtonName":"测试","Url":"https://www.baidu.com","Visible":"dataItem.XingMing != '陈培正'"}]

解释:

  1. Url中会自动传一个当前数据项的Id,并追加到Url的后面,所以应该构造带当前id的链接。

比如打印的url:Qwe.ContentFlow.Print/Print/Index?TemplateId=4fr9gt1c57rvx34gv7a2pe7fm2&DataId=4hv0jk5z1m3y0v4exyaynxeyde

应该在Url中写:

[{"ButtonName":"打印","Url":"/Qwe.ContentFlow.Print/Print/Index?TemplateId=4fr9gt1c57rvx34gv7a2pe7fm2&DataId=","Visible":"true"}]

  1. 系统会根据Id,取到该条数据项的所有内容。并把内容传到相应的链接中。传过去的内容引用方法为liquid表达式 {Context.Content.***.Value}(双大括号)

例如:{Context.Content.***.Value}(双大括号)

  1. Fields

内容: 显示字段的配置;默认过滤字段的配置

语法: [{"Name":"XueXiao","Hidden":false,"Foreignkey":null,"DataSource":null,"Type":null,"DisplayName":"学校","Width":0,"Filter":true,"Sort":false,"Template":null},{"Name":"PiCi","Hidden":false,"Foreignkey":null,"DataSource":null,"Type":null,"DisplayName":"批次","Width":0,"Filter":true,"Sort":false,"Template":null},{"Name":"BGRQ","Hidden":false,"Foreignkey":null,"DataSource":null,"Type":null,"DisplayName":"报告日期","Width":0,"Filter":false,"Sort":false,"Template":null}]

解释: 1."Filter":true,设置该字段为默认的过滤字段。

  1. FilterString

内容: 过滤内容的配置

语法: return {"logic":"and","filters":[{"field":"xingming","operator":"eq","value":Context.UserInfo.Properties.XueXiao.XueXiao.BanJi.Value}]}

  1. PageSizes

内容: 一页有多少条记录

语法: 数字,例如:10,表示一页有10条记录

  1. BatchPrint

说明: 批量打印

语法: [{"TemplateType":0,"Url":"4a269ecdtmyc3472v1c0hkfp52","OnlyOne":false,"ContentId":"11111","ButtonName":"阶段1","DetailOnly":false,"ComputedPermissions":false,"Permissions":{"AllUser":true,"AllAuthenticatedUser":false,"Users":[],"Depart":[],"Roles":[]},"BatchFields":[{"FieldName":"A","UpdateMode":0,"Value":"Jieduan1","Name":null,"IsDisplay":false,"IsEdit":false,"Updateable":false,"IsBriefing":false,"IsImport":false,"IsHidden":false,"IsRequired":false,"SubformCreate":false,"SubformDelete":false}],"CheckItems":null},{"TemplateType":0,"Url":"4a269ecdtmyc3472v1c0hkfp52","OnlyOne":false,"ContentId":"111","ButtonName":"阶段2","DetailOnly":false,"ComputedPermissions":false,"Permissions":{"AllUser":true,"AllAuthenticatedUser":false,"Users":[],"Depart":[],"Roles":[]},"BatchFields":[{"FieldName":"A","UpdateMode":0,"Value":"Jieduan2","Name":null,"IsDisplay":false,"IsEdit":false,"Updateable":false,"IsBriefing":false,"IsImport":false,"IsHidden":false,"IsRequired":false,"SubformCreate":false,"SubformDelete":false}],"CheckItems":null}]

说明: TemplateType 模板类型:0 代表pdf模板,1 代表Word模板

​ Url: 模板的Id,把选中的内容打印到模板中

​ ContentId:当前打印按钮的Id, 当前页不重复就可以。

​ ButtonName:按钮的显示名称

​ Permissions:权限 {"AllUser":true,"AllAuthenticatedUser":false,"Users":[],"Depart":[],"Roles":[]}

​ BatchFields:传入打印模板的内容字段。本例中,阶段1按钮,传入模板一个名字为“A”的数据,数据值为“Jieduan1”

  1. BatchUpdate

说明: 批量更新

语法:[{"ShowModal":false,"Defitions":null,"SubmitCheckItems":null,"OnlyOne":false,"ContentId":null,"ButtonName":null,"DetailOnly":false,"ComputedPermissions":false,"Permissions":{"AllUser":true,"AllAuthenticatedUser":false,"Users":[],"Depart":[],"Roles":[]},"BatchFields":null,"CheckItems":null}]

说明: ShowModal 是否弹出框:false 不出现弹出框,true 代表有弹出框

​ SubmitCheckItems: 如果有弹出框,弹出框表单的校验。

​ ContentId:当前按钮的Id, 当前页不重复就可以。

​ ButtonName:按钮的显示名称

​ Permissions:权限 {"AllUser":true,"AllAuthenticatedUser":false,"Users":[],"Depart":[],"Roles":[]}

​ BatchFields:要更新的字段。本例中,阶段1按钮,传入模板一个名字为“A”的数据,数据值为“Jieduan1”

  1. CreateContents

说明: 通过grid创建内容

语法: [{"ContentType":null,"OnlyOne":false,"ContentId":null,"ButtonName":null,"DetailOnly":false,"ComputedPermissions":false,"Permissions":{"AllUser":true,"AllAuthenticatedUser":false,"Users":[],"Depart":[],"Roles":[]},"BatchFields":[{"FieldName":null,"UpdateMode":0,"Value":null,"Name":null,"IsDisplay":false,"IsEdit":false,"Updateable":false,"IsBriefing":false,"IsImport":false,"IsHidden":false,"IsRequired":false,"SubformCreate":false,"SubformDelete":false}],"CheckItems":null}]

说明: ContentType 创建的类型名

​ ContentId:当前按钮的Id, 当前页不重复就可以。

​ ButtonName:按钮的显示名称

​ Permissions:权限 {"AllUser":true,"AllAuthenticatedUser":false,"Users":[],"Depart":[],"Roles":[]}

​ BatchFields:要创建内容字段集合。本例中,阶段1按钮,传入模板一个名字为“A”的数据,数据值为“Jieduan1”