Cadau 流程设计器与节点使用指南
从进入画布到配节点、查流程变量,一篇说清工作流怎么配。
来源 docs/技术博客/流程设计器使用指南.md
表述:面向 工作区管理员与流程配置人员。从进入画布、拖节点连线,到每种节点怎么配、流程变量从哪来/到哪去、运行时怎么查,一篇说清。
字段级实现对照见
docs/core-mechanisms/workflow.json-v1.md、docs/core-mechanisms/工作流.md(对接时查阅,不必当作界面文案)。示例定义:
examples/workflows/iway-6-factory-audit/workflow.json。
日期:2026-07-31
本文已合并原「工作流节点使用说明」与「流程设计器使用指南」。旧链 工作流节点使用说明 仍可用,内容指向本文对应章节。
目录
- 先建立一张总图
- 从哪里进入、用哪个模板
- 界面三块与操作习惯
- 流程变量:怎么理解、怎么查
- 所有节点共通项
- 各节点详解(含收到 / 写出的变量)
- 上手与业务示例
- 保存、运行、发布(含 试跑亮线、测试单)
- 常见问题
- 实现对照
1. 先建立一张总图
Cadau 的工作流不只是一张「待办列表」。从 IWAY 工厂审核 到 简易报销 / 入职办理,背后都是同一套 可视化流程设计器:你在画布上拖节点、连线,保存后,同事在 运行 里发起实例(或由人力资源办结入职自动发起),待办会推给该办的人。
| 设计器名称 | 谁在跑 | 一句话 |
|---|---|---|
| 填写表单 | 人 | 让办理人填信息,写入本单变量 |
| 上传证据 | 人 | 按检查项上传照片/文件 |
| 审批 | 人 | 通过或驳回,决定后面走哪条线 |
| 应用工作 | 人 + 业务应用 | 在应用/插件里办完再继续(如发用品、分配账号) |
| 智能体工作 | 指定工作智能体(自动) | 到达后排队/并行执行并回写变量,可按结果分支 |
| 调用流程 | 系统 | 发起另一份已启用流程,并映射传入变量(默认发出后继续) |
| 加载检查标准 | 合规插件 | 从合规调查问卷的检查项读出条目,供上传/评分用(未启用合规则设计器无此节点) |
| 自动评分 | 系统 | 按评分说明与证据打分 |
| 规则分支 | 系统 | 按评分汇总或变量区间分叉 |
| 结束 | — | 流程终点;可标成「未通过」 |
人工节点(表单、上传、审批、应用工作)会出现在 我的待办;应用工作还会生成 工作票。 自动节点(加载检查标准、评分、规则分支、智能体工作、调用流程)由引擎或插件执行;智能体工作可在实例详情里看到排队/执行状态。
每个流程只有一个 起点(选中节点 →「设为起点」)。改完后务必 保存流程设计;只影响之后新发起的实例。
四层关系:
模板 → 流程定义(设计器改的就是这层)→ 实例(跑一次)→ 待办 / 工作票(某一步要谁办)
2. 从哪里进入、用哪个模板
- 顶栏打开 工作流
- 新建流程 或 我的流程 → 打开 已有流程
- 点 流程设置 → 流程设计
只有从 通用模板 创建的流程才有设计器,例如:
| 模板 | 适合场景 | 设计器默认画布 |
|---|---|---|
| 空白流程 | 自定义任意流程 | 「开始 → 完成」两个节点,其余自己加 |
| IWAY 工厂审核 | 合规检查项 + 证据 + 评分 | 预置完整审核链路(需启用合规并绑定调查问卷) |
| 简易审批 | 填申请 → 一人审批 | 预置申请 + 审批 + 通过/驳回终点 |
| 员工入职办理 | 分配账号 + 发用品 | 两步应用工作 + 结束 |
经典「现场合规检查」走旧版引擎,没有这套画布;新流程建议用上面模板之一。
3. 界面三块与操作习惯
┌──────────┬─────────────────────────────┬──────────────┐
│ 节点库 │ 画布 │ 节点属性 │
│ 点一下 │ 拖拽位置 / 拖线连线 / 选中 │ 表单、办理人 │
│ 就添加 │ Delete 删节点(起点不可删) │ 分支、变量等 │
└──────────┴─────────────────────────────┴──────────────┘
| 操作 | 方式 |
|---|---|
| 新增节点 | 左侧点节点名 |
| 移动节点 | 画布上拖拽 |
| 新增连线 | 从源节点 右侧圆点 拖到目标节点 |
| 删除选中节点/连线 | Delete(Backspace 不会删节点,避免误触) |
| 缩放 / 平移 | 画布右下角控件,或触控板 |
改完点右上角 保存流程设计。保存写入流程定义;之后新发起的实例 才按新设计跑,进行中的单不受影响。
4. 流程变量:怎么理解、怎么查
4.1 一句话
一次流程实例有一份 变量表(实现上在实例载荷的 variables 里)。前面步骤写进去的值,后面步骤可以读:表单同名字段预填、办理人「表单变量」、智能体任务说明里的 {{变量名}}、应用工作结果写回等,都走这张表。
检查类流程还有旁路数据(检查项列表、评分汇总),存在实例载荷的其它字段上,不一定进 variables——见各节点「写出」一节。
4.2 设计时:如何知道「会有哪些变量」
产品里目前 没有 单独的「变量字典」页面。配置时按下面对照即可:
| 来源 | 怎么查 |
|---|---|
| 本流程表单字段 | 选中「填写表单」节点 → 右侧每个字段的 字段 key 就是变量名 |
| 审批写出 | 固定键:approval_decision、approval_note(见 审批) |
| 应用工作 / 智能体工作 | 看节点上配置的 结果变量 / 必填结果变量(白名单即允许写回的键) |
| 发起时传入 | 手工在「运行」里填的发起字段;或 人力资源办结入职/离职/调动 自动注入的键(见 §4.4) |
| 智能体任务说明 | 用 {{变量名}};名字必须是到达该步时变量表里已有的键 |
排错时可按画布从左到右列一张「本流程变量清单」:发起注入 ∪ 各表单 key ∪ 各结果变量 ∪ 审批固定键。
4.3 运行时:如何查看「某一步当时有什么」
| 方式 | 说明 |
|---|---|
| 测试实例(界面) | 勾选 「作为测试发起」 后打开该实例:标题带「测试」标记;点 「查看流程变量」 可在对话框中查看整表(含明细合计键、最近分流等)。正式实例无此入口。 |
| 正式实例详情(界面) | 工作流 → 打开该实例。标题区会展示部分常见字段;不会把整张变量表列成表。办理表单时,同名字段会带入已有值——这是「间接看到」变量。 |
| 实例接口(完整) | GET …/workspaces/{工作区}/workflows/instances/{实例},响应载荷里的 variables 即当前变量表快照(该步办完后的累积结果)。对接、排错时以这里为准。 |
| 待办 / 工作票 | 人工待办、应用工作票会带上当时变量快照(供办理页预填或插件读取)。应用侧用工作标识拉票后,可在票数据里看到关联实例与结果写入约定。 |
| 智能体工作 | 实例详情可看到该步 排队 / 执行中 / 成功失败;任务说明在入队前已把 {{…}} 换成具体值。回写成功后,结果键进入 variables。 |
「节点收到的变量」 = 流程 到达该步时 变量表里已有的全部键(含发起注入 + 前面所有步骤写回)。 「节点写出的变量」 = 该步办完后 新增或覆盖 写入变量表的键(见下一章各节点)。
4.4 人力资源办结时自动注入的变量
在 人力资源 → 设置 → 入职 / 离职 / 调动 勾选「办结时自动发起」并选好流程后,办结对应生命周期案卷时,会带着下列变量 发起 流程(即使第一步是应用工作或智能体工作,变量也已在实例里)。
| 变量名 | 含义 | 入职 | 离职 | 调动 |
|---|---|---|---|---|
employee_id | 员工主键 | ✓ | ✓ | ✓ |
emp_no | 工号 | ✓ | ✓ | ✓ |
display_name | 显示名 | ✓ | ✓ | ✓ |
org_unit_id | 所属组织 | ✓ | ✓ | ✓ |
mobile | 手机 | ✓ | ✓ | ✓ |
email | 邮箱 | ✓ | ✓ | ✓ |
hire_date | 入职日期 | ✓ | ✓ | ✓ |
leave_date | 离职日期(入职时多为空) | ✓ | ✓ | ✓ |
lifecycle_case_id | 本次生命周期案卷 id | ✓ | ✓ | ✓ |
lifecycle_kind | onboarding / offboarding / transfer | ✓ | ✓ | ✓ |
handler_user_id | 设置里指定的办理人(未指定则无) | 可选 | 可选 | 可选 |
warehouse_user_id | 与办理人相同(便于仓管节点用表单变量) | 可选 | — | — |
配置时怎么引用
- 办理人选 表单变量 → 填
handler_user_id或warehouse_user_id(须在设置里指定了办理人)。 - 智能体工作 · 任务说明 示例:
为员工 {{display_name}}(工号 {{emp_no}})办理入职后续事项。 - 应用工作完成时写回的键(如
mindlink_user_id)与上表无关,由节点 结果变量 白名单决定。
产品帮助(含变量表):help/product-features/platform-hr.md(办结入离调后自动发起工作流)。 实现真值:人力资源插件办结生命周期并调用发起流程时写入(plugins/hr)。查运行结果仍用 §4.3。
5. 所有节点共通项
选中任意节点,右侧一般先看到:
| 属性 | 怎么用 |
|---|---|
| 类型 | 可改节点种类(改完建议检查后续配置是否仍合理) |
| 标题 | 待办列表、画布上显示的名字,建议写业务用语(如「填写报销单」) |
| 说明 | 给办理人或后续维护者看的备注,不会自动传给智能体或应用;可选 |
| 设为起点 | 非终点节点可用;起点不能 Delete 删除 |
5.1 办理人(仅人工节点)
| 类型 | 意义 | 典型场景 |
|---|---|---|
| 发起人 | 谁发起谁办 | 发起时自己填表 |
| 指定用户(工作区成员) | 固定某位 本工作区成员(不必是花名册员工) | 财务同事只有账号、未建员工档案 |
| 指定员工(人力资源) | 从花名册选已绑定 Cadau 账号的员工 | 仓管、人事等已入档人员 |
| 表单变量 | 用变量表里的「用户 ID」字段 | 发起人选好的审批人;入职注入的 warehouse_user_id |
| 工作区身份(可领取) | 所有者 / 管理员 / 成员 可领取 | 任意管理员都可批 |
| 业务职责(可领取) | 工作区自定义职责成员可领取 | 财务审批、仓管值班 |
| 部门岗位编制 | 选具体编制席位,或随发起部门套岗位模板 | 财务报销岗;各部门经理审批 |
| 智能体判定(复杂路由) | 到达本步时由指定智能体选定办理人 | 规则极复杂、难以用分支表达时 |
表单变量名要与变量表里的键一致,例如字段 key=approver_user_id,办理人就选「表单变量」并填 approver_user_id。
工作区身份:邀请进工作区时的身份——所有者 / 管理员 / 成员。所有者也可领取管理员待办,管理员也可领取成员待办。
业务职责:在 工作区协作 → 成员与邀请 → 业务职责 中创建并绑定成员;流程选「业务职责」后,职责成员可在「我的待办」领取。同一套职责还可用于助手能力包授权。
部门岗位编制:在人力资源插件 部门编制 中维护席位。设计器有三种选用方式:
- 直接选择编制:钉死某一席位(如「财务部 · 报销审核」)。
- 先选部门,再选编制:设计时从该部门编制列表中选一条。
- 随发起部门解析:只选岗位模板,部门取自发起变量(默认
department_ids),适合「各部门同类岗」。
解析顺序:席位短时代理 → 主责任职人 →(映射账号后)人级办理代理。
智能体判定:指定工作区智能体与判定说明(可 {{变量}}),规则细节写在该智能体的知识文档或技能中。到达本步时同步询问智能体,由其在业务职责 / 部门编制 / 用户 / 工作区身份中选定办理人;理由写入变量 assignee_agent_reason。可配置失败时的兜底业务职责。常规「上级 → 财务」请优先用编制 + 业务职责 + 金额分支;仅当规则难以画清时再用智能体判定。
5.1.1 请假 / 临时换人
| 方式 | 怎么用 |
|---|---|
| 转交待办 | 打开实例 → 进度旁 「转交待办」(或「我的待办」列表里)→ 选接收人。一次性把当前待办改派给他人(管理员也可转交)。 |
| 办理代理 | 「我的待办」或运行页发起区 「办理代理…」 → 选代理人与起止时间。期间新派给你的任务会直接给代理人;已派给你的待办,代理人也能在待办里看到并办理。代理到期或点「取消代理」后恢复。 |
| 编制席位代理 | 人力资源「部门编制」里为该岗设短时代理。按编制指派的待办会直接派给代理人,无需再转交。 |
5.2 连线条件(出线)
默认是 下一步。从 审批、规则分支、智能体工作(若配置了分支)等拉出多条线时,在右侧为每条出线设条件:
| 界面文案 | 含义 |
|---|---|
| 下一步 | 无条件往下 |
| 通过 | 审批通过 / 评分合格 / 智能体 outcome=pass |
| 不通过(红线) | 审批驳回 / 红线不合格 / 智能体失败或 outcome=fail |
| 待改进(CAP) | 需整改后再来(评分汇总) |
| 区间标签(自定义) | 「按变量区间」时,与区间列表中的 when 对齐(如「100以下」) |
6. 各节点详解(含收到 / 写出的变量)
下列「收到」均指 到达本步时变量表已有内容(外加检查类旁路数据)。未列出的键只要前面写过,后面都能读到。
6.1 填写表单
意义:收集业务信息,写入本流程实例的变量。
如何设置
- 左侧点 填写表单 加到画布,或改现有节点类型。
- 改 标题(如「填写请假申请」)。
- 步骤模式(右侧):默认 普通表单;若本步是合规 CAP 整改,选 CAP 整改(按未通过项填说明)——办理台会列出未通过项并支持「用发现问题填入」,无需再配自定义字段。
- 普通表单时,在 表单字段 区添加字段:
- 显示名:用户看到的标签(填完失焦后会自动生成 字段 key,并推断 类型 / 是否必填;明细列还会推断 统计方式,仍可手改) - 字段 key:写入变量的名字(英文 snake_case,适合当列名) - 类型:文本、数字、多行、日期、日期时间、选项、附件、明细表 等 - 必填、宽度(整行 / 半宽 / 三分之一…)、自动填入(当前用户、所属部门、当天、当前时刻;附件不适用)
- 类型选 选项 时,在下方 可选值 里添加每一项的 显示名(办理人看到的)和 保存值(写入流程变量;可与显示名相同)。
- 需要上传材料时,类型选 附件:办理人可上传一个或多个文件(照片、PDF、办公文档等)。
- 需要多行明细时,点 添加明细表,再配置列(可对数字列设合计/计数等)。
- 配置 办理人(起点表单多为「发起人」)。
- 可用 测试表单 试填(不落库;附件会真实上传以便预览)。
技巧:后面若还有「财务支付」一类表单,字段 key 与前面相同则会 自动带入已填内容,只需再加支付专用字段。
| | 内容 | |--|------| | 收到 | 发起时已有的全部变量(含入职注入);同名字段办理时预填 | | 写出 | 本节点每个字段 key → 提交值;明细表 key → 行对象数组;附件 key → 附件编号列表 |
范例 A:请假申请(起点)
| 显示名 | 字段 key | 类型 | 备注 |
|---|---|---|---|
| 请假类型 | leave_type | 选项 | 年假 / 事假 / 病假 |
| 开始日期 | start_date | 日期 | 必填 |
| 结束日期 | end_date | 日期 | 必填 |
| 事由 | reason | 多行 | 选填 |
| 审批人 | approver_user_id | 文本 | key 含用户 ID 时,运行时会变成员工选择器 |
连线:填写请假 → 审批 →(通过)结束 /(不通过)结束(未通过)
范例 B:报销明细 见 §7.4。
6.2 上传证据
意义:按已加载的检查项,让办理人上传照片或文件。
如何设置
- 流程定义需在 基本设置 绑定合规 调查问卷(检查项在合规管理中维护)。
- 画布上建议顺序:加载检查标准 → 上传证据 → 自动评分。
- 勾选或取消 必须上传全部检查项(是否允许缺项继续)。
- 配置 办理人。
- 办理时每项可上传 多张现场照片,上传后能直接看到缩略图;点 分析 会对照该项的评分说明与拍照标准生成评价、分数与结论。一项一页时翻页或跳转会自动保存当前项(刷新后仍在);全部检查项都完成后,再点底部 提交证据与评价 进入下一步。若仍有未填写项就提交,会先弹出确认。
| | 内容 | |--|------| | 收到 | 变量表(如工厂名、审核类型);加载检查标准 写入的检查项列表(载荷侧,供按项上传) | | 写出 | 一般不往 variables 写业务键;证据挂在实例/检查项上,供后续 自动评分 读取 |
范例:IWAY 工厂审核:发起信息表单 → 加载检查标准 → 上传证据 → 自动评分 → 规则分支。
6.3 审批
意义:一人(或角色可领取)做 通过 / 驳回,决定后续分支。不要把「签字栏」画进表单代替审批节点。
如何设置
- 添加 审批,标题如「部门领导审批」。
- 办理人 常用「表单变量」→
approver_user_id。 - 拉出两条线:出线 通过 / 不通过(红线)。
- 「未通过」终点勾选 标记为「未通过」终点。
| | 内容 | |--|------| | 收到 | 变量表(展示申请内容、解析办理人变量) | | 写出 | approval_decision(通过/驳回语义)、approval_note(备注) |
范例:简易一审
flowchart LR A[填写申请] --> B[审批] B -->|通过| C[结束] B -->|不通过| D[结束·未通过]
可用模板 简易审批 直接得到类似画布。
6.4 应用工作
意义:流程停在这一步,生成 工作票;同事在关联的 应用或插件 里办完后点完成,流程才继续。
如何设置
| 属性 | 是否必填 | 说明 |
|---|---|---|
| 工作标识 | 必填 | 应用拉取待办时用的关键字,如 assign_mindlink_account、issue_assets |
| 关联应用 | 可选 | 工作区内的业务应用 |
| 关联插件 | 可选 | 如人力资源、仓管;办理页可深链打开 |
| 打开提示 | 可选 | 告诉办理人去哪点 |
| 超时小时数 | 可选 | 超时未办可按失败/默认路径推进 |
| 结果变量 | 可选 | 允许写回流程的结果键白名单 |
| 必填结果变量 | 可选 | 完成时必须带回的键 |
| Webhook URL | 可选 | 开票/完成时回调外部系统 |
| 办理人 | 建议配 | 谁收到待办(也可由变量指定,如仓管) |
应用侧:用工作标识拉开放工作票 → 办完 → 调用完成接口并带回结果。
| | 内容 | |--|------| | 收到 | 到达时整份变量表(票侧可带快照);办理人按 assignee 从变量解析 | | 写出 | 完成接口 result 里、且落在 结果变量 白名单内的键(未配白名单时按实现接受合法结果键) |
范例:员工入职办理
flowchart LR A[分配账号 · 应用工作] --> B[发放用品 · 应用工作] B --> C[结束]
| 节点标题 | 工作标识 | 关联插件 | 办理人 | 打开提示 |
|---|---|---|---|---|
| 分配 Cadau 账号 | assign_mindlink_account | 人力资源 | 角色 admin 或指定人事 | 请在人力资源 → 设置 → 入职 完成分配 |
| 发放工作用品 | issue_assets | 仓管 | 表单变量 warehouse_user_id(或设置里指定的仓管) | 请在仓管 → 发放待办 扣库存 |
人事在 人力资源 → 设置 → 入职 勾选办结入职自动发起后,花名册办结与账号/发用品就串起来。注入变量见 §4.4;搭法见 §7.5。
模板默认结果键示例:mindlink_user_id、invite_email、bind_ok;发用品侧如 issued_items、issue_note(以设计器节点配置为准)。
6.5 智能体工作
意义:到达后 自动 派给指定工作智能体(非对话流式)。可调工具查数据、调插件;完成后把 JSON 结果写回变量,再继续或按通过/失败分支。
对话里同一智能体仍只能一轮流式回复;工作流侧可按智能体 工作流同时执行上限 并行,超出部分 排队。
如何设置
- 添加 智能体工作,选中右侧配置。
- 智能体:选工作区内的工作智能体。
- 任务说明:写清要做什么;用
{{变量名}}引用变量(不是上方「说明」字段)。 - 若要生成执行总结文件:勾选 把本单检查结果交给智能体(须放在 自动评分 之后)。
- 结果变量 / 必填结果变量:白名单与必填键。生成文件时写
report_docx_upload_id、report_xlsx_upload_id等。 - 超时分钟数(可选;出 Word/Excel/演示文稿建议加长)。
- 需要分支时,拉出通过 / 不通过连线。
- 在智能体编辑页设置 工作流同时执行上限(默认 3)。
智能体应在回复末尾给出 JSON,例如:
{"outcome":"pass","result":{"emp_title":"工程师","department":"研发"}}
| | 内容 | |--|------| | 收到 | 变量表全部键;任务说明在入队前做 {{…}} 替换后交给智能体。勾选「把本单检查结果交给智能体」时,另附评分汇总与各检查项结论 | | 写出 | result 对象中、落在 结果变量 白名单内的键;outcome 影响出线(通过/失败),本身通常不进业务变量表 |
范例:… → 智能体工作(查岗位)→ … 任务说明:查询员工 {{display_name}}(工号 {{emp_no}})的当前岗位与部门,写入 emp_title、department。
范例:生成执行总结文件
工作区须已开通 办公文档(出 Word / Excel / 演示文稿)和 基础文档(出网页)。画布顺序建议:… → 自动评分 → 智能体工作(写总结)→ 完成。
任务说明示例:
请根据本单已完成的检查与评分,为 {{factory_name}} 生成执行总结。
用办公文档工具生成 Word(.docx)与 Excel 明细(.xlsx);需要时再生成演示文稿(.pptx)或网页(.html)。
禁止只写文字不交文件。把工具返回的 upload_id 写入结果。
结果变量:report_docx_upload_id, report_xlsx_upload_id。智能体须使用 office_document(build_document / build_spreadsheet / build_presentation)或 file_write(.html),不要用脚本另写 Office 文件。
办理页在「出报告」跑完后会出现 执行总结:报告用与对话相同的预览打开,也可点 打开对话 进入该次智能体记录。打开对应智能体时,会话列表里会有带「流程」标记的记录。出报告后应直接连到结束或分支,不必再加「人工确认」表单。
6.5b 调用流程
意义:到达本步时 发起另一份工作流(如整改办理),把本单变量按映射传给对方。默认 发出后本流程继续(不挂起)。适合 CAP 后开整改单、审批驳回后开补办流程等。
配置要点
- 目标流程:选本流程(需整改项再走一遍上传与评分),或选工作区其他已启用定义;也可填模板编号(如
cap_remediation)。未指定时,整改类调用节点默认按本流程再开一张单。 - 发起方式:发出后继续(默认);等待对方办完(即将支持)。
- 输入映射:每行
本单来源 => 对方变量;旁路可用source:cap_items(待改进项列表)、source:aggregate_summary。行末!表示必填。 - 开单方式:本批一张,或每个待改进项一张。
| | 内容 | |--|------| | 收到 | 本单变量表 +(可选)评分旁路打包 | | 写出 | called_instance_id / called_instance_ids、called_definition_id、call_mode |
系统会自动带上 caller_instance_id 等关联键给对方。契约细节见 workflow.json-v1 · workflow.call。
范例(IWAY):CAP 整改 → 调用流程(本流程)→ 结束或复检。提交整改说明后新开一张本流程单,只含需整改项。
6.6 加载检查标准
意义:自动从流程绑定的 合规调查问卷 读取检查项,供后面的 上传证据、自动评分 使用。用户无待办。本节点由 合规管理插件 声明;未启用合规则设计器目录中不会出现。
如何设置:在流程 基本设置 绑定调查问卷;画布上放在上传/评分 之前;可用「阶段过滤」只加载部分 phase。
旧流程若仍写 standards.load,运行时会映射到合规加载(须已启用合规)。
| | 内容 | |--|------| | 收到 | 流程绑定的标准集;变量表中的发起信息(如工厂名)可用于展示 | | 写出 | 检查项列表写入实例载荷(评分依据),通常不以扁平键写入 variables |
6.7 自动评分
意义:按检查项上的 评分说明 与已上传证据打分并汇总。用户无待办;结果供 规则分支 使用。
如何设置:放在 上传证据 之后、规则分支 之前;细则写在合规检查项里。
| | 内容 | |--|------| | 收到 | 检查项列表 + 已上传证据 | | 写出 | 评分明细与汇总(如合格 / 红线 / 待改进)写入实例载荷的汇总结果;规则分支读汇总,一般不依赖你在表单里自建同名变量 |
6.8 规则分支
意义:按规则决定走哪条后续连线。本身不产生待办。 注意:「说明」只是备注,不参与分流。
#### A. 按评分汇总(检查类)
- 添加 规则分支,规则选 按评分汇总(通过 / 红线 / CAP)。
- 拉出最多三条线:通过 → 完成;不通过(红线)→ 未通过终点;待改进(CAP)→ 整改表单再回上传/评分。
| | 内容 | |--|------| | 收到 | 上一环 自动评分 的汇总状态(载荷侧) | | 写出 | 无;只决定走哪条出线 |
flowchart LR
S[自动评分] --> B{规则分支}
B -->|通过| OK[结束]
B -->|不通过| NG[结束·未通过]
B -->|待改进| R[整改说明 · 表单]
R --> U[上传证据]
U --> S#### B. 按变量区间(如总金额多档)
适用于「100 以下走 A、100–200 走 B、200–500 走 C、500 以上走 D」等 4 路及以上 分流。
- 前面的 填写表单 里要有可比较的数字:单独数字字段(如
amount),或明细表中配置了「合计」等统计的列。提交后会写入表字段key.列key(例如费用明细金额合计 →expense_lines.amount)。 - 添加 规则分支,规则选 按变量区间。
- 选变量,在区间列表点「弹窗编辑…」填写各档显示名与上下限(下限含、上限不含)。出线时在下拉里选档名即可,无需手写编码。
- 从本节点拉出与区间条数相同的线,每条出线选对应区间标签。
- 「未匹配时走」默认 未匹配(其它):请再拉一条出线,出线条件选「未匹配(其它)」(空值、非法数字、或未落入任一区间时走这条)。也可改成走某一档区间。
flowchart LR
F[填写表单_总金额] --> B{规则分支_变量区间}
B -->|lt_100| A[路径A]
B -->|r_100_200| Bpath[路径B]
B -->|r_200_500| C[路径C]
B -->|ge_500| D[路径D]「按总分阈值」仍在开发中。
6.9 结束
意义:流程终点。可有多个结束节点(如「办结」与「未通过」)。
如何设置:标题区分用途;失败结局勾选 标记为「未通过」终点;不能设为起点。
| | 内容 | |--|------| | 收到 | 到达时的全部变量与载荷(可供事后查阅) | | 写出 | 无;实例状态变为已完成或未通过 |
6.10 节点变量速查表
| 节点 | 主要读取 | 主要写入 variables |
|---|---|---|
| 填写表单 | 已有变量(同名预填) | 各字段 key;附件为编号列表;明细列统计写入 表key.列key |
| 上传证据 | 检查项列表 + 变量 | 一般不写业务键 |
| 审批 | 变量(含办理人变量) | approval_decision、approval_note |
| 应用工作 | 变量快照;办理人变量 | 完成 result 白名单键 |
| 智能体工作 | 变量 → {{…}} 进任务说明;可选附带本单检查结果 | result 白名单键(含文件 upload_id) |
| 加载检查标准 | 合规调查问卷 | 检查项 → 载荷(非扁平变量) |
| 自动评分 | 检查项 + 证据 | 汇总 → 载荷(供分支) |
| 规则分支 | 评分汇总,或表单变量(区间模式) | 无 |
| 结束 | 全部 | 无 |
| (发起)入职等 | — | §4.4 所列键 |
7. 上手与业务示例
7.1 示例 A:空白流程做「请假申请」(最小路径)
- 新建 空白流程
- 在「开始」表单加字段:事由、天数、审批人(key 含 user id 语义)
- 加 审批,办理人 → 表单变量 →
approver_user_id - 加两个 结束:「已通过」「已驳回」
- 审批双线分别连到两个终点,出线设为通过 / 不通过
- 保存 → 运行 里发起一次自测
7.2 示例 B:IWAY 工厂审核(检查类)
- 用 IWAY 工厂审核 模板创建
- 在 基本设置 绑定合规 调查问卷(检查项在合规管理中维护)
- 设计器里可按需微调;评分、分支一般保持默认
- 运行 时按提示选部门(若需要),上传证据后看待办与评分结果
7.3 示例 C:只改审批链
复制已有流程定义 → 在审批后插入第二个 审批 → 办理人改为不同变量或员工 → 保存。适合「部门主管 → 财务」两级。
7.4 示例 D:费用报销(表头 + 多行明细 + 财务办理)
这是 通用节点拼出来的测试范例,不是产品内置「财务专用节点」。财务侧用 应用工作(与入职发用品同一类)。
- 用 空白流程 创建
- 填写表单(发起):部门、日期、费用明细(明细表+金额合计)、票据附件、备注
- 规则分支(可选):按
费用明细.金额合计分档到不同审批 - 审批(主管 / 经理)
- 应用工作(财务报销,测试范例配置):
| 属性 | 建议值 |
|---|---|
| 标题 | 财务报销 |
| 工作标识 | finance_reimburse(任意稳定英文键,将来插件按此拉票) |
| 关联插件 / 应用 | 有财务插件后再选;没有可留空 |
| 打开提示 | 如「请在财务应用中生成凭证后回来标记已办理」 |
| 办理人 | 指定财务同事,或表单变量里的财务用户 ID |
| 结果变量 | 可选,如 voucher_no(插件写回凭证号时再用) |
- 结束
flowchart LR
A[填写报销单] --> B{金额分档}
B --> C[审批]
C -->|通过| D[应用工作·财务报销]
D --> E[结束]现阶段(插件未就绪):财务办理人在运行页打开该待办,点 「标记已办理」 即可推进。 插件就绪后:插件按 work_key 拉开放工作票 → 填凭证 → 调完成接口;运行页「打开应用」深链到插件,不必改流程节点类型。
也可用第二张 填写表单 / 审批 代替应用工作(纯人工确认),但无法对接未来财务插件的工作票。
7.5 示例 E:员工入职办理(账号 + 发用品)
- 新建流程选模板 员工入职办理(或空白自建):
- 应用工作 assign_mindlink_account(插件:人力资源) - 应用工作 issue_assets(插件:仓管) - 结束
- 在 人力资源 → 设置 → 入职 勾选「办结入职时自动发起」,并选择上述流程;可选指定仓管办理人。离职 / 调动同在 设置 中配置(默认关闭)
- 办结入职后自动开跑;管理员在「设置 → 入职」完成账号分配,仓管在 应用 → 仓管 → 发放待办 扣库存并完成工作票
自动带入的员工字段见 §4.4。若第一步改为 智能体工作,任务说明里可直接写 {{display_name}}、{{emp_no}} 等。
7.6 组合速查
| 目标 | 推荐链路 |
|---|---|
| 最短可跑通 | 填写表单(起点)→ 结束 |
| 一审审批 | 填写表单 → 审批 → 结束 / 结束·未通过 |
| 金额多档分流 | 填写表单(金额)→ 规则分支(变量区间)→ 各档审批/结束 |
| 费用报销(测试范例) | 填单 →(分档)→ 审批 → 应用工作(财务)→ 结束;插件未就绪时运行页「标记已办理」 |
| 检查审核闭环 | 表单 → 加载检查标准 → 上传 → 评分 → 规则分支 → … |
| 入职业务联动 | 应用工作(账号)→ 应用工作(发用品)→ 结束(由人事办结自动发起) |
8. 保存、运行、发布
- 流程设计 → 保存画布
- 基本设置 → 名称、说明;IWAY 类需绑定合规调查问卷
- 运行 → 填写发起信息,产生 实例(或由人事办结自动发起)
- (可选)发布到应用桌面 → 一线从桌面图标进入
8.1 试跑亮线(设计器结构检查)
在 流程设计 左侧点 试跑亮线:对当前画布(含未保存改动)做结构检查,节点与连线会沿主路径逐步点亮。
- 通则亮到某个结束节点,提示「主路径可走通」
- 不通停在挡点(缺连线、缺审批分支、智能体未指定等),并显示失败原因
- 不会真正发起流程、不派待办
主路径:优先走「下一步」;审批 / 规则分支走「通过」线。查完后可点 清除亮线 继续改设计。
与下方「测试单」分工:试跑亮线查设计能否连得通;作为测试发起才验真实办理与变量回写。
8.2 测试单(自测用、可清理)
设计结构通过后,建议再跑 测试单,再给一线用正式单:
- 打开 运行,勾选 作为测试发起
- 正常填发起信息并提交——会生成真实待办/工作票,标题带「[测试]」前缀
- 走完审批、智能体工作等路径,确认分支与变量无误
- 列表可筛「全部 / 仅正式 / 仅测试」;点 清理测试实例 一键硬删除本流程下可清理的测试单(自己发起的;工作区管理员可清该流程全部测试单)及其待办、工作票、智能体任务
人事办结自动发起、插件/对话工具发起的实例默认 不是 测试单。清理不可恢复,正式单不受影响。
9. 常见问题
Q:改了设计,进行中的单会变吗? 不会。只影响保存之后新发起的实例。
Q:入职传过来的变量在哪查? 配置清单见 §4.4。跑起来后看该实例接口响应里的 variables,或在后续表单/智能体任务说明中引用同名键。
Q:怎么知道某个节点写出了什么? 看该节点类型说明(§6)和节点上配置的字段 key / 结果变量;办完后用实例的 variables 核对。
Q:审批和表单里的「签字栏」有什么区别? 审批是独立步骤,有通过/驳回语义和分支;表单签字栏只是字段,不会自动分叉。
Q:应用工作办完了流程不动? 检查工作标识是否与应用拉取的一致、办理人是否收到待办、完成接口是否成功、是否配置了必填结果变量却未带回。
Q:智能体工作没吃到变量? 确认写在 任务说明 里(不是上方「说明」),且 {{变量名}} 与到达该步时变量表中的键一致(入职场景见 §4.4)。
Q:规则分支总是走同一条? 「说明」不参与分流。评分模式:确认已跑过自动评分,且出线设为通过/不通过/待改进。变量区间模式:核对变量、区间边界与出线档名。多档分流见 §6.8 B。
Q:空白流程为什么没有检查项? 空白模板只给「开始 → 完成」。要检查类能力,启用合规后自行加「加载检查标准 / 上传 / 评分」,或直接用 IWAY 模板。
Q:Delete 删不掉某个节点? 那是起点。先把起点改到别的节点,再删。
10. 实现对照
| 用户概念 | 实现 |
|---|---|
| 流程设计画布 | client/web/src/WorkflowVisualEditor.tsx |
| 节点属性面板 | client/web/src/WorkflowNodeInspector.tsx |
| 步骤类型与图转换 | client/web/src/workflowEditorModel.ts(STEP_TYPE_CATALOG) |
| 保存目标 | workflow_definitions.config_json.workflow(v1) |
| 步骤语义 | docs/core-mechanisms/workflow.json-v1.md |
| 运行时引擎 | backend/internal/workflow/runner.go |
| 入职等发起变量 | 人力资源插件办结生命周期 → 发起流程的 variables |
| HTTP | PATCH …/workflows/definitions/{defId};实例 GET …/workflows/instances/{id} |
设计器产物核心字段:
start_step:起点节点 idsteps[]:每步的type、title、fields、configtransitions[]:显式连线(when:always/pass/fail/cap_required,或变量区间自定义 when)layout.nodes[]:画布坐标,仅影响编辑器展示
对话工具(工作智能体):workflow_list / workflow_create / workflow_start 可辅助创建与发起。
其它文档:help/product-features/compliance-workflow.md(产品能力与模板概览)。
小结
上手路径:空白流程画最短路径 → 试跑亮线 → 作为测试发起自测 → 清理测试实例 → 再按需加审批、应用工作或检查节点;复杂审核用 IWAY + 合规检查项;入职联动用 员工入职办理模板 + 人力资源设置。 变量:设计时看字段 key / 结果变量 / §4.4;运行时看实例 variables 与 §6 各节点入出表。