选择类型表单
选择类型
选择类型包括「下拉当选」、「下拉多选」、「列表单选」、「列表多选」四种。通过选择类型可进行切换,如下图所示:
首先「表字段名称」是必须填写的,和新建数据填报时表名的设置规则是一致的,只能是小写字母或下划线开头,可以包含数字,而且各个表单项之间的表字段名称不能重复,因为这是要设置到数据表中的。而对于「使用已存在的表」的数据填报,表单项需要您选取已设置的表中存在的文本类型表字段。
其次可以设置表单的标题,宽度。开启了「必填项」,那么填报者在提交数据的时候该项就必须填写。
开启了「不允许重复值」,那么填报者在填写该表单的时候会进行后端校验,如果填写的值已经存在,会提示填报者,例如对于身份证号码的收集,就可以开启该选项。在开启了「不允许重复值」后,也可以设置「覆盖更新」,这样提交者发现提交信息错误的时候可以覆盖之前的提交信息(由于 palo 不支持 update 操作,所以对于 palo 类型的数据源不支持「覆盖更新」)。
「添加索引」的意义是为该表字段在数据表中建立查询索引,在分析数据阶段会加快查询速度,但并不意味着您需要在每个表单项上开启这个开关,您只需要在经常查询的字段上设置索引,例如身份证号码,电话号码等经常查询的字段可以开启这个设置。开启过多反而会影响数据插入的速度。
支持「默认值」的设置,对于单选,支持设置默认值为「第一项」、「第二项」、「最后一项」和「自定义」。对于多选支持设置「全选」、「选中前 N 项」、「自定义」。多选类型自定义的时候,多选值需要使用您自己设置的拼接符来隔开数据,如果没有设置拼接符的话,则使用英文逗号(,)隔开。
对于下拉类型的选择,「开启清除」后,填报者在输入错误的时候不用一个个删除,只需要点击叉号从而达到快速清除的目的。「开启搜索」后,对于数据较多的项可以进行搜索,达到快速设置的目的。
对于列表类型的选择,可以开启「垂直排列」并设置「展示列数」,可以一排展示多个,紧凑排列。
对于多选类型,支持设置多个选项是如何拼接的,默认为英文逗号(,),如果选择项中包含英文逗号,可以设置特殊的拼接符号。还支持开启「全选」功能。
此外对于下拉类型表单,还支持设置「标签文字」、「解释文字」和「提示文字」,对于列表类型表单,支持设置「标签文字」和「解释文字」,可以丰富表单项所要说明的信息。
标题设置
表单项的标题支持设置颜色、背景色、字体大小以及是否加粗:
边框设置
当开启了「浏览模式下显示边框」后,您就可以设置表单非编辑状态的边框样式,包括圆角大小、边框样式、边框宽度和颜色:
数据设置
选择类型的表单是可以数据绑定的,包括「数据模型」、「SQL 建模」、「API 方式」和 「静态录入」。针对「数据模型」和「SQL 建模」如果在绑定取值字段的时候,使用了数据值映射,如果想让用户提交数据的时候,数据库存入的数据是映射之前的值,则开启「存储原始值」即可,否则会存入映射后的值。
数据模型
支持设置名称和取值字段,名称字段不设置就和取值字段保持一致。
SQL 建模
选择对应的 SQL 模型后设置取值字段即可:
API 方式
示例 API: /openapi/demo/form?type=select
{
"status": 0, // 0表示成功,非0表示失败
"msg": "", // 失败时的提示信息
"data": [
{
"label": "name1", // 展示使用的字段
"value": "value1" // 具体的取值
},
{
"label": "name1", // 展示使用的字段
"value": "value1" // 具体的取值
},
...
]
}
还支持 API 的高级配置。
静态录入
静态录入方式支持从 Excel 里直接复制,或手动填写:
选择类型表单的联动
选择类型之间是可以设置联动的。如下图所示,想要选择「地区」后,省份的数据自动刷新为对应地区的省份,选择「省份」后,城市的数据自动刷新为对应省份的城市。
API 方式请参考 API 请求中的联动参数。
数据模型方式设置联动
想要选择「地区」后,省份的数据自动刷新为对应地区的省份,则在「地区」的选择组件中设置「与本表单联动的下级表单:」,选中「省份」的表单项后,可以配置「联动参数关联配置:」。
对于单选类型,可以配置的关联方式包括:
对于多选类型,可以配置的关联方式包括:
判断逻辑是 like(模糊匹配、以它开头、以它结尾)时,会自动生成多个 or...like
模式
SQL 建模方式设置联动
使用的伪语法格式为:{field = [dependence]}
或者 {field = [dependence || default]}
- 其中
field
是 SQL 中的字段名(根据您的数据表结构来决定的,和具体 SQL 有关); =
号是 SQL 判断逻辑词,可以支持不写判断逻辑,Sugar 会自动补全为 =,支持的逻辑词有:=, !=, <>, >=, <=, >, <, in, like, between, regexp
等;- 联动参数需要使用[]包围,并且必须输入 dependence 关键词;
default
为默认值,当上层图表还没有触发联动操作时,联动的下层图表就获取不到联动参数,因此支持给一个默认值,这个默认值是您自己填写的,例如{field = [dependence || haha]}
时的默认值就是haha
;
对于多选类型,如果判断逻辑词使用了 like
, 即 {field like %[dependence]%}
(模糊匹配)、 {field like [dependence]%}
(以它开头)、{field like %[dependence]}
(以它结尾),会自动生成多个 or...like
模式。如下图所示。特别提醒,{field like '%[dependence]%'}
或 {field like "%[dependence]%"}
也是有效的。
以上使用方式可以解决您绝大多数的问题,如需要更复杂的操作,可以查看 SQL 中关联联动参数,包括联动参数的高级模式和 SQL 中硬嵌入联动参数。