上一章我们搭好了工单列表,数据看得见了。但用户怎么提交新工单呢?这一章,我们来解决"数据填得进"的问题——搭建表单区块、配置字段联动,最后还能追踪工单的每一次变更。
我们要在工单列表页面添加一个「新建」按钮,点击后弹出表单让用户填写工单。

点击「添加」按钮,打开弹窗。
在弹窗中点击 「创建区块(Add block)」→ 数据区块 → 表单(添加)。
选择 「当前数据表(Current collection)」。弹窗已经关联了对应的数据表上下文,无需手动指定。

在表单中点击 「字段(Fields)」,勾选以下字段:
| 字段 | 配置要点 |
|---|---|
| 标题 | 必填(跟随全局) |
| 描述 | 大文本输入 |
| 状态 | 下拉选择(后面会通过联动规则设默认值) |
| 优先级 | 下拉选择 |
| 分类 | 关联字段,自动显示为下拉选择器 |
| 提交人 | 关联字段(后面会通过联动规则设默认值) |
| 处理人 | 关联字段 |

你会发现「标题」字段旁边自动带了红色星号 *——因为我们在第 2 章创建字段时已经设了必填,表单会自动继承数据表层面的必填规则,不用再单独配置。

小技巧:如果某个字段在数据表层面没有设为必填,但你希望在当前表单中要求必填,也可以在字段配置项中单独设置。



有些字段我们希望自动填好(比如状态默认「待处理」),有些字段需要根据条件动态变化(比如紧急工单必填描述)。目前 2.0 的默认值功能形态还在演进中,本教程统一使用 联动规则 来配置默认值和字段联动。

我们先为「状态」和「提交人」设置默认值:

注意字段值选择:设置值时,一定要先选择 「当前表单」 作为数据来源。如果是关联对象字段(如分类、提交人、处理人等多对一字段),必须选择对象属性本身,而不是展开后的子字段。
选择变量(如「当前用户」)时,需要先单击选中变量,再双击将其填充到选择栏中。



如果希望某个字段提交人不能修改(比如状态),可以在字段配置项中将 「显示模式(Display mode)」 设为 「只读(Readonly)」。

三种显示模式:可编辑(Editable)、只读(Readonly,禁止编辑但保留字段外观)、阅读模式(Easy-reading,仅显示文本)。

接下来添加一条有条件的联动规则:当用户选择优先级为「紧急」时,描述字段变成必填,提醒提交人务必写清楚情况。



现在测试一下:选择优先级为「紧急」,描述字段旁边会出现红色星号 *,表示必填。选择其他优先级则恢复为非必填。

最后根据我们学到的,简单调整一下布局

联动规则还能做什么? 除了设置默认值和控制必填,还可以控制字段的显示/隐藏、动态赋值。例如:当状态为「已关闭」时,隐藏处理人字段。后续章节遇到时我们再展开。
上一章我们给表格行加了「查看」按钮,点击会打开抽屉。现在来配置抽屉里的内容。

| 区域 | 字段 |
|---|---|
| 顶部 | 标题、状态(标签样式) |
| 主体 | 描述(大文本区域) |
| 侧边信息 | 分类名称、优先级、提交人、处理人、创建时间 |
如何放置一个大标题? 选择 字段 > markdown > 编辑 markdown > 编辑区域中选择变量 > 当前记录 > 标题 这样就将记录的标题动态插入到了 markdown 区块中。 删除默认文本,用 markdown 语法,将它变为 二级标题的样式 (即前面加上 ## 空格 即可)


页面中本身的标题字段可以去掉了,调整一下详情表单布局

小技巧:多个字段可以通过拖拽排列在同一行,让布局更紧凑美观。

点击「编辑」按钮,会打开一个新弹窗——里面需要放一个编辑表单。编辑表单的字段和新建表单几乎一样,难道要再从头勾选一遍?
不用。还记得新建表单吗?我们先把它保存为模板,编辑表单直接引用就行。
第一步:回到新建表单,保存为模板



我们的工单表单不复杂,选「引用」统一维护更省心。如果选「复制」,则每个表单拿到独立副本,各自修改互不影响。
第二步:在编辑弹窗中引用模板
你可能会想:直接通过 「创建区块 → 其他区块 → 区块模板」 来创建不就行了?试一下你会发现——这样创建出来的是一个添加表单,而且字段并没有自动填充。这是一个常见的坑。

正确的做法是:


以后想加字段?只需在模板中修改一次,新建和编辑表单同步更新。
除了弹窗编辑,NocoBase 还支持直接在表格中快速编辑——不用打开任何弹窗,鼠标移上去就能改。
开启方式有两处:

开启后,鼠标移到表格单元格上方会出现一个小铅笔图标,点击即可弹出该字段的编辑组件,修改后自动保存。

适合哪些场景? 快速编辑非常适合需要批量修改状态、处理人等字段的场景。比如管理员浏览工单列表时,可以直接点击「状态」列快速把工单从「待处理」改成「处理中」,不用一个个打开编辑。
工单系统最重要的一点是:谁在什么时候改了什么,必须有迹可循。NocoBase 内置了「历史记录」插件,帮我们自动记录每一次数据变更。


建议:不需要记录所有字段。像 ID、创建时间这些不会手动修改的字段,没必要追踪。只记录业务上有意义的字段变更。




这样,即使工单经手了多人处理,所有变更都一清二楚。
这一章我们完成了数据的完整生命周期:
从「看得见」到「填得进」再到「查得到」——我们的工单系统已经具备了基本的可用性。