【2.0 教程】第 6 章:工作流,让系统自动干活

【2.0 教程】第 6 章:工作流,让系统自动干活svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



 
  
    
     
      
     

已发布教程速览:

NocoBase 2.0 入门教程 —— IT 工单系统

第一章:认识 NocoBase — 5 分钟跑起来

第二章:数据建模 — 给工单系统搭骨架

第三章:搭建页面 — 让数据看得见

第四章:表单与详情 — 让数据填得进

第五章:用户与权限 — 谁能看什么

第六章:工作流 — 让系统自己动起来

第七章:仪表盘 — 一眼看全局

本文为NocoBase V2 系列教程第 6 章:工作流 — 让系统自动干活

在这个系列里,我们会从零开始,用 NocoBase 搭建一个极简的工单系统(HelpDesk)。整个系统只需要 2 张数据表,不写一行代码,即可实现工单提交、分类管理、变更追踪、权限控制和数据仪表盘。

上一章我们给系统加上了权限,不同角色看到不同的内容。但所有操作还是靠人手动完成——新工单来了要自己去看,状态改了没人知道。

这一章,我们用 NocoBase 的工作流让系统自动干活——配置条件判断和自动更新节点,实现工单状态自动流转和创建时间自动记录。

工作流就是一套自动化的"如果……那么……"规则。

打个比方:你手机上设了个闹钟,每天早上 8 点响。闹钟就是最简单的工作流——条件满足(到了 8 点),就自动执行(响铃)

NocoBase 的工作流也是同样的思路:

06-workflows-2026-03-20-13-25-38

  • 触发器:工作流的入口。比如"有人创建了一条新工单"或"某条数据被更新了"
  • 条件判断:可选的过滤步骤。比如"只有处理人不为空时才继续"
  • 执行动作:真正干活的步骤。比如"发送通知"或"更新某个字段"

工作流的执行动作可以串联多个节点,常用的节点类型有:

  • 流程控制:条件判断、并行分支、循环、延时
  • 数据操作:新增数据、更新数据、查询数据、删除数据
  • 通知与外部:通知、HTTP 请求、运算

本教程只用到其中最常见的几个,学会组合后就能应对大多数场景。

触发器类型一览

NocoBase 提供了多种触发器类型,在创建工作流时选择:

触发器 说明 典型场景 数据表事件 数据新增、更新或删除时触发 新工单通知、状态变更记录 定时任务 按 Cron 表达式或固定时间触发 每天生成日报、定期清理过期数据 操作后事件 用户在界面执行操作后触发 表单提交后发送通知、记录操作日志 审批 发起审批流程,支持多级审批 请假审批、采购审批 自定义操作 绑定到自定义按钮,点击触发 一键归档、批量操作 操作前事件 拦截用户操作,同步执行后再放行 提交前校验、自动补全字段 AI 员工 将工作流作为工具提供给 AI 员工调用 AI 自动执行业务操作

本教程会用到 数据表事件自定义操作事件 两种触发器,其他类型的用法类似,学会后就能举一反三。

NocoBase 的工作流是内置插件,不需要额外安装,开箱即用。

需求:当有人创建了一条新工单,并且指定了处理人,系统自动给处理人发一条站内消息,让他知道"有活儿来了"。

第一步:创建工作流

打开右上角插件配置菜单,进入 工作流管理

06-workflows-2026-03-14-23-50-45

点击 新建,在弹出的对话框中:

  • 名称:填写"新工单通知处理人"
  • 触发器类型:选择 数据表事件

06-workflows-2026-03-14-23-53-37

提交后,点击列表中的 配置 链接,进入流程编辑界面。

第二步:配置触发器

点击顶部的触发器卡片,打开配置抽屉:

  • 数据表:选择 主数据源 / 「工单」
  • 触发时机:选择「新增或更新数据后」
  • 发生变动的字段:勾选「处理人(Assignee)」——只有处理人字段变了才触发,避免其他字段的修改产生不必要的通知(新增数据时,所有字段都被视为发生变动,所以新建工单也会触发)
  • 满足以下条件才触发:模式选「满足组内任意条件」,添加两个条件:
    • assignee_id 不为空
    • Assignee / ID 不为空

    为什么要配两个条件?因为触发时表单里可能只有外键(assignee_id)而没有查出关联对象,也可能有了关联对象但外键字段为空。两个条件用 OR 关系,确保只要指定了处理人就一定触发。

  • 预加载关联数据:勾选「Assignee」——后续通知节点需要用到处理人的信息,必须在触发器里提前加载

06-workflows-2026-03-14-23-58-31

点击保存。这样,触发器本身就完成了条件判断——只有处理人不为空时才触发,不需要额外添加条件判断节点。

第三步:添加通知节点

点击触发器下方的 +,选择 通知 节点。

06-workflows-2026-03-15-00-00-55

打开通知节点的配置,第一项就是选择 通知渠道——但我们还没有创建过渠道,下拉列表是空的。先去创建一个。

06-workflows-2026-03-15-00-10-12

第四步:创建通知渠道

NocoBase 支持多种通知渠道类型:

渠道类型 说明 站内信 浏览器内通知,实时推送到用户的通知中心 邮件 通过 SMTP 发送邮件,需要配置邮件服务器

本教程使用最简单的 站内信 渠道:

  1. 打开右上角插件设置,进入 通知管理
  2. 点击 新建渠道

06-workflows-2026-03-15-00-13-07

  1. 渠道类型选择 站内信,填写渠道名称(如"系统站内信")
  2. 保存

06-workflows-2026-03-15-00-17-55

第五步:配置通知节点

回到工作流编辑页面,打开通知节点的配置。

通知节点有以下配置项:

  • 通知渠道:选择刚才创建的「系统站内信」
  • 接收人:点击选择 查询用户 → 「id = 触发器变量/触发数据/责任人/ID」
  • 标题:填写通知标题,如"你有一条新工单待处理"。支持插入变量,比如加上工单标题:新工单:{{触发数据 / 标题}}
  • 内容:填写通知正文,同样可以插入变量引用工单的优先级、描述等字段

06-workflows-2026-03-15-20-10-11

(下一步我们去找工单地址,退出弹窗之前,记得先保存!)

  • 桌面端详情页:填写工单详情页的 URL 路径。获取方式:在前端打开任意一条工单的详情弹窗,复制浏览器地址栏中的路径,格式类似 /admin/camcwbox2uc/view/d8f8e122d37/filterbytk/5540。将路径粘贴到配置框中,其中 filterbytk/ 后面的数字就是工单 ID——把这部分替换为触发数据的 ID 变量即可(点击变量选择器 → 触发数据 → ID)。配置后,用户在通知列表中点击该通知就能直接跳转到对应工单的详情页,同时自动标记为已读

06-workflows-2026-03-15-00-28-32

06-workflows-2026-03-15-20-15-19

  • 发送失败时继续:可选,勾选后即使通知发送失败,工作流也不会中断

通知发出后,处理人可以在页面右上角的 通知中心 里看到这条消息,未读的还会有红点提示。点击通知即可跳转到工单详情页查看完整信息。

第六步:测试并启用

场景一的完整流程只有两个节点:触发器(含条件过滤)→ 通知。简单直接。

先别急着启用——工作流提供了 手动执行 功能,可以用指定数据测试流程是否正确:

  1. 点击右上角的 执行 按钮(不是启用开关)
  2. 选择一条已有的工单数据作为触发数据
  1. 点击执行,工作流会执行并自动切换到复制的新版本
    06-workflows-2026-03-15-19-57-19


  2. 点击右上角的三个点,选择 执行历史。这个时候应该能看到我们刚才的执行记录,点击查看后,就能看到执行的细节,包括触发情况、每个节点的执行细节、参数。
    06-workflows-2026-03-15-19-58-34


06-workflows-2026-03-15-20-01-02

  1. 刚才的那条工单似乎是给 Alice 的,我们切换到 Alice 的账号看看,成功收到!

06-workflows-2026-03-15-20-16-22

点击可以跳转到目标工单页,同时通知会自动被标记为已读。

06-workflows-2026-03-15-20-16-54

确认流程没问题后,点击右上角的 启用/停用 开关,将工作流切换为启用状态。

06-workflows-2026-03-15-20-18-16

注意:工作流一旦被执行过(包括手动执行),就会变成只读状态(灰色),不能再编辑。如果需要修改,点击右上角的 「复制到新版本」,在新版本上继续编辑。旧版本会自动停用。

06-workflows-2026-03-15-20-19-11

回到工单页面,创建一条新工单,记得选一个处理人。然后切换到处理人的账号登录,检查通知中心——应该能看到一条新通知。

06-workflows-2026-03-15-20-22-00

恭喜,第一个自动化流程跑起来了!

需求:当工单状态变为"已完成"时,系统自动在"完成时间"字段填入当前时间。这样不需要手动记录,也不会忘。

如果你还没有在工单表中创建"完成时间"字段,请先到 数据表管理 → 工单 中添加一个 日期 类型的字段,命名为"完成时间"。具体步骤参考第 2 章的字段创建方法,这里不再赘述。
06-workflows-2026-03-15-20-25-38

第一步:新建工作流

回到工作流管理页面,点击新建:

  • 名称:填写"工单完成自动记录时间"
  • 触发器类型:选择 自定义操作事件(用户点击绑定了该工作流的按钮时触发)
  • 执行模式:同步

关于同步和异步:

  • 异步:操作之后,我们可以继续做其他事情,工作流自动执行后通知我们结果
  • 同步:操作之后,界面会处于等待模式,等待工作流执行完毕之后我们才能干其他事情

06-workflows-2026-03-19-22-56-34

第二步:配置触发器

打开触发器配置:

  • 数据表:选择「工单」
  • 执行模式:选择 单行模式(每次只处理当前点击的那一条工单)

06-workflows-2026-03-19-22-58-21

第三步:添加条件判断

不同于数据表事件触发器自身包含了判断条件,我们需要自己来添加条件判断节点:

06-workflows-2026-03-15-20-39-14

我们推荐选择 「”是” 和 “否” 分别继续」,以便于后续的扩展。

  • 条件:触发数据 → 状态 不等于 已完成(即只有未完成的工单才会通过,已完成的不再重复处理)

06-workflows-2026-03-19-22-37-59

第四步:添加更新数据节点

在条件判断的”是”分支上,点击 +,选择 更新数据 节点:

06-workflows-2026-03-15-20-46-22

  • 数据表:选择「工单」
  • 筛选条件:ID 等于 触发数据 → ID(确保只更新当前这条工单)
  • 字段值
    • 状态 = 已完成
    • 完成时间 = 系统变量 / 系统时间

06-workflows-2026-03-19-22-39-27

这样一个节点就同时完成了”改状态”和”记时间”两件事,不需要在按钮上单独配置字段值。

第五步:创建”完成”操作按钮

工作流配好了,但”自定义操作事件”需要绑定到一个具体的操作按钮上才会触发。我们在工单列表的操作列中创建一个专用的”完成”按钮:

  1. 进入 UI 编辑器模式,在工单表格的操作列中,点击 「+」,选择 「触发工作流」 操作按钮

06-workflows-2026-03-19-22-41-31

  1. 点击按钮的配置项,将标题修改为 「完成」,并选择一个完成相关的小图标(如对勾图标)

06-workflows-2026-03-19-22-43-39

  1. 给按钮配置 联动规则:当工单状态已经是”已完成”时,隐藏这个按钮(已完成的工单不需要再点”完成”)
    • 条件:当前数据 → 状态 等于 已完成
    • 动作:隐藏

06-workflows-2026-03-15-21-15-29

  1. 打开按钮配置项中的 「绑定工作流」,选择我们刚才创建的「工单完成自动记录时间」工作流

06-workflows-2026-03-19-23-00-53

第六步:配置事件流刷新

按钮创建好了,但点击后表格不会自动刷新——用户看不到状态变化。我们需要配置按钮的 事件流,让它在工作流执行完毕后自动刷新表格。

  1. 点击按钮配置项中的第二个闪电符号(⚡),打开 事件流 配置
  2. 配置触发事件:
    • 触发事件:选择 点击
    • 执行时机:选择 所有流之后
  3. 点击 「追加步骤」,选择 「刷新目标区块」

06-workflows-2026-03-20-16-46-59

  1. 找到当前页面的工单表格,打开它的配置菜单,选择最下面的 「复制 UID」,将 UID 粘贴到刷新步骤的目标区块中

06-workflows-2026-03-20-16-48-39

这样,点击“完成”按钮后,工作流执行完毕,表格会自动刷新,用户立即就能看到状态和完成时间的变化。

第七步:启用并测试

回到工作流管理页面,启用「工单完成自动记录时间」工作流。

然后打开一条状态为“处理中”的工单,在操作列中点击 「完成」 按钮。可以看到:

  • 工单的“完成时间”字段自动填上了当前时间
  • 表格自动刷新,“完成”按钮在这条工单上已经消失(联动规则生效了)

06-workflows-2026-03-15-21-25-11

是不是很方便?这就是工作流的第二种常见用法——自动更新数据。而且通过“自定义操作事件 + 绑定按钮”的方式,我们实现了一个精确的触发机制:只有点击特定按钮才会执行工作流。

工作流跑了几次?有没有出错?NocoBase 全都帮你记着。

在工作流管理列表中,每个工作流后面都有一个 执行次数 的数字链接。点击它,可以看到每次执行的详细记录:

  • 执行状态:成功(绿色)还是失败(红色),一目了然
  • 触发时间:什么时候触发的
  • 节点详情:点进去可以看到每个节点的执行结果

06-workflows-2026-03-15-21-25-38

如果某次执行失败了,点进详情可以看到是哪个节点出了问题,以及具体的错误信息。这是调试工作流最重要的工具。

06-workflows-2026-03-15-21-36-16

这一章我们创建了两个简单但实用的工作流:

  • 新工单通知(数据表事件触发):新建或变更处理人后自动通知,不用再人工喊话
  • 自动记录完成时间(自定义操作事件触发):点击"完成"按钮后自动填写时间,杜绝人为遗漏

两个工作流分别演示了两种不同的触发方式,加起来不到 10 分钟的配置量,系统就已经能自动干活了。NocoBase 还支持更多节点类型(HTTP 请求、运算、循环等),但对于入门来说,掌握这些组合就足够应对大多数场景了。

系统能自动干活了,但我们还缺一个"全局视角"——一共多少工单?哪个分类最多?每天新增多少?下一章我们用图表区块搭一个 数据仪表盘,一眼看全局。

  • 工作流概述 — 工作流核心概念与使用场景
  • 数据表事件触发器 — 数据变更触发配置
  • 更新数据节点 — 自动更新数据配置

小讯
上一篇 2026-03-28 13:31
下一篇 2026-03-28 13:29

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/249873.html