设计填报报表时,如果需要修改和新增数据,则必须要给录入数据的单元格添加填报控件。
注:控件有两种类型,pc端控件跟移动端控件,一张报表中只能使用一种类型的控件,不能混用。
控件配置建议按以下顺序完成:
- 在作用域中创建绑定字段,并确认类型与控件匹配;上传控件必须绑定
array。 - 选择控件,填写控件名称、唯一标识和绑定字段。
- 配置属性;选择器类控件同时核对
label、value、disabled等字段映射。 - 配置事件、选项数据源、响应器和校验规则。
- 按钮需要提交数据时,再配置提交类型、请求信息和入参处理器。
- 进入预览,验证初始值、输入、清空、校验、联动和提交。
| 控件配置 | 重点检查 |
|---|---|
| 基础配置 | 控件标识唯一;绑定字段存在且类型正确 |
| 属性配置 | 默认值、禁用/只读、格式、字段映射符合数据结构 |
| 事件配置 | 事件类型与控件支持的事件一致 |
| 数据源配置 | 返回数组结构与 label/value 字段一致 |
| 响应器 | 依赖字段已绑定作用域;脚本返回类型符合目标属性 |
| 校验规则 | 触发方式、错误提示和回调路径均可覆盖 |
| 提交配置 | 入参处理器返回正确结构;请求地址或 RPC 方法可用 |
验证方法:不要只看控件是否显示。至少验证一次合法输入、一次非法输入、一次清空、一次依赖字段变化;有提交按钮时再检查最终提交数据结构。
控件设置
给单元格添加填报控件的方法:选中单元格,右边属性面板选择「控件设置」,点击「选择控件」下拉按钮,选择自己想要的控件即可

基础配置
控件名称:控件的名称定义(可以用中文去表示)
控件标识:每个控件都有一个唯一4位的标识
绑定字段:绑定作用域的字段(需要必选),用于绑定该表单字段,作用域中可以设置备注方便参照,注意,上传控件绑定的字段类型需为array

属性配置
属性配置是每个控件自己属性的一些配置:
如按钮控件:
(1)按钮内容: 按钮上显示的文本
(2)类型:按钮展示类型
(3)朴素按钮:是否是朴素按钮
(4)功能类型:普通、树节点按钮(专门用于树节点的按钮类型)、提交按钮(专门用于表单的提交)

pc端控件属性跟检索栏设置中的控件属性一致,可同时参考。
上传控件(需要说明的属性如下):
(1)接受文件类型:接受上传的文件类型,支持扩展名或者MIME类型,支持输入多种类型,需用","隔开,举例如下


(2)上传前钩子/删除前钩子(参数为file 返回值为true/false):
以使用上传前钩子限制用户上传图片格式及大小为例进行说明,如下图所示

上传控件对应字段类型数据结构为
[
{
name: 'example.jpg', // 文件名
url: '/uploads/example.jpg', // 文件地址
status: 'success', // 状态:success, uploading, failed
percentage: 100, // 上传进度
uid: 1638959373172, // 唯一标识
raw: File对象 // 原始文件对象(上传时)
}
]
移动端控件
按钮控件(移动端):
(1)按钮文本: 按钮上显示的文本
(2)按钮类型: 按钮展示类型
(3)按钮尺寸: 按钮的尺寸大小
(4)朴素按钮:是否是朴素按钮
(5)功能类型: 普通、树节点按钮(专门用于树节点的按钮类型)、提交按钮(专门用于表单的提交)
选择器控件(移动端):
(1)禁用: 选择器是否禁用
(2)尺寸: 选择器尺寸
(3)占位文本: 选择器占位文本
(4)可清空: 选择器内容是否可清空
(5)多选: 是否可多选
(6)label字段: 数据源中表示文本的字段
(7)value字段: 数据源中表示值的字段
(8)disabled字段: 数据源中表示禁用的字段
单选框组控件(移动端):
(1)禁用: 单选框组是否禁用
(2)排列方向: 单选框组的布局(横向或者纵向)
(3)label字段: 数据源中表示文本的字段
(4)value字段: 数据源中表示值的字段
(5)disabled字段: 数据源中表示禁用的字段
复选框组控件(移动端):
(1)禁用: 复选框组是否禁用
(2)排列方向: 复选框组的布局(横向或者纵向)
(2)启用最大勾选: 是否启用复选框组最多能勾选几个的功能。
(2)最大勾选数量:复选框组最多能勾选几个(启用最大勾选后显示)
(3)label字段: 数据源中表示文本的字段
(4)value字段: 数据源中表示值的字段
(5)disabled字段: 数据源中表示禁用的字段
日期时间选择器控件(移动端):
(1)禁用: 日期时间选择器是否禁用
(2)可清空: 日期时间选择器是否可清空
(3)类型: 日期时间选择器的类型
(4)占位文本: 日期时间选择器的占位文本
(5)值格式: 日期时间选择器的值格式(例如:yyyy-MM-dd)
输入框控件(移动端):
(1)禁用: 输入框是否禁用
(2)只读: 输入框是否可只读
(3)可清空: 输入框是否可清空
(3)类型: 输入框的类型
(3)尺寸: 输入框的尺寸大小
(3)最大长度: 输入框可以输入的文本最大长度
(3)占位文本: 输入框的占位文本
逻辑配置
- 事件配置
点击逻辑配置中的事件配置,可以配置控件的事件(每个控件的事件是不同的,比如:按钮控件的事件只有【点击事件】,选择器的事件有 【状态改变】、【失去焦点】、【清除】、【获得焦点】。

此处需要特别注意的是,对于上传控件,若应用于表单(需要在表单中获取已上传的文件)并需要对上传控件进行校验规则配置时,需要在给该控件添加【状态改变】和【移除文件时】事件用以绑定对应字段。
举例:若有一个上传控件,基础配置时绑定的字段为uploadFile,在事件配置中选择并添加事件【状态改变】和【移除文件时】,事件内容如下


若需要获取已上传文件接口返回的fileId数据用以表单数据绑定,则此处需要在作用域添加一个新的array类型字段,此处为fileData,在属性配置的上传地址输入对应地址后,在【文件上传成功时】添加对应事件,如下所示

详细示例详见:本页“上传控件”说明(配置状态改变、移除文件和上传成功事件后,在预览中验证字段回写) 《上传控件使用说明示例》
- 数据源配置
选择器、复选框、单选框组、复选框组等控件需要一些数据源(数据字典),选择这些控件后会在逻辑配置中出现【选项类型】配置。
目前支持:(可同时参考检索栏设置)
- 静态数据: 可配置静态数据源
- 字典数据: 可配置系统默认支持的字典数据
- 全局作用域: 可在全局作用域中配置字段(数组Array类型)
- rpc服务: 可配置rpc服务
- 数据库查询: 可以配置报表数据库查询数据集

数据源配置完成后,注意属性配置中的 label字段 和 value字段需要对应数据源中的对应字段

- 响应器规则配置
响应器规则就是控件之间的联动配置。
依赖字段:表示控制该控件响应的关联字段
属性响应:可以通过js表达式的写法, return返回需要的值来控制响应
(1) 显示/隐藏:表示可以控制控件的显示隐藏
(2)禁用:表示可以控制控件的禁用状态
(3)字段值:表示可以设置控件的值
(4)组件属性:表示可以设置控件的属性
例如:如下有一个 是否生育的checkbox的配置,当sex性别控件字段为1女性的时候,则显示该控件。

- 校验规则配置
校验规则表示表单中控件的校验
错误提示位置:表示校验中错误提示在控件中的提示位置
是否必填: 表示控件是否是必填的
(1)触发方式可以选择 blur 失去焦点、change控件值改变
(2)错误提示:填写需要的错误提示
自定义校验规则:
(1)触发方式可以选择 blur 失去焦点、change控件值改变
(2)校验类型:
【常用】表示常用的一些校验,默认已经设置好了
【正则】表示自己可以填写正则表达式进行校验,如手机校验正则 ^1[3-9]\d{9}$
【自定义校验】PC 端和移动端控件都通过校验函数读取当前值,并在失败时调用回调函数返回错误提示。具体写法见下方示例图。

常用与正则校验配置示例:

PC 端自定义校验示例:

移动端自定义校验示例:
- 提交按钮配置
如果按钮被设置成提交按钮,在逻辑配置中会出现提交配置选项
数据源类型:
【HTTP】 表示http接口类型
【RPC】表示bbp RPC接口类型
请求地址(HTTP类型):填写需要请求的地址
请求方式(HTTP类型):HTTP可以选择 POST、GET
请求头设置: HTTP服务可以自定义请求头
服务名(RPC类型):RPC的服务名
方法名(PRC类型):RPC的方法名
入参处理器:可以写js脚本来自定义接口的入参


样式配置
控件内容可以支持字体类型、字号、加粗,倾斜、字体颜色,和垂直布局方式的修改。

动态增加控件配置
指在表单运行时(非设计态),允许用户根据业务需要,动态新增一组结构一致或可配置的表单控件行、区域,
该能力主要用于处理不确定条数、可扩展明细、多行录入等业务场景,是对静态表单结构的重要补充。
定义动态增加的数据结构
在作用域配置中,定义动态增加的数据变量。例如:
定义变量testlsit , 类型选择list结构,定义schema数据结构。 其他默认值等都与作用域配置相同。
NOTICE: 该list数据结构最终返回给接口是一个数组


定义动态增加的插入和删除按钮
(1)插入按钮
在报表维护的单元格中,定义需要插入动态行的按钮。
控件设置中:
- 选择按钮控件
- 按钮功能类型选择“插入按钮”
- 插入字段选择“作用域中定义好的需要插入的数据结构字段”
- 插入行选择报表设计界面中的开始行号——结束行号

(2)删除按钮
动态增加行、区域需要删除的情况下,需要定义删除按钮。
- 在插入行选择的开始行号——结束行号区间范围内的单元格中设置按钮控件
- 功能类型选择“删除按钮”
- 插入字段选择“作用域中定义好的需要插入的数据结构字段”(与插入按钮的字段变量一致)

定义动态增加的控件行、区域
(1)基本设置
在需要动态插入的行中定义控件,跟非动态行控件设置唯一的区别是绑定字段需要 绑定动态插入变量下的子字段。
举例:之前在作用域中已经定义了 testlist 数据,testlist的Schema 数据结构中有 name 子字段,这里就选择对应testlist下的子字段就可以。

(2)逻辑设置
动态增加行控件的逻辑配置基本与非动态增加控件的逻辑配置相同。 其中响应器规则有所区别
响应器规则设置举例:
响应器规则的来源字段需要选择相同作用域变量下的子字段

NOTICE: 联动响应的作用范围是在增加行、区域的内部,不能跟动态增加行、区域外部联动

