Skip to content

审批、任务与协作

审批协作覆盖用户处理任务时的全部动作,包括通过、驳回、转办、委派、协办、加签、减签、退回、撤回已办、催办和动态抄送。入口主要是「待我审批」「我已办」「抄送我的」「我的申请」和实例详情。

待办列表

「待我审批」按任务组织:同一实例的多条并行待办(如并行会签、加签)各占一行,可独立勾选和处理;列表总数与行数同口径。批量勾选以任务为粒度,提交前会拉取最新列表做陈旧检查,状态已变化的任务被剔除并提示刷新。

新待办通过 WS 实时推送并刷新列表缓存(见下文)。

待办处理

操作说明
通过当前任务通过;按审批方式判断是否推进节点
驳回当前任务驳回;按按钮跳转配置或节点驳回策略处理
转办把当前任务转给目标用户,当前处理人退出任务
委派目标用户先给出建议,再回到最早委派人最终确认
加签临时增加审批人,可前加签、后加签或并加签
减签移除由加签产生且仍可处理的任务
退回退回前序审批/办理节点
催办对待处理任务发送提醒
协办邀请其他用户提供意见,不代替审批
撤回已办审批人撤回自己刚完成的处理,流程回到对应节点重审。原任务行保留原始意见与签名并标记「已撤回」,其后续产生的任务作废为 skipped(注释 [撤回作废] 上游审批撤回重审),系统新建同轮重审任务承接后续审批
修改可编辑字段节点表单权限含「可编辑」字段时,处理人可在详情中修改并随「通过」提交(formUpdates),服务端按节点权限白名单过滤后写回实例表单

审批接口使用幂等防重复提交,批量审批与转办额外通过 Redis 动作去重,避免重复点击造成多次推进。通过、拒绝、转办、委派、加签、减签、退回七类动作在服务端按节点「操作按钮」配置强制校验启用态,未启用的动作即使绕过前端也会被拒绝。

重复处理人预检

转办、委派、加签、管理员改派和离职交接在写入前统一校验目标处理人:目标用户已在同节点同激活轮次持有 pending/waiting 任务时,返回 409 并附带姓名(如「赵六·财务主管 已是本节点待办处理人,无需重复指派」)。离职交接逐条改派时命中冲突的条目自动跳过、不阻断其余条目。数据库层的活动任务部分唯一索引作为最后防线(见实例生命周期)。

委派回执场景下,若最早委派人已在同节点同轮持有活动任务,回执不再重建新任务,由既有任务直接承接最终确认。

实时提醒与列表刷新

管理后台在 AdminLayout 挂载统一的 WS 消费 hook,按事件类型失效对应的 TanStack Query 缓存:

  • 新待办推送 workflow:taskCreated:右上角弹出可点击提醒(直达「待我审批」并自动展开该任务),并刷新待办列表缓存。
  • 自己的任务被超时自动通过 / 自动拒绝时推送 workflow:taskFinisheddecision: approved | rejected),刷新待办列表。
  • 流程结束(通过 / 驳回 / 撤回)向发起人推送 workflow:instanceFinished,刷新「我的申请」、待办与流程监控缓存;刻意不做全域失效,避免设计器编辑中的画布被 refetch 覆盖。

移动审批(approval.html)不走 WS,底部 TabBar 的待办 / 抄送未读角标由 30 秒轮询 GET /api/workflows/instances/pending-mine/countGET /api/workflows/instances/cc-mine/unread-count 维持。

审批方式

方式运行效果
或签一人通过后节点通过,其余同节点待办标记为 skipped(注释 [或签联动] 本节点已有审批人通过,其余待办作废
会签全部待办通过后节点通过
依次审批只放出当前顺序处理人,前一人通过后下一人变为 pending
比例会签同意比例达到阈值即通过,剩余待办跳过(注释 [比例会签联动] 已达通过比例,其余待办作废
随机一人从候选人中选一人处理
自动通过节点不产生人工待办,自动推进

同一次进入节点创建的一批任务共享一个激活轮次(activationId);节点因驳回回退、退回或撤回重审被再次进入时生成新一轮。会签、比例会签的完成判定只统计当前轮任务,历史轮的驳回/跳过记录不参与阈值计算,也不会卡死节点。加签、委派回执产生的任务继承同轮参与判定。

任一审批人拒绝时,同节点其余活动待办联动作废(注释 [同节点联动] 本节点已有审批人拒绝,其余待办作废),随后按驳回策略处理。

驳回与退回

驳回用于表达不同意,退回用于让前序节点补充处理。

能力说明
终止流程实例进入 rejected,全量清场(任务/Token/推进作业)
退回上一节点找到上一个审批/办理节点重新生成任务
退回发起人全量清场后实例进入 returned,发起人修改后在原实例重新提交(见实例生命周期
退回指定节点按节点 key 回到目标节点
按钮跳转拒绝/退回按钮可配置跳转目标,优先于节点默认策略
回到原节点被退回节点完成后直接回到发起退回的节点

被清场的待办都带来源注释,处理人在「我已办」和时间线中能看到任务因何作废。

转办与委派

转办、委派、管理员改派、离职交接、超时升级转交统一写入 workflow_task_transfers 明细表(移出方、接收方、操作人、原因、时间),完整回答"谁在何时因何把任务交给了谁":

字段说明
originalAssigneeId任务最初处理人
transfers任务的转办明细列表(详情场景返回,时间线逐条展示)
delegatedFromId委派期间指向最早委派人

系统禁止把任务转回曾经经手的人(基于转办明细的 from/to 并集判定),避免 A → B → A 的循环;转给同节点已有活动待办的人则被预检拦截(409 带姓名)。委派多次时,最终回执仍回到最早委派人。

加签与减签

加签位置说明
前加签原任务进入 waiting,加签人先处理,完成后原任务恢复
后加签原审批人先完成,再交给加签人接力
并加签加签人与原处理人并行处理,按选择的会签/或签汇总

加签目标同样经过重复处理人预检;减签只能移除由加签产生的待办。加签和减签分别触发 task.addSignedtask.reduceSigned 事件。

协办

协办用于收集意见,不改变任务处理人。审批人发起协办后,协办人在「我的协办」中回复意见,审批人在任务详情中查看并自行决定通过或驳回。

审批代理

审批代理(离岗委托)用于出差、休假等场景:委托人把自己的待审批任务在一段时间内自动转交给代理人。入口为 工作流引擎 → 审批代理

配置说明
委托人 / 代理人待办从委托人自动转交给代理人
适用流程可限定单个流程定义;留空对全部流程生效
生效时间开始 / 结束时间;留空表示立即生效 / 长期有效
原因备注委托原因
启用状态规则可随时停用

代理在任务生成时生效:引擎解析出的处理人命中启用中的代理规则时,待办直接指派给代理人,任务上保留 delegatedFromId 指向原处理人,时间线可见转交痕迹。已生成的历史待办不受新增规则影响。管理员执行离职交接时可一并停用离职人的代理规则。

催办

发起人和管理员可对运行中实例的 pending 任务催办。单个任务 5 分钟内只允许催办一次;实例级催办会对所有待办尝试提醒,并跳过命中节流的任务。节点开启超时「自动提醒」时,系统也会在每次到期提醒时向处理人自动发送催办通知。

催办记录写入 workflow_task_urges,并触发 task.urged 事件(系统超时提醒仅发事件,不写催办记录)。

抄送

抄送节点解析接收人后写入抄送任务,送达即完成,不阻塞流程:

  • 「抄送我的」列表的抄送时间为 CC 任务的送达时间(运行中补加的抄送按补加时刻计),与实例发起时间无关;未读/已读状态独立维护,支持标记已读与转发。
  • 所有运行态视图(节点列表、流程图卡片、审批时间线、监控任务明细)对已送达的抄送统一显示「已抄送」(成功色);流程尚未到达的抄送节点显示「待抄送」。

运行中的实例支持动态补加抄送:

http
POST /api/workflows/instances/{id}/cc/add

调用者必须是发起人或管理员,目标节点必须是 ccNode,系统会自动去重已抄送过的用户。

常用语、附件与签名

能力说明
常用语用户维护自己的审批常用语,在审批弹窗中快速填入
附件每个操作按钮(通过/拒绝/转办/委派/加签/退回)可独立配置附件策略:不显示 / 选填 / 必填,必填时未上传附件无法提交。审批与发起表单的附件统一走 POST /api/workflows/attachments(按工作流身份放行,见权限与范围控制
手写签名节点启用签名后,通过时必须提交签名
意见必填节点启用后,通过或驳回必须填写意见

沟通与通知深链

实例详情「沟通」页签支持:

能力说明
自由评论参与人(发起人/处理人/超管)可留言
@提及提及参与人并发送站内信 + WS 实时提醒(带实例详情深链)
评论附件每条评论最多 5 个附件,随评论展示
回复引用对某条评论回复,展示被引用评论的作者与内容摘要(父评论删除后引用置空,本条保留)

工作流站内信均带深链link 字段):待办/催办/转交提醒跳「待我审批」并自动弹出对应任务详情;抄送提醒跳「抄送我的」;审批结果与 @提及跳「我的申请」实例详情。顶栏消息点击直达,WS 实时弹窗点击文案同样跳转。

批量处理

操作说明
批量通过对多个待办任务逐条审批通过,返回每条成功/失败结果
批量驳回对多个待办任务逐条驳回,返回每条成功/失败结果
批量撤回对多个自己发起的运行实例撤回
批量催办对多个实例的待办批量催办

批量操作以任务为粒度(勾选的每行即一个任务),提交前做陈旧检查,遇 409 并发冲突自动刷新列表引导重选。

保存视图

「我的申请」「待我审批」「我已办」「抄送我的」和「流程监控」列表支持把当前筛选条件保存为个人视图,一键切换常用筛选组合;可设默认视图(进入页面自动套用)并调整排序。视图按用户隔离存储。

Built with VitePress for local documentation preview.