流程设计器(BPMN)
BPMN(Business Process Model and Notation)设计器基于 bpmn-js 构建,支持完整的 BPMN 2.0 标准,适合复杂流程的精细化设计。管理端界面采用 Vue3 + Vben Admin + Ant Design Vue 实现。
1. 流程模型
1.1 表结构
流程模型存储在 Flowable 的 ACT_RE_MODEL 表中,RuoYi Office 通过扩展元数据存储在 metaInfo JSON 字段:
| 扩展属性 | 说明 |
|---|---|
| description | 流程描述 |
| formType | 表单类型(NORMAL=流程表单, CUSTOM=业务表单) |
| formId | 流程表单 ID(formType=NORMAL 时) |
| formCustomCreatePath | 业务表单新建路由 |
| formCustomViewPath | 业务表单详情路由 |
1.2 流程设计器界面
BPMN 设计器位于「流程中心 → 流程模型 → 新建/编辑模型」的「流程设计」步骤。

支持的 BPMN 元素:
- 事件:开始事件、结束事件、边界事件(定时器)
- 任务:用户任务、服务任务(HTTP)、脚本任务、发送任务
- 网关:排它网关、并行网关、包容网关
- 子流程:调用活动(子流程)
1.3 任务配置

表单权限
每个用户任务节点可配置字段权限:
- 可编辑:审批人可修改字段值
- 只读:审批人可查看但不能修改
- 隐藏:审批人看不到该字段
审批人规则
支持多种审批人指派策略(详见 选择审批人):
- 角色、部门成员、部门负责人
- 岗位、用户组、发起人自选
- 发起人本人、流程表达式
多人审批
当审批节点有多个候选人时(详见 会签、或签、依次审批):
- 会签:所有人都需审批
- 或签:任一人审批即可
- 依次审批:按顺序逐一审批
操作按钮配置
每个节点可配置允许的操作按钮:
- 通过、不通过
- 驳回(可选驳回节点)
- 转办、委派
- 加签(向前/向后)、减签
- 退回
超时设置
配置任务超时后的自动处理:
- 超时自动通过
- 超时自动拒绝
- 超时自动提醒
1.4 执行监听器 & 任务监听器
BPMN 设计器支持为节点配置执行监听器和任务监听器(详见 执行监听器、任务监听器)。
1.5 更多设置
- 流程编号:自定义流程实例编号规则
- 流程标题:自定义流程实例标题模板
- 流程摘要:自定义摘要显示内容
- 自定义打印模板:支持配置打印模板
2. 流程定义
2.1 表结构
流程发布后会创建流程定义,存储在 ACT_RE_PROCDEF 表中。RuoYi Office 额外在 bpm_process_definition_info 表中存储扩展信息。
2.2 流程定义列表
在「流程模型」页面点击某个模型的「流程定义」按钮,可查看该模型的所有已发布版本。
3. 前端组件
BPMN 设计器相关前端源码位于 ruoyi-office-vben/apps/web-antd/src/views/bpm:
| 组件 | 路径 | 说明 |
|---|---|---|
| 设计器 | ruoyi-office-vben/apps/web-antd/src/views/bpm/components/bpmn-process-designer/ | BPMN 流程设计器 |
| 查看器 | ruoyi-office-vben/apps/web-antd/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue | 流程图查看(含高亮) |
| 属性面板 | ruoyi-office-vben/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/ | BPMN 属性配置面板 |