审批、任务与协作
审批协作覆盖用户处理任务时的全部动作,包括通过、驳回、转办、委派、协办、加签、减签、退回、撤回已办、催办和动态抄送。入口主要是「待我审批」「我已办」「抄送我的」「我的申请」和实例详情。
待办处理
| 操作 | 说明 |
|---|---|
| 通过 | 当前任务通过;按审批方式判断是否推进节点 |
| 驳回 | 当前任务驳回;按按钮跳转配置或节点驳回策略处理 |
| 转办 | 把当前任务转给目标用户,当前处理人退出任务 |
| 委派 | 目标用户先给出建议,再回到最早委派人最终确认 |
| 加签 | 临时增加审批人,可前加签、后加签或并加签 |
| 减签 | 移除由加签产生且仍可处理的任务 |
| 退回 | 退回前序审批/办理节点 |
| 催办 | 对待处理任务发送提醒 |
| 协办 | 邀请其他用户提供意见,不代替审批 |
| 撤回已办 | 审批人撤回自己刚完成的处理,流程回到对应节点 |
| 修改可编辑字段 | 节点表单权限含「可编辑」字段时,处理人可在详情中修改并随「通过」提交(formUpdates),服务端按节点权限白名单过滤后写回实例表单 |
审批接口使用幂等防重复提交,避免重复点击造成多次推进。
实时提醒与角标
- 新待办通过 WebSocket 实时推送(
workflow:taskCreated),前端弹出提醒并刷新待办列表。 - 侧边栏「待我审批」菜单显示待办数量角标(
GET /api/workflows/instances/pending-mine/count),WS 失联时每分钟轮询兜底。 - 待办被超时自动处理、或签抢占、管理员改派时(
workflow:taskFinished)自动刷新列表与角标。
审批方式
| 方式 | 运行效果 |
|---|---|
| 或签 | 一人通过后节点通过,其余同节点待办标记为 skipped |
| 会签 | 全部待办通过后节点通过 |
| 依次审批 | 只放出当前顺序处理人,前一人通过后下一人变为 pending |
| 比例会签 | 同意比例达到阈值即通过 |
| 随机一人 | 从候选人中选一人处理 |
| 自动通过 | 节点不产生人工待办,自动推进 |
驳回与退回
驳回用于表达不同意,退回用于让前序节点补充处理。
| 能力 | 说明 |
|---|---|
| 终止流程 | 实例进入 rejected |
| 退回上一节点 | 找到上一个审批/办理节点重新生成任务 |
| 退回发起人 | 回到发起人修改并重新提交 |
| 退回指定节点 | 按节点 key 回到目标节点 |
| 按钮跳转 | 拒绝/退回按钮可配置跳转目标,优先于节点默认策略 |
| 回到原节点 | 被退回节点完成后直接回到发起退回的节点 |
转办与委派
转办、委派、管理员改派、离职交接、超时升级转交统一写入 workflow_task_transfers 明细表(移出方、接收方、操作人、原因、时间),完整回答"谁在何时因何把任务交给了谁":
| 字段 | 说明 |
|---|---|
originalAssigneeId | 任务最初处理人 |
transfers | 任务的转办明细列表(详情场景返回,时间线逐条展示) |
delegatedFromId | 委派期间指向最早委派人 |
系统禁止把任务转回曾经经手的人(基于转办明细的 from/to 并集判定),避免 A → B → A 的循环。委派多次时,最终回执仍回到最早委派人。
加签与减签
| 加签位置 | 说明 |
|---|---|
| 前加签 | 原任务进入 waiting,加签人先处理,完成后原任务恢复 |
| 后加签 | 原审批人先完成,再交给加签人接力 |
| 并加签 | 加签人与原处理人并行处理,按选择的会签/或签汇总 |
减签只能移除由加签产生的待办。加签和减签分别触发 task.addSigned、task.reduceSigned 事件。
协办
协办用于收集意见,不改变任务处理人。审批人发起协办后,协办人在「我的协办」中回复意见,审批人在任务详情中查看并自行决定通过或驳回。
催办
发起人和管理员可对运行中实例的 pending 任务催办。单个任务 5 分钟内只允许催办一次;实例级催办会对所有待办尝试提醒,并跳过命中节流的任务。
催办记录写入 workflow_task_urges,并触发 task.urged 事件。
抄送与动态补加
抄送节点解析接收人后写入抄送任务,不阻塞流程。接收人可在「抄送我的」查看、标记已读、转发抄送。
运行中的实例支持动态补加抄送:
POST /api/workflows/instances/{id}/cc/add调用者必须是发起人或管理员,目标节点必须是 ccNode,系统会自动去重已抄送过的用户。
常用语、附件与签名
| 能力 | 说明 |
|---|---|
| 常用语 | 用户维护自己的审批常用语,在审批弹窗中快速填入 |
| 附件 | 每个操作按钮(通过/拒绝/转办/委派/加签/退回)可独立配置附件策略:不显示 / 选填 / 必填,必填时未上传附件无法提交 |
| 手写签名 | 节点启用签名后,通过时必须提交签名 |
| 意见必填 | 节点启用后,通过或驳回必须填写意见 |
沟通与通知深链
实例详情「沟通」页签支持:
| 能力 | 说明 |
|---|---|
| 自由评论 | 参与人(发起人/处理人/超管)可留言 |
| @提及 | 提及参与人并发送站内信(带实例详情深链) |
| 评论附件 | 每条评论最多 5 个附件,随评论展示 |
| 回复引用 | 对某条评论回复,展示被引用评论的作者与内容摘要(父评论删除后引用置空,本条保留) |
工作流站内信均带深链(link 字段):待办/催办/转交提醒跳「待我审批」并自动弹出对应任务详情;抄送提醒跳「抄送我的」;审批结果与 @提及跳「我的申请」实例详情。顶栏消息点击直达,WS 实时弹窗点击文案同样跳转。
批量处理
| 操作 | 说明 |
|---|---|
| 批量通过 | 对多个待办逐条审批通过,返回每条成功/失败结果 |
| 批量驳回 | 对多个待办逐条驳回,返回每条成功/失败结果 |
| 批量撤回 | 对多个自己发起的运行实例撤回 |
| 批量催办 | 对多个实例的待办批量催办 |