当业务流程不能完全自动化决策时,可以通过人工节点,将部分决策权交给人工处理。
人工节点在执行到时会先中断整个流程的执行,生成对应用户的待办任务,在用户提交后根据所选的状态决定继续流程、继续等待还是终止流程。在需要进行流程审批等场景会非常有用。
内置插件,无需安装。
在工作流配置界面中,点击流程中的加号(“+”)按钮,添加“人工处理”节点:

人工节点需要指定一个用户,作为待办任务的执行者。待办任务的列表可以在页面添加区块时添加,每个节点的任务弹窗内容需要在节点中进行界面配置。
选定一个用户,或者通过变量选择上下文中的用户数据的主键或外键。

目前人工节点的负责人选项暂不支持针对多人处理,会在未来的版本中支持。
待办事项的界面配置是人工节点的核心内容,可以通过点击“配置用户界面”按钮弹窗打开独立配置,和普通页面一样,可以所见即所得地配置:

标签页可以用于区分不同的内容,例如一个标签页用于通过的表单提交,另一个标签页用于拒绝的表单提交,或者用于展示相关数据的详情等,可自由配置。
支持的区块类型主要有两大类,数据区块和表单区块,另外的 Markdown 主要用于提示信息等静态内容。
数据区块可选择触发器数据或任意的节点处理结果,用于提供给待办负责人相关的上下文信息。例如工作流是表单事件触发的,即可以创建一个触发数据的详情区块,与普通页面的详情配置一致,可任选触发数据内有的字段进行数据展示:

节点数据区块类似,可以选择上游节点中的数据结果作为详情展示。例如上游一个计算节点的结果,作为负责人待办的上下文参考信息:

由于配置界面时工作流都处于未执行的状态,所以数据区块中都是没有具体数据显示的,只有当工作流被触发执行后,在待办弹窗界面中才可看到具体流程的相关数据。
待办界面中至少需要配置一个表单区块,作为工作流是否继续执行的最终决策处理,不配置表单会导致流程中断后无法继续。表单区块有三种类型,分别是:

新增数据表单和更新数据表单需要选择基于的数据表,待办用户提交后会使用表单内的值新增或更新特定数据表的数据。自定义表单则可以自由定义一个数据表无关的临时表单,待办用户提交后的字段值可以在后续节点中使用。
表单的提交按钮可以配置三种类型,分别是:

三个按钮代表流程处理中三种节点状态,提交后该节点的状态修改为“完成”、“拒绝”或继续处于“等待”的状态,一个表单至少要配置前两者之一,以决定整个流程的后续处理流向。
在“继续流程”按钮上可以配置对表单字段的赋值:


打开弹窗后可以对表单任意字段进行赋值,表单提交后将会以该值作为字段的终值。通常在对一些数据进行审核时比较有用,可以在表单中使用多个不同的“继续流程”按钮,每个按钮对类似状态的字段设置不同的枚举值,以达到继续后续流程执行且使用不同数据值的效果。
对于人工处理来说,还需要在页面中添加待办列表,用于展示待办任务,相关人员才可以通过该列表进入人工节点的具体任务处理。
可以从页面中的区块中选择“工作流待办”,添加待办列表的区块:

待办列表区块示例:

之后相关人员可以点击对应的待办任务,进入待办弹窗,进行人工处理:

假设普通用户提交的文章,需要管理员审核通过后才能更新为已发布状态,否则如果拒绝该流程,文章将保持草稿状态(不公开),这一流程可以使用人工节点中的更新表单来实现。
创建一个由“新增文章”触发的工作流,并增加一个人工节点:
在人工节点中配置负责人为管理员,配置界面中增加一个基于触发数据的区块,用于展示新增文章的详情:
在配置界面中增加一个基于更新数据表单的区块,选择文章表,用于管理员决定是否通过审核,通过审核后会根据后面的其他配置更新对应文章。添加表单后,默认会有一个“继续流程”的按钮,可以将其视为点击后通过,再增加一个“终止流程”的按钮,用作审核不通过的情况:
针对继续流程时,我们需要更新文章的状态,这里有两种配置方式,一种是直接在表单中展示文章状态的字段,供操作者选择,这种方式更适合于一些需要主动填写表单的情况,例如反馈意见等:
为了简化操作者的操作,另一种方式是在“继续流程”按钮上配置表单赋值,赋值中增加一个“状态”字段,值为“已发布”,则代表操作者点击按钮后,文章将会更新为已发布状态:
然后从表单区块的右上角配置菜单中选择要更新的数据的筛选条件,这里选择“文章”表,筛选条件为“ID 等于 触发器变量 / 触发数据 / ID”:
最后,可以修改各个区块的标题和相关按钮的文本,以及表单字段的提示文本,使界面更加友好:
关闭配置面板,点击提交按钮保存节点配置后,工作流就配置完成了。启用该工作流以后,在新增文章时,会自动触发该工作流,管理员可以从待办任务列表中看到该工作流需要处理,点击查看后可以看到待办任务的详情:
管理员可以根据文章详情进行人工判断,该文章是否可以发布,如果可以的话,点击“通过”按钮,文章将会更新为已发布状态,如果不可以的话,点击“拒绝”按钮,文章将会保持草稿状态。
假设员工需要请假,需要经过主管审批通过后才能生效,并核销对应员工的假期数据。而且不管通过或拒绝,都将会通过请求节点调用短信接口,发送相关的的通知短信给员工(见 HTTP 请求 部分)。这个场景可以使用人工节点中的自定义表单来实现。
创建一个由“新增请假”触发的工作流,并增加一个人工节点,与之前的文章审核流程类似,只是这里的负责人是主管,配置界面中增加一个基于触发数据的区块,用于展示新增请假的详情,再增加一个基于自定义表单的区块,用于主管决定是否通过审核,自定义表单中增加一个是否通过的字段,以及一个拒绝理由的字段:
与文章审核流程不同,由于我们需要根据主管审批的结果继续后续的流程,所以这里我们只配置一个“继续流程”按钮,作为提交使用,而不使用“终止流程”按钮。
同时在人工节点之后,我们可以通过一个条件判断节点来判断主管是否通过了该请假申请,通过的分支中增加核销假期的数据处理,并在分支结束后增加一个请求节点,用于发送短信通知员工,就得到以下完整的流程:
其中条件判断节点的中的条件配置为“人工节点 / 自定义表单数据 / 是否通过字段的值是否为‘通过’”:
发送请求节点里的数据也可以使用人工节点中相应的表单变量,以区分通过和拒绝的短信内容。这样就完成了整个流程的配置,在开启工作流后,当员工提交请假申请的表单后,主管即可在待办任务中进行审批处理,操作基本与文章审核流程类似。