流程设计器(钉钉、飞书)
这篇解决什么
日常单据用竖排节点串画流程,不直接拖 BPMN。读完能对上 BpmModelTypeEnum.SIMPLE = 20、节点类型整数码,以及发布时 SimpleModelUtils 怎样把 JSON 转成 BPMN。
产品里的名字是 SIMPLE 设计器。交互参考钉钉 / 飞书,并不是嵌入钉钉开放平台或飞书审批。BPMN 画布见 流程设计器(BPMN)。
默认端口 48080,管理端前缀 /admin-api。PC 开发页 http://127.0.0.1:5800。入口仍是流程中心 → 流程设置 → 流程模型。
示意图:设计期只存 JSON。发布时转成 Flowable 能跑的 BPMN,引擎不读 SIMPLE JSON。
从哪打开
新建模型默认就是 SIMPLE。第一步「流程类型」选「SIMPLE 设计器」。第三步渲染 SimpleProcessDesigner。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 类型枚举 | SIMPLE(20, "SIMPLE 设计器") | ruoyi-office/yudao-module-bpm-api/.../enums/definition/BpmModelTypeEnum.java |
| 节点类型 | 开始、审批、抄送、分支等整数码 | BpmSimpleModelNodeTypeEnum |
| 节点 VO | candidateStrategy、approveMethod、孩子节点 | .../vo/model/simple/BpmSimpleModelNodeVO.java |
| 转 BPMN | 发布前调用 | .../framework/flowable/core/util/SimpleModelUtils.java |
| 第三步切换 | type !== BPMN 走 SIMPLE | ruoyi-office-vben/apps/web-antd/src/views/bpm/model/form/modules/process-design.vue |
| 设计器 | 竖排画布 + 右侧抽屉 | .../components/simple-process-design/components/simple-process-designer.vue |
| 预览 | 详情页高亮 | .../processInstance/detail/modules/simple-bpm-viewer.vue |
官方菜单仍是 1193 流程模型。保存、发布权限与 BPMN 相同:bpm:model:update、bpm:model:deploy。

本系统截图:用车申请单第三步 SIMPLE 画布。左侧竖排发起人、部门负责人、审批人;点开节点后右侧是审批人设置。
节点清单
BpmSimpleModelNodeTypeEnum 的整数码。前端加号菜单按这个分类。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
开始 0 / 结束 1 | 画布两端,对应 startEvent / endEvent | BpmSimpleModelNodeTypeEnum |
发起人 10 | 前端开始节点,id 固定 | START_USER_NODE |
审批人 11 | 用户任务,可选人、会签、操作按钮 | APPROVE_NODE |
抄送人 12 | serviceTask,落到抄送表 | 转办、委派、抄送 |
办理人 13 | 用户任务,默认关掉加签 | TRANSACTOR_NODE |
延迟器 14 | receiveTask + 定时 | DELAY_TIMER_NODE |
触发器 15 | HTTP 等 serviceTask | TRIGGER_NODE |
子流程 20 | callActivity | CHILD_PROCESS |
条件 50 | 出口上的表达式 | CONDITION_NODE |
条件分支 51 | 排他网关 | CONDITION_BRANCH_NODE |
并行分支 52 | 实现是包容网关,条件恒真 | PARALLEL_BRANCH_NODE |
包容分支 53 | 包容网关 | INCLUSIVE_BRANCH_NODE |
路由分支 54 | 排他网关的另一种排版 | ROUTER_BRANCH_NODE |
示意图:日常单据一条主链加条件即可。并行、子流程、延迟器按需加,不要一上来画成网。
发布时发生什么
simpleModel 和 bpmnXml 一起存在模型里。发布走 BpmModelServiceImpl,SIMPLE 必须先转 BPMN,Flowable 只部署 XML。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 选人 | 节点上的策略写成扩展元素 | 选择审批人 |
| 多人 | approveMethod / approveRatio 写成多实例 | 会签、或签、依次审批 |
| 监听 | 用户任务自动挂 ${bpmUserTaskListener} | 执行监听器、任务监听器 |
| 抄送 | 抄送节点变 ServiceTask | BpmCopyTaskDelegate |
并行分支用包容网关实现,出口条件被写成恒真。不要在并行分支上再套一套互斥表达式,互斥用条件分支。
监听器、令牌模拟、任意网关还是 BPMN 更合适。已经发布成 SIMPLE 的模型,第一步把类型改成 BPMN 会丢掉竖排 JSON,只在确认要手改 XML 时再切。
配置与操作
新建模型默认就是 SIMPLE。管理员在第一步选「SIMPLE 设计器」,第三步串节点、配审批人和多人方式,保存后发布。引擎只跑转出来的 BPMN,不读竖排 JSON。
切到 BPMN 会丢掉 SIMPLE JSON。日常 OA / HRM 单据留在 SIMPLE;监听器、令牌模拟再改 BPMN。
开启见 流程功能设计。截图见上文画布。
