简体中文
更换处理人增强
约 696 字大约 2 分钟
2026-04-16
在审批流场景中,当默认「更换处理人」交互(例如更换意见是否必填等)无法满足业务诉求时,可通过审批详情插件挂载逻辑做增强:Web 端在更换处理人弹窗渲染前定制;移动端在审批操作前统一拦截,并通过上下文 API 设置更换处理人相关扩展数据。
典型场景例如:
- Web:按业务规则动态控制「更换意见」是否必填(
setOpinionRequired) - 移动端:在审批操作触发前,通过
setChangeApproverExtData设置更换处理人原因是否必填等
适用场景
适用于「审批详情页已存在,但更换处理人相关校验或扩展字段需要按业务规则定制」的场景;具体事件参数与示例以参考手册为准。Web 与移动端接入点不同,请勿混用 API 名称。
适用页面
- 审批详情页(更换处理人相关能力:Web 为弹窗链路;移动端为审批操作前钩子,详见推荐入口)
什么时候适合做更换处理人增强
如果你遇到下面这些需求,通常都适合优先考虑更换处理人增强:
- Web:需要根据流程、节点或角色动态控制「更换意见」是否必填
- 移动端:需要在点击审批相关操作前插入逻辑,并设置更换处理人原因是否必填(
setChangeApproverExtData)等
开发思路
更换处理人增强通常可以拆成三步理解:
- 明确终端:Web 使用
approval.changeApprover.render.before;移动端使用flow.approval.action.before(审批操作前,非单独「更换处理人弹窗」事件名) - 在审批详情插件中注册对应事件或 Hook,在回调内调用参考手册中的 API
- 发布插件并在目标审批详情场景中完成配置与验证
开发流程
确认业务仅在「更换处理人」或与其相关的审批操作链路生效,避免与通用意见区能力混淆。
创建审批详情插件并注册入口:
按参考手册实现:Web 侧使用
setOpinionRequired等;移动端在options.context上调用setChangeApproverExtData(如{ isRequired: true }),并按需返回isIntercept。联调:覆盖必填/非必填、异常关闭弹窗或中断操作等场景。
发布并配置插件。
推荐入口
Web 端
approval.changeApprover.render.before— 更换处理人渲染之前
移动端
flow.approval.action.before— 审批动作执行之前
