流程设计器(钉钉、飞书)

SIMPLE 设计器,对标钉钉、飞书等平台的流程设计器,界面简洁,易上手,适合大多数常见的审批场景。

只需要在新建/修改流程模型时,选择 “SIMPLE” 设计器即可。如下图所示:

流程类型

它的实现原理比较简单,分成 2 阶段:

钉钉

也因此,SIMPLE 设计器是 BPMN 设计器的一个「子集」,支持的节点类型、属性配置,都比 BPMN 设计器少,适合简单、中等复杂度的流程设计。一般情况下,默认使用 SIMPLE 设计器即可;如果遇到复杂的流程设计需求,再切换到 BPMN 设计器进行设计。


下面,我们来看看 SIMPLE 设计器有哪些节点类型。

节点类型

ps:再开始之前,希望你已经阅读过 《11.流程设计器(BPMN)》 文档,相同的内容,就不再赘述。

1. 操作节点

包括发起人、审批人、办理人、抄送人四种节点。

1.1 发起人

发起人,流程默认的首个节点是发起人节点,用于配置表单字段权限。如下图所示:

发起人

1.2 审批人

审批人,基于 BPMN 设计器的用户任务节点,用于配置审批人的规则。如下图所示:

审批人

  • 审批人设置:设置审批人是谁,包括指定、表单、发起人自己以及主管等等
  • 表单权限:设置审批人看到的表单权限,包括只读、编辑和隐藏
  • 操作权限:设置审批人可以执行的操作,包括通过、拒绝、加签、转办等等

比较特殊的是监听器,使用类似 Postman 交互的 HTTP 请求配置方式,支持配置前置通知、后置通知。如下图所示:

监听器

1.3 办理人

办理人,是特殊的“审批人”,适用于流程中存在某个节点不需要审批,但需要人员执行相关业务操作的情况,例如财务打款、处理盖章、文件归档等。如下图所示:

办理人

相比审批人来说,它少了一些配置项,例如操作权限、审批人拒绝时等。

1.4 抄送人

抄送人,不进行任何操作,仅接收抄送通知给相关人。如下图所示:

抄送人

  • 抄送人设置:设置抄送人是谁,包括指定、表单、发起人自己以及主管等等
  • 表单权限:设置抄送人看到的表单权限,包括只读、编辑和隐藏

2. 分支节点

包括条件分支、并行分支、包容分支、路由分支四种节点。

2.1 条件分支

条件分支,基于 BPMN 设计器的 exclusiveGateway 排它网关节点,用于根据条件选择一个分支执行。如下图所示:

条件分支

  • 根据条件,从左到右逐个匹配,仅执行第一个匹配到的分支
  • 都不匹配的情况下,则执行最后一个默认分支(其它情况)

2.2 并行分支

相关文档:

并行分支,基于 BPMN 设计器的 inclusiveGateway 包容网关(条件表达式结果设置为 true)节点,用于将流程分成多条分支,所有分支都会执行。如下图所示:

并行分支

  • 无条件判断,所有分支都会执行
  • 所有分支执行完毕,才能进入下一个节点

2.3 包容分支

包容分支,基于 BPMN 设计器的 inclusiveGateway 包容网关节点,用于根据条件选择多条分支执行。如下图所示:

包容分支

  • 根据条件,匹配的都执行
  • 都不匹配的情况下,则执行最后一个默认分支(其它情况)

2.4 路由分支

路由分支,基于 BPMN 设计器的 exclusiveGateway 排它网关节点,根据条件配置,实现节点自动跳转。如下图所示:

路由分支

它和上面的三种分支,有一个本质的区别:直接跳转到指定节点,而不是继续往下执行。

3. 其它节点

包括子流程、延迟器、触发器三种节点。

3.1 子流程

子流程,基于 BPMN 设计器的 callActivity 调用子流程节点,用于实现主流程调用子流程的功能。如下图所示:

子流程

子流程的使用场景(代码复用):将共性的流程抽取出来,作为独立流程被其他流程引入使用

子流程的执行模式(通过 “是否异步” 开关):

  • 同步子流程:主流程等待子流程执行完成后,再继续向后执行
  • 异步子流程:主流程不等待子流程执行完成,直接完成当前节点继续向后执行

3.2 延迟器

延迟器,基于 BPMN 设计器的 timerEventDefinition 定时事件节点,用于实现流程等待一段时间再执行的功能。如下图所示:

延迟器

3.3 触发器

触发器,基于 BPMN 设计器的 receiveTask 接收任务节点,用于实现执行到该节点,触发 HTTP 请求、HTTP 回调、更新数据、删除数据等功能。如下图所示:

触发器