工作流模块总览
工作流模块提供流程定义、表单设计、流程审批、任务分发、事件联动的完整能力。通过可视化设计器,管理员可以拖拽配置审批流程;普通用户则可发起申请、审批任务、跟踪进度。
核心能力
| 能力 | 说明 |
|---|---|
| 可视化流程设计 | 类钉钉/飞书风格的垂直流程设计器,支持审批、办理、抄送、分支、触发器等 11 种节点 |
| 表单设计 | 可视化表单设计器,支持 20+ 种字段类型,支持分栏、分组、附件等复杂布局 |
| 灵活的审批人策略 | 支持指定成员、角色、部门负责人、直属主管、表单字段关联、多级上级等 12 种指定方式 |
| 分支条件 | 基于表单字段值的条件分支,支持多规则组合(且/或) |
| 事件联动 | 流程节点进入/任务创建/审批通过等事件可触发 HTTP Webhook,或订阅后推送到外部系统 |
| 外部审批集成 | 支持将审批任务派发至钉钉、企业微信等外部系统,通过回调推进状态 |
| 版本管理 | 流程发布时自动保存历史版本,支持回退到任意版本 |
使用流程
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 1. 设计流程定义 │ → │ 2. 发布流程定义 │ → │ 3. 用户发起申请 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
↓
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 6. 流程完成/驳回 │ ← │ 5. 审批人处理任务 │ ← │ 4. 按流程流转节点 │
└─────────────────┘ └─────────────────┘ └─────────────────┘- 设计流程定义:进入「工作流 → 流程定义」,点击「新建」打开设计器,配置基础信息、表单、流程节点、高级设置
- 发布流程定义:设计完成后点击「发布」,流程变为可用状态
- 用户发起申请:在「工作流 → 发起申请」中选择已发布的流程,填写表单提交
- 按流程流转节点:引擎根据流程定义自动推进节点,生成审批/办理任务
- 审批人处理任务:审批人在「工作流 → 待我审批」中查看并处理任务(通过/驳回)
- 流程完成/驳回:所有节点审批通过后流程结束;任一节点驳回则根据策略终止或退回
关键概念
流程定义(Workflow Definition)
流程的模板,包含名称、分类、表单字段、流程节点图、发起人范围等配置。流程定义有草稿、已发布、已禁用三种状态:
| 状态 | 说明 |
|---|---|
| 草稿 | 可编辑,不可被用户发起 |
| 已发布 | 可被授权用户发起申请 |
| 已禁用 | 不可被发起,已有实例不受影响 |
流程实例(Workflow Instance)
用户基于某个已发布的流程定义提交的一次具体申请,包含填写的表单数据、当前节点、任务列表等信息。实例有 运行中、已通过、已驳回、已撤回 等状态。
任务(Workflow Task)
流程实例运行到某个节点时,为具体执行人生成的待办事项。任务状态包括:
| 状态 | 说明 |
|---|---|
pending | 待处理 |
approved | 已通过 |
rejected | 已驳回 |
skipped | 已跳过(条件不满足或流程退回后) |
waiting | 等待中(顺序会签的后续人员、外部审批等待回调) |
节点(Flow Node)
流程图的基本单元,每种节点承担不同的职责。详见 节点配置指南。
菜单结构
前端「工作流」模块包含以下菜单:
| 菜单 | 权限点 | 说明 |
|---|---|---|
| 流程定义 | workflow:definition:* | 管理流程定义(CRUD、发布、禁用、版本管理) |
| 发起申请 | workflow:instance:create | 选择已发布流程,填写表单提交申请 |
| 我的申请 | workflow:instance:list | 查看自己发起的流程实例列表及详情 |
| 待我审批 | workflow:task:handle | 处理待审批/办理的任务 |
| 流程监控 | workflow:instance:monitor | 管理员查看全局流程实例,支持按状态统计 |
| 触发器执行 | workflow:trigger:list | 查看触发器节点的执行记录和日志 |
| 事件订阅 | workflow:event-subscription:* | 配置 HTTP Webhook 事件订阅 |