表单/表格模块,在低代码开发平台中承担着数据录入、存储、分发功能,这些功能是企业进行信息化管理的基础。这一模块在无代码平台中,承担着「数据库」角色。
数据录入/存储
「数据录入」即企业员工输入数据,这个数据可以是一条工作日报记录、一条商品出库记录、也可以是一条客户信息记录。没有数据录入,一切信息化管理都无从谈起。
数据录入的交互通常以WEB表单形式进行。用户通过键盘输入、鼠标点选等形式录入数据并提交,即是一个典型的数据录入过程。
一个优秀的表单引擎,应具备以下特性。
1.丰富的字段
文本输入、数字输入、日期时间等字段是必不可少的。此外,网页中各种类型的input字段也应该支持,如checkbox,radio,file等等。
除上述WEB常用控件外,为了提高用户体验,还可以提供一些贴近使用场景的字段,例如用于输入手机号的字段,用于选择企业内用户的字段。
另外一个常见的字段是「计算字段」,可根据用户在其他字段的输入值,自动计算出对应数值(计算字段是在数据提交后计算得出)。
在表单中引入一些人工智能能力也较为常见,比如OCR字段,可根据用户上传文件自动识别文本。
2.丰富的字段属性
不同类型的字段,具备不同的属性,例如是否允许为空值、格式、取值范围。无代码平台的表单/表格设计工具,应支持用户定义字段的各类属性,以减少用户输入错误,确保数据的合规。
3.丰富的表单布局
另外一个影响表单使用体验的因素是表单的布局。众所周知填写表单是一件交互密集的工作,大部分人都不愿意填写冗长的表单。而将字段进行合理分类,合理布局,可在一定程度上改善填写效率和完成度。
4.跨表数据关联
在对实体进行数据建模时,为了合理的存储数据,我们会将不同实体对象存储到不同数据表中,并建立起一对一、一对多的关系。企业数据建模时上述场景也屡见不鲜,以客户订单管理为例,「客户」和「订单」是两个不同实体,因此在建立数据表时,我们会建立两张表,分别是「客户表」和「订单表」,而客户表的记录和订单表的记录,是一对多关系,即一个客户可以有多个订单,这种场景下,「客户表」为主表,而「订单表」是客户表的子表。
若要支持较为复杂的数据模型,此类「主表—子表」关系是低代码平台的必须功能。
5.对JavaScript事件的支持
数据分发
业务数据录入后,需根据企业组织架构,对数据进行合理的分发,例如日报场景下,A部门员工的日报,交由A部门主管查看;销售场景下,A地区的门店销售记录,交由A地区销售总监。
表单/表格工具所要做的,是将对应的数据,交由对应的角色查看&操作。为此,需要支持为不同的角色设置可查看的数据范围,可进行的数据操作。考虑到用户体验,还需支持对不同角色设置不同的数据视图。
1.数据范围
分发数据时,首先需要根据用户角色,限定他可查看的数据范围,是可以查看全部数据,还是自己部门的数据,还是仅能查看自己的数据。
我们可以通过两种方法来限定用户的数据范围,其一是根据数据中某字段的值来限制数据范围,其二是根据用户的组织架构来限制,例如,指定部门领导可查看本部门的数据,这种方法充分利用了已有的组织架构,授权较为方便。
2.数据操作权限
另外一个需考虑因素是数据分发后,用户可对数据执行的操作。典型的数据操作包括删除、修改。当允许用户修改数据时,还需要限定用户可修改哪些字段。
3.数据视图
所谓视图,包括数据列表视图和数据详情视图,这两个视图较大程度地影响用户体验。
先来说数据列表视图,这个概念具体指的是多条数据的排列展示方式。常见的数据视图有表格,卡片,日历,看板。
表格视图,即类Excel的表格,数据以行列形式展现,可最大程度利用屏幕,展示尽量多的数据,缺点是数据缺少特点。
卡片视图,类似淘宝的搜索结果页,是一种以图片为主的展现形式,当图片最能表现数据的特性时,卡片视图最为适用。
日历视图,即根据时间将数据进行分类,当时间字段是数据的突出维度时,适合使用这种视图。
看板视图**,即将数据分类并纵向显示,当数据中有一项重要的属性可用来分类,且此属性的值数量较有限时,看板视图是一种不错的选择,典型的如项目管理。
