# 中小企业云门户表单配置详解
在云门户设计流程中点击表单按钮,会跳转到表单一览界面。
在这里我们可以进行关于表单新建、复制、编辑等一系列的操作。
注:本文内容默认学习者已熟悉流程审批配置相关。
初次接触表单配置的情况下,不建议直接新建表单,可以复制已有的模板,通过修改模板里的组件来实现自定义表单的目的。
在表单一览界面点击新建表单按钮,在弹出的页面中输入表单名称,点击确定按钮。
在表单一览中找到我们新建的表单,一个有5个可操作按钮:
查看:预览表单内容。
复制:复制当前表单,内容完全一致,可修改名称。
设计:修改表单内容。
修改:修改表单名称。
删除:删除当前表单。
点击设计按钮,进入表单设计页面。
在左边的组件模板中共分为三大类:基础组件、特殊组件、布局组件。(现有资源字段目前无内容,请忽略)
# 1 基础组件
# 1.1 文本框
左键点击文本框控件拖动到右边区域,就可添加文本框了。
在填写表单时,文本框可输入汉字、数字、邮箱、地址等一系列的信息。
添加之后会自动弹出组件编辑页面,大多数组件的编辑页面都包含着6个配置部分:显示、数据、校验、API、布局、条件。
# 1.1.1 显示
在显示一栏中,我们可以添加文本框标题、设置提示信息(placeholder)等。
多个值按钮如果勾选,则该组件可以输入多个文本,如下图。
禁用按钮如果勾选的话,该组件为禁用状态,不可输入,一般在待办表单中使用。
清除隐藏的值、持久化、表视图按钮默认勾选,保持即可。
其他配置大多数时间用不上,感兴趣可自行了解。
# 1.1.2 数据
在数据一栏,我们可以设置该组件的初始默认值,也可以自定义默认值及设置计算的值。
关于计算值与自定义默认值在本文 4 组件进阶配置 会详细讲解。
# 1.1.3 校验
在校验一栏,我们可以设置该组件的校验条件:是否为必填项、是否唯一、文本限制长度、正则表达式。以及自定义验证错误时的提示消息。当输入的内容不满足验证条件时,会提示错误消息,且表单不能提交。
下图为组件选择了必须校验条件,右上角有“*”标志,如果该组件未填写,则表单不能提交。
关于自定义验证在本文 4 组件进阶配置 会详细讲解。
# 1.1.4 API
在API一栏,需要我们设置该组件的属性名称(即api),api为表单传递、数据存储时的key,不要设置成汉字。申请和待办表单中,同一组件的api需一致,数据才会传递下去。
# 1.1.5 布局
在布局一栏中,我们可以设置组件在表单中的布局信息,但大多数的时候保持默认即可。
# 1.1.6 条件
在条件一栏中,我们可以设置一些条件来控制该组件是否显示。例如,设置为当表单中内容这个组件输入内容为请假时,该组件才会显示,其他情况下不显示。
关于高级里的配置在本文第4章会详细讲解。 全都配置完成后点击保存按钮,该组件配置完成,在表单设计页面点击保存即可保存退出表单设计。
鼠标悬停在组件上方时,右上角会出现4个按钮,由左至又分别为:
设置按钮:点击进入组件编辑页面。
移动按钮:点击拖动组件变换位置。
复制按钮:点击可复制当前组件,除了api不一致,其他的配置都相同。
删除按钮:点击删除当前组件。
注:在后续组件介绍中,如果组件中没有介绍显示、数据、校验、API、布局、条件的配置相关的话,则配置与上文相同。
# 1.2 数字框
数字框在表单中为只能输入数字,常作用于金额、数量等。
在校验一栏中,我们可以设置数字框的输入最大、最小值校验条件。
# 1.3 密码框
在表单中加入密码框组件,可实现同登陆时输入密码相同的效果。
# 1.4 文本域
可以实现输入多行文本的组件。
在显示一栏可以输入行数来控制文本域中可见行数。
在检验一栏中,可以设置校验文本域的最小、最大长度。
# 1.5 复选框
每个复选框作为一个选项存在,通常与布局组件一起使用。(不常用)
在显示一栏,我们可以设置选项的位置和切换为单选按钮。
# 1.6 选择框(多选)
可以实现多选的组件,组件内有多个选项。(常用)
在显示栏中可以设置选项。
# 1.7 选择框(单选)
可以实现单选的下拉框组件。
该组件也可以实现多选,在显示栏中选中多个值,即可实现多选。
在数据一栏中可以输入下拉框选项。
选项的数据源类型有5类,通常使用其中3类。
Values:选项比较少时,通常使用该类别。项目模板中的内容默认即可,label为显示出来的数据,即为标题中的内容。可以在默认值中设置该组件的初始默认值。
Raw JSON:选项比较多时,通常使用该类别。在数据源原始JSON中输入选项的JSON就可以把选项全部加进来了。
在项目模板中,label需改成JSON中的编码,如改成name就会显示name的值。
在限制中可以设置显示的选项数量,一般设置为最大值就可以。搜索过滤器保持默认即可,在选择框内输入部分选项内容,进行模糊查询。
Custom:一般用于二级下拉菜单,根据另一个组件的值的变化而改变自身选项内容。关于二级下拉菜单的详细配置请看 4 组件进阶配置 。
# 1.8 单选按钮
适用于单选的按钮组件。
在显示中可以设置各个选项的值。
# 1.9 HTML元素
可以在其中配置HTML元素的组件,一般用作表单的表头。
# 1.10 按钮
按钮组件一般用于表单中的提交、同意、不同意按钮,表单中若没有按钮,则流程进行不下去。
因按钮配置比较复杂,在自定义新表单时建议复制已有模板表单,删除不用的组件,留下按钮组件。按钮的详细配置请看 4 组件进阶配置 。
# 2 特殊组件
# 2.1 邮件组件
邮箱组件会校验输入内容的格式,如不符合邮箱格式,则会报错,表单不能提交。
# 2.2 手机号
在手机号码组件中,在显示中设置输入掩码来控制手机号码格式校验。
# 2.3 日历
在日历组件-显示中的日期格式里,可以设置日期的显示格式,无特殊要求默认即可。
在date一栏中,默认为勾选启用日期输入、及显示周数,如不勾选,则不能输入日期、不显示周数。还可以设置关于日期的一些限制设定。
在时间一栏,默认勾选启用时间输入,若不需要时间输入,取消勾选即可。可以设置小时、分支步长。默认勾选12小时制,取消勾选时为24小时制。如果勾选只读输入,时间只能通过点击增加减少按钮调整。
# 2.4 日期
日期组件因其功能被日历组件包含,故基本不使用该组件。
在显示一栏,可以设置是否显示年、月、日,以及月、日选项的前后顺序。
在校验一栏,可以设置年、月、日选项是否必填。
# 2.5 时间
时间组件是提供时间选择的组件,不包含日期,通常很少使用。
在显示一栏的格式中,可以设置时间的显示格式。
# 2.6 货币
货币组件一般使用在和金钱相关的表单中,只能输入数字。
# 2.7 隐藏域
隐藏域组件存在在表单中时,填写表单时不会显示,一般作为传递一些不需要显示的数据的组件。最常用的的就是用隐藏域做摘要控件,关于摘要的配置请看 4 组件进阶配置 。
# 2.8 文件
文件组件一般作为上传附件使用,相关配置如下:
Storage选择URL,上传地址为:https://icloudportal.com:7443/api/attachments
可以勾选多个值,可以上传多个附件。
可以设置上传文件的最大、最小值。
其余选项默认即可。
附件的api固定为“attachments”。
# 2.9 签名
签名组件是可以在表单内电子签名的组件。
# 2.10 容器
容器控件属于布局控件,可在其中添加其他组件,但排列方式是固定的,如下图:
# 2.11 数据网格
数据网格控件同样可以在其中添加多个其他组件,但其特别之处就在于在填写表单时,点击”加上另一个“按钮,就可以再添加一组同样的表单组件,在下图标记处,可修改按钮的文本(默认文本为新增)。
# 2.12 编辑网格
编辑网格目前在模板中没有使用,不是很常用,其功能和数据网格相似,只是添加数据之后以表格形式表示、可编辑。
# 2.13 纵览
纵览组件的功能类似于调查问卷,在显示一栏中的questions和values添加值,即可设定纵览的内容。
# 2.14 新日历
新日历组件包含了日历组件的所有功能,并且新日历可以设置选择时间段、显示差值。在显示一栏中勾选是否为范围选择、是否显示差值。
# 2.15 假期、销假
假期和销假组件是专门为请假销假流程准备的,可直接使用请假销假表单模板。
# 2.16 自动编号
自动编号组件可以根据选择的编号格式,在流程申请时自动生成一个流水号。在数据一栏中选择编号格式。编号格式的配置在系统设置->流水号设置中,具体设置方法,请看 中小企业云门户使用手册->13.8流水号设置 。
# 2.17 合作伙伴
合作伙伴组件可以添加、选择本公司的客户、供应商,在填写表单时会显示已添加的合作伙伴,也可以添加新的合作伙伴。在数据一栏可选择合作伙伴的类型(多选)。
新增合作伙伴时,若该组织已经注册过云门户,则直接添加到合作伙伴的选项中。若没注册,则会直接在云门户中创建改组织,成为该组织的管理员,并添加到合作伙伴的选项中。因此,新增功能只有有管理员权限的人员才能使用。
# 2.18 选择框-特殊
选择框特殊组件是专门获取组织内信息的组件,包含:员工、部门、项目。可以在数据一栏中设置改选择框获取的数据源类型。
# 3 布局组件
# 3.1 列
列组件是可以在其中添加若干列其他组件的布局组件。在显示一栏,点击增加列新增一列,可以设置各个列的详细参数。
# 3.2 字段集合
字段集合组件和容器组件功能类似,目前使用的比较少。
# 3.3 嵌板
嵌板组件与容器功能类似,在显示一栏的主题中可以选择不同类型,不同的类型背景颜色不同。
# 3.4 表格
表格组件是列组件的升级版,在显示一栏可以设置行、列各有多少组件内容,最下方可以设置是否有条纹、边距、悬停等信息。
# 3.5 Well
well组件和容器等组件功能类似,目前使用比较多,大多作为按钮组件的外框。
# 4 组件进阶配置
# 4.1 自定义默认值、计算值
自定义默认值、计算值的代码配置规则都一样:
value=data.(表单中其他组件的api)(+-*)(数字、文字、data.(其他组件的值))
value:该组件的值。
data:全局变量,可以调取表单内组件的值。
其值可以等于数字、文字、表单内其他组件、加减乘除计算的结果等。默认值仅在表单加载时计算,计算值为实时计算。
下面我们可以看下日常报销中金额合计的计算值公式,计算的是报销费用中的金额的值的累计。
# 4.2 自定义验证
在自定义验证中,系统提供了“valid”、“input”2个新变量(component 目前为实装):
valid:验证结果,为“true"时,通过验证。其他时,为错误消息。
input:值为当前组件输入的值。
下面我们可以看下开始、结束时间的自定义验证,在结束时间组件的自定义验证中输入下图中的代码,当输入的结束时间大于开始事件时,验证不通过,报错“结束时间早于开始时间”。
# 4.3 条件-高级配置
在自定义条件中,我们提供了“show”这个变量,他的值为“true”和“false”,即该组件显示、不显示。
我们先创建一个选择控件来控制其他2个组件的显示。
在另外2个组件的条件-高级中输入下列代码。熟练之后可以写更复杂的代码。
最终成果如下,根据选项的值的不同,显示不同的组件。
# 4.4 二级下拉配置
关于二级下拉,我们用下边这个例子演示,首先新建一个城市的选择框,api为“ct”。
新建一个区的选择框,在数据一栏中,数据源类型选择Custom,在自定义值中输入下列代码:
var ddd={"沈阳":["于洪区","皇姑区"],"大连":["甘井子区","高新园区"]};
values=ddd[data.ct];
其中“ddd”为自定义的不同城市的区的内容,“values”根据城市组件的值,显示的值。
去掉项目模板中的label。
刷新一栏是选择某一个组件的值变化时,该组件刷新。
勾选再刷新是清除值,在城市这个组件数据变化时,该组件清除已选的值。
最终成果如下:
# 4.5 按钮配置
按钮常用的有3种:提交、同意、不同意。
提交按钮:通常用于申请表单,动作一栏选择Event,按钮事件输入submit。
在条件-高级中,输入下列代码。当data['entry_type']的值为1时,提交。值为2时待办,即同意、不同意。值为3时,我发起。值为4时,已办。
同意按钮:通常用于待办表单,动作一栏选择Event,按钮事件输入agree。
不同意按钮:动作一栏选择Event,按钮事件输入disagree。
# 4.6 摘要
摘要是我们根据用户需求定义的一个功能,所以他的api是固定不变的(summary)。摘要功能是通过隐藏域组件实现,在数据一栏的计算值中设置好摘要要显示的内容。
下图为请假申请时摘要显示的事由信息。