1. 从零开始:为什么你的第一张表单如此重要
如果你刚接触Workfine,或者任何一款低代码/零代码平台,心里可能都会有个疑问:不就是拖拖拽拽做个表单吗,有什么难的?我刚开始也是这么想的,结果第一张表单就做得一团糟,字段乱放、逻辑不通,最后不得不推倒重来。所以,今天我们不谈那些复杂的功能,就扎扎实实地聊聊,如何从零开始,创建一张真正能用、好用、甚至有点“专业范儿”的Workfine表单。这不仅是入门的第一步,更是你未来搭建所有应用的地基。
一张设计良好的表单,远不止是数据的收集器。它是用户与你的业务系统交互的第一触点,决定了数据录入的效率和准确性,更影响着后续流程、报表和分析的成败。很多新手会犯一个错误:一上来就追求酷炫的界面和复杂的联动,却忽略了表单最基础的结构与逻辑。结果就是,表单看起来花里胡哨,用起来却处处别扭,数据录入员怨声载道。我的经验是,磨刀不误砍柴工,花30分钟规划好你的第一张表单,能为你后续节省3个小时的返工时间。
那么,创建一张表单到底要做什么?简单来说,就是三步:想清楚(业务需求与字段设计)、搭出来(在Workfine中可视化搭建)、调顺畅(设置校验与交互)。接下来,我们就围绕这三个核心环节,一步步拆解,并融入我踩过的坑和总结的技巧,让你不仅能做出表单,更能理解为什么这么做。
2. 动手前的关键一步:业务梳理与字段设计清单
在打开Workfine设计器之前,请务必先离开电脑,拿起纸笔(或打开一个思维导图工具)。这一步的思考深度,直接决定了你表单的成败。我们以创建一个简单的“员工信息登记表”为例,来演示这个过程。
2.1 明确表单的核心目的与使用场景
首先问自己:这张表单用来干什么?谁会用?在什么环境下用?
- 核心目的:收集新入职员工的完整基本信息,用于建立人事档案。
- 主要用户:HR部门的同事。他们可能对电脑操作熟练,但希望流程尽可能简单、快速。
- 使用场景:通常在办公室电脑上填写,网络环境稳定。
基于以上分析,我们就能得出一些设计原则:字段要全但逻辑清晰,避免歧义;操作要简单,减少打字,多用选择;要考虑到后续查询和统计的便利性。
2.2 设计字段清单:类型、逻辑与命名规范
这是最核心的一步。不要一上来就在软件里添加字段,先在表格里规划好。下面是我设计“员工信息登记表”时的字段清单:
| 字段显示名称 | 字段类型(Workfine中) | 是否必填 | 填写说明 / 逻辑 | 设计理由与技巧 |
|---|---|---|---|---|
| 员工工号 | 单行文本 | 是 | 系统自动生成,格式:年份+部门代码+序号,如202405001 | 技巧:这类唯一标识字段,强烈建议设置“自动编号”或通过公式生成,避免人工录入错误和重复。这是数据规范的基石。 |
| 姓名 | 单行文本 | 是 | - | 基础字段,没什么好说的。 |
| 性别 | 单选按钮组 | 是 | 选项:男、女 | 技巧:能用选择框的,绝不用文本框。这能保证数据规范,也方便后续按性别筛选统计。Workfine的“数据字典”功能可以统一管理这类选项。 |
| 所属部门 | 下拉框 | 是 | 选项需与公司组织架构同步 | 关键:这里要关联“部门信息表”。不要手动输入部门名称!建立关联(下拉关联表单),可以确保数据一致性,也是实现后续“联动”的基础(如根据部门过滤岗位)。 |
| 岗位 | 下拉框 | 是 | 选项根据所选部门动态过滤 | 联动设计:这是第一个小难点。岗位下拉框的数据源应设置为“岗位表”,并设置过滤条件为“部门ID等于当前表单所选部门的ID”。这样选了部门,岗位列表就只显示该部门的岗位。 |
| 入职日期 | 日期 | 是 | 默认值为当天 | 技巧:设置合理的默认值能提升效率。对于日期,默认今天很常见。 |
| 手机号 | 单行文本 | 是 | 需要格式校验(11位数字) | 校验规则:这是表单健壮性的关键。在Workfine中,可以给该字段设置“正则表达式”校验规则,例如^1[3-9]\d{9}$,并给出友好的错误提示“请输入正确的11位手机号码”。 |
| 邮箱 | 单行文本 | 是 | 需要格式校验 | 同样使用正则校验,如^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$。 |
| 紧急联系人 | 单行文本 | 否 | - | 非核心信息,设为非必填。 |
| 紧急联系电话 | 单行文本 | 否 | - | 同上。这里可以加一个逻辑:如果填写了“紧急联系人”,则此字段变为必填。这需要用到“表单规则”。 |
| 个人照片 | 图片上传 | 否 | 限制大小2MB,格式为JPG/PNG | 注意:文件类字段要记得在后台设置大小和类型限制,保护服务器空间。 |
| 备注 | 多行文本 | 否 | - | 用于记录特殊情况。 |
避坑经验:字段的“名称”(Name)和“显示名称”(Label)是两回事。在Workfine设计时,系统会为每个字段生成一个唯一的“名称”(通常是英文或拼音),用于内部逻辑和公式调用。而“显示名称”是用户看到的。建议在设计时,有意识地将“名称”设置为有意义的英文或拼音缩写(如
emp_id,dept_name),这在后期编写复杂公式或与外部系统对接时,会清晰得多。不要全部用默认的field1、field2。
3. 在Workfine设计器中实现你的蓝图
规划好了,我们就可以进入实战环节。打开Workfine,创建一个新的应用或直接在新的表单设计界面开始。
3.1 创建表单与基础布局
- 新建表单:在应用管理界面,点击“新建表单”。给表单起一个易懂的名字,如“员工信息登记表”。
- 选择模板(可选):Workfine提供了一些模板,但对于学习,建议从“空白表单”开始,这样你能控制每一个元素。
- 理解画布:中间是设计画布,左侧是组件库(字段控件),右侧是当前选中组件的属性面板。布局方式通常是上下结构或分组布局。
- 使用“分组”和“标签页”:对于字段较多的表单,不要把所有字段平铺出来。像我们上面设计的字段,可以这样分组:
- 分组1:基本信息(员工工号、姓名、性别、部门、岗位、入职日期)
- 分组2:联系方式(手机号、邮箱)
- 分组3:其他信息(紧急联系人、紧急联系电话、个人照片、备注) 在Workfine左侧组件库的“布局”中,找到“分组”控件,拖到画布上,然后修改分组标题。再把对应的字段拖进分组框内。这样表单结构会非常清晰。
3.2 逐个添加并配置字段
根据我们之前的清单,从左侧拖拽对应的控件到画布或分组内。
- 单行文本:用于姓名、手机号等。拖拽后,在右侧属性面板修改“显示名称”为“姓名”,勾选“必填”。
- 单选按钮组:用于性别。拖拽后,在属性面板的“选项”中,手动添加“男”和“女”两个选项。更优的做法是,在“数据字典”中先创建一个“性别”字典,然后这里选择“从数据字典获取”。这样全系统都能统一。
- 下拉框:这是重点和难点。
- 所属部门:拖拽一个下拉框,显示名称设为“所属部门”。在属性面板的“数据来源”处,选择“关联其他表单”,然后选择你系统中已有的“部门信息表”。设置“显示字段”为部门名称,“值字段”为部门ID(通常是主键)。这样,下拉框显示的是部门名,存储的值是ID。
- 岗位:再拖拽一个下拉框,显示名称设为“岗位”。同样选择“关联其他表单”为“岗位表”。关键步骤来了——设置联动过滤:在属性面板找到“过滤条件”(或“数据过滤”),点击添加条件。条件通常设为:
[岗位表.部门ID] 等于 [本表单.所属部门]。注意,这里的[本表单.所属部门]需要你点选出来,它指的是我们上一个下拉框存储的“值”(即部门ID)。这样,联动就实现了。
- 日期:拖拽日期控件,设置默认值为“当前日期”。
- 图片上传:拖拽图片控件,在属性面板可以设置“最大文件数量”(通常为1),“文件大小限制”(如2048KB),“允许的文件类型”(如
.jpg,.png)。
3.3 设置数据校验与表单规则
这是让表单变得“智能”和“健壮”的关键。
- 字段校验:
- 选中“手机号”字段,在右侧属性面板找到“校验规则”。点击“添加规则”,选择“正则表达式”。在表达式框里填入手机号的正则:
^1[3-9]\d{9}$,在错误提示框里填写“请输入正确的11位中国大陆手机号码”。 - 同理,为“邮箱”字段添加邮箱格式的正则校验。
- 选中“手机号”字段,在右侧属性面板找到“校验规则”。点击“添加规则”,选择“正则表达式”。在表达式框里填入手机号的正则:
- 表单规则(逻辑显隐/必填): 我们希望实现:当“紧急联系人”不为空时,“紧急联系电话”才变为必填。
- 在表单设计器上方,找到“表单规则”或“业务规则”按钮并点击。
- 新建一条规则。规则名称可以叫“紧急联系人电话必填”。
- 触发条件:设置当“紧急联系人”字段“值改变”时触发。
- 执行动作:添加一个“设置组件属性”的动作。
- 目标组件:选择“紧急联系电话”字段。
- 属性:选择“必填”。
- 值:这里需要写一个公式来判断。公式可以写成:
IF(ISEMPTY([紧急联系人]), false, true)。意思是:如果紧急联系人为空,则不必填(false);否则必填(true)。
- 保存规则。这样,动态必填的逻辑就实现了。
4. 深入实战:处理表单提交与数据管理
表单设计好不是终点,数据怎么进来、怎么查看、怎么修改,同样重要。
4.1 理解Workfine的数据提交模式
Workfine的表单通常有两种视图模式:“填写视图”和“查看/编辑视图”。你刚刚设计的是“填写视图”。当用户保存后,这条数据就生成了。
- 新增数据:用户打开表单的“填写视图”,输入内容后点击“提交”或“保存”,一条新记录就被创建到与这个表单关联的数据表中。
- 编辑已有数据:通常我们会为这个表单创建一个“列表页面”(或称为报表、数据视图)。在列表页面,每条数据后面会有“编辑”按钮。点击后,会打开一个“编辑视图”,这个视图的布局可以和填写视图完全一样,但它是加载了已有数据的。这里有个坑:如果你在填写视图里用了很多“默认值”(如当天日期),在编辑视图里,这个默认值逻辑可能会错误地覆盖已保存的数据。所以,对于默认值,要思考它是否只在新增时有效。Workfine的高级函数如
IFNEW()可以判断当前是新增还是编辑,从而实现逻辑区分。
4.2 创建关联的数据列表与查询
单张表单是孤立的,我们需要一个入口来查看和管理所有已提交的数据。
- 新建报表(列表页面):在应用内,新建一个“报表”。
- 选择数据源:数据源就选择你刚刚创建的“员工信息登记表”。
- 设计列表:拖拽你需要在列表上显示的字段,如员工工号、姓名、部门、岗位、入职日期。你可以设置表格样式、排序规则(如按入职日期倒序)。
- 添加操作按钮:在表格的操作列,通常系统会默认生成“查看”、“编辑”、“删除”按钮。确保“编辑”按钮存在,这样用户就能点进去修改信息了。
- 添加查询条件:为了让HR能快速找到人,我们需要添加查询面板。在报表设计器中,添加“筛选组件”。比如,添加一个“部门”下拉筛选框,其数据源同样关联“部门信息表”。再添加一个“姓名”的文本模糊搜索框。这样,一个功能完整的员工信息管理界面就出来了。
4.3 关于“清空表单内容”的实现
网络热词中提到了“清空表单内容”,这在两种场景下很常见:
- 用户手动清空:在填写视图,提供一个“重置”或“清空”按钮。这个实现很简单:在表单设计器,添加一个“按钮”组件,在按钮的点击事件中,选择“表单操作” -> “重置表单”即可。
- 流程节点后自动清空:在审批流中,上一个节点填写了某些字段,到下一个节点时,希望这些字段被锁定或清空。这需要用到Workfine的流程设计功能,在流程节点的“表单权限”设置中,可以精细控制每个字段在某个节点是“可见、可编辑、必填、隐藏”还是“清空值”。
5. 进阶思考:从表单到应用
当你成功创建并运行了第一张表单后,你的思维应该从“做一张表”切换到“构建一个应用模块”。
- 数据关联与整合:“员工信息登记表”里的部门、岗位数据来自其他表。这仅仅是开始。你还可以创建“打卡记录表”关联员工工号,“请假申请单”关联员工工号和部门,“薪资表”关联员工工号和岗位。通过字段关联,所有数据就盘活了。
- 流程驱动:单纯的表单是静态的。很多业务场景需要流动。例如,“员工转正申请”可以是一个表单,然后配置一个审批流程:员工提交 → 直属上级审批 → HR备案。Workfine的流程引擎可以轻松将你的表单串联起来,实现业务自动化。
- 仪表盘与数据分析:当数据积累起来后,你可以在“仪表盘”中创建图表:各部门人数分布、每月入职人数趋势、员工学历构成等。这才是数据的最终价值体现。
回过头看,创建第一张表单的过程,本质上是一个将零散的业务需求,通过结构化的思维,转化为数字化模型的过程。Workfine这类工具降低了技术实现的门槛,但并没有降低业务分析和逻辑设计的要求。把字段清单表格画好,把联动关系想清楚,把校验规则定严格,你的第一张表单就成功了一大半。剩下的,就是在设计器中耐心地把它实现出来,并不断测试、调整。记住,好的表单是“用”出来的,多听听实际使用者的反馈,你的低代码搭建之路会越走越顺。