Skip to content

流程定义与设计器

流程定义是工作流的可发布模板。设计器负责维护基础信息、表单来源、流程节点、分支条件和流程级高级设置;流程定义列表负责分类筛选、发布、禁用、复制、导入导出、版本管理和另存为模板。

入口

入口用途
工作流引擎 → 流程定义查看定义列表,创建、编辑、复制、发布、禁用、删除、导入导出、查看版本
/workflow/designer/:id编辑已有流程定义
/workflow/designer/new新建流程定义
工作流引擎 → 流程模板从模板创建流程,或维护可复用模板

设计步骤

设计器按四步组织:

  1. 基础信息:流程名称、描述、分类、发起人范围。
  2. 表单设计:选择表单库表单、自定义业务表单或业务系统主导表单。
  3. 流程设计:配置审批节点、办理节点、抄送、分支、延迟、触发器、子流程等。
  4. 更多设置:撤回、重新提交、评论、通知、审批人自动去重和业务编号。

基础信息

配置说明
流程名称用户发起和审批时看到的名称
流程分类用于定义列表、发起工作台和模板筛选
流程描述展示用途和使用说明
发起人范围支持全部人员、指定用户、指定部门、指定角色

发起人范围在用户发起时校验。用户不在范围内时,该流程不会成为可发起项或会被后端拒绝。

表单来源

类型说明
designer 表单库设计器绑定「表单库」中的可视化表单,通过内置渲染器发起、查看和审批
custom 自定义业务表单绑定 packages/web/src/pages 下的 React 组件,数据存入流程实例 formData
external 业务系统主导业务模块自己保存业务数据,流程实例通过 bizType + bizId 关联业务记录

表单字段、变量、远程数据源和自定义业务表单契约见 表单、远程数据源与连接器

流程节点

设计器以类钉钉/飞书的纵向流程树呈现。点击节点下方的加号添加节点,点击节点卡片打开右侧配置抽屉。

分组节点
审批节点审批人、办理人、抄送
分支节点条件分支、并行分支、包容分支、路由分支
其它节点延迟器、触发器、子流程

节点配置详情见 节点配置

分支设计

分支执行方式
条件分支按分支顺序命中第一条满足条件的路径;默认分支作为兜底
并行分支所有分支同时执行,全部完成后汇聚
包容分支执行所有满足条件的分支;没有显式命中时进入默认分支
路由分支通过决策表输出或运行时数据决定路径

条件规则可读取表单字段或发起人维度。发起人维度包含本人、部门、角色、岗位;部门匹配按包含子部门语义处理。

发布前工具

工具说明
发布前体检校验流程结构、审批人可解析性、分支覆盖、超时策略和表达式引用;画布仅对「严重」问题显示节点角标并阻断发布,警告/提示集中在此查看
流程仿真使用表单数据、发起人和预设审批决策模拟路径,生成时间线、阻塞点和分支命中
仿真用例按定义保存常用测试用例,后续可复用和覆盖
审批链路预览发起前根据当前表单数据计算预期审批链路
版本对比对比任意两个发布版本的定义、表单和流程图差异

发布与版本

发布流程会校验 flowData,保存版本快照,并把定义状态置为 published。每次实例发起都会冻结定义快照和表单快照,因此后续修改定义不会改变历史实例。

操作说明
保存保存为草稿
发布保存当前快照并允许用户发起;存在「严重」问题时阻断发布并引导修复
禁用 / 启用控制是否允许新发起
复制复制定义为新的草稿
导入 / 导出以自包含 JSON 迁移定义
恢复版本从历史版本恢复为草稿,再编辑发布

更多设置

设置说明
允许撤回发起人可撤回运行中的实例
允许驳回后重新提交被驳回或撤回后可克隆为新草稿重新提交
流程结束后通知发起人结束时发送站内消息
自动去重同一审批人在流程中重复出现时可不处理、全部后续自动通过或仅连续节点自动通过
允许流程中评论实例详情显示沟通区,参与人可留言和提及
列表摘要字段选择 ≤3 个表单字段,「待我审批」「我的申请」列表在标题下直接展示字段值(钉钉式卡片摘要)
业务编号支持结构化与自定义模板两种模式生成实例编号。结构化模式可配置前缀、日期格式、分隔符、后缀、序号位数、起始值、步长与重置周期;模板模式用占位符自由组合(如 BX-{YYYYMMDD}-{SEQ:4}),并支持发起人部门 {DEPT}/{DEPT_CODE}、账号 {USER}、昵称 {NICKNAME}、租户 {TENANT} 及表单字段 {FORM.字段} 等动态变量
通知渠道站内信始终可用,可额外开启邮件和短信

设计建议

  • 为关键节点设置稳定 key,便于事件订阅、诊断、退回和业务集成引用。
  • 条件分支保留默认兜底,包容分支避免所有分支都无命中。
  • 并行分支不要保留空路径,避免运行时等待永远无法汇聚。
  • 对外呼、回调和子流程节点先用仿真和健康体检验证,再发布给业务用户。

Built with VitePress for local documentation preview.