Skip to content

可视化流程设计器

自研的钉钉式树形流程设计器——业务管理员已经会的交互,零学习成本。不写一行代码,从表单到流程到发布一条龙。

设计向导(四步)

  1. 基础设置:流程名称、图标、分类、说明
  2. 表单设计:自研 gform-designer,拖拽字段、配必填与默认值,或套用模板库
  3. 流程设计:树形画布编排节点(本文重点)
  4. 发布:版本自动递增,草稿不影响线上流程

树形画布

和钉钉审批一致的自上而下树形结构:

  • 每个节点是一张卡片,点击打开右侧配置抽屉
  • 按钮在任意位置插入节点:审批 / 抄送 / 条件分支 / 并行分支 / 包容分支 / 自动化 / 子流程 / 延迟等待 / 服务任务 / HTTP 调用 / 智能体
  • 分支容器可继续嵌套分支,条件/包容分支创建时自动附带末尾「默认分支」——空默认分支直接放行到结束,杜绝「条件都不满足流程卡死」

条件配置:变量自动联想

条件抽屉里不用手拼变量名。输入框自动联想三类候选:

  • 表单字段msg.daysmsg.amount(当前流程绑定的表单 schema 里的字段)
  • 引擎元数据metadata.instance_id / process_key / process_id / business_key / owner / tenant_id
  • 多条件用「且/或」组合,实时预览表达式
js
// 自动生成的条件分支表达式(switch 节点的 case,保存时统一为 msg.<field> 规范形式)
msg.days > 3 && msg.leaveType !== 'annual'

节点配置抽屉

以审批节点为例:

配置项说明
审批人指定成员 / 角色 / 直属主管 / 多级主管 / 发起人自选 / 发起人本人(部门候选引擎 DSL 支持,设计器暂未暴露)
审批方式依次审批 / 会签(并行·全票) / 或签 / 票签(多数·百分比·票数);会签的顺序/多数等进阶组合可手写 approvalRule JSON
表单权限逐字段设 隐藏 / 只读 / 可编辑(写进 DSL formPermissions
动作权限通过/驳回固定可用,其余动作(转办/退回/委派/加减签/催办/附件)逐项开关,默认关闭
超时催办截止时间 + 提醒策略(催办提醒由 gflow 定时巡检统一发出;节点级超时自动审批暂未接通引擎)

字段权限

同一张表单,不同节点看到不同视图:

json
{ "amount": "r", "reason": "w", "salary": "h" }

r 只读、w 可编辑、h 隐藏。审批详情页按当前节点权限渲染表单。

发布与版本

  • 草稿:随便改,不影响线上
  • 发布version + 1,写入 wf_process;已发起的实例继续跑旧版本,新发起走新版
  • 停用retired 后不可再发起,存量实例跑完为止

底线保证

DSL 是唯一真相(single source of truth):设计器的每个配置最终都落到 definition_json;UI 状态损坏后可从 DSL 完整重建流程图。条件变量引用在保存时统一为 msg.<field> 规范形式,历史脏数据自动修正。

rulego-bpm 基于 Apache-2.0 许可开源 · gflow 商业授权