Skip to content

流程设计器(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 属性配置面板