简体中文
同意功能增强
约 1037 字大约 3 分钟
2026-04-09
在审批流场景中,对「同意」相关交互与展示做增强(例如同意弹窗、同意前后逻辑、并行/串行加签文案等)。
典型场景例如:
- 自定义同意弹窗的标题内容
- 自定义并行加签/串行加签的文案
- 控制后加签功能的显示/隐藏
- 强制弹出或跳过编辑内容表单
- 直接完成任务跳过审批意见弹窗
- 自定义审批意见输入框标题
- 自定义处理审批开关相关文案和显隐
适用场景
适用于"审批详情页中同意流程的相关交互、文案、显隐需要定制化"的场景。
适用页面
- 审批详情页-同意操作触发的弹窗
- 待处理的审批流程-同意操作触发的弹窗
什么时候适合做同意功能增强
如果你遇到下面这些需求,通常都适合优先考虑同意功能增强:
- 想自定义同意弹窗的标题、并行/串行加签文案
- 想控制后加签功能的显示或隐藏
- 想在同意渲染前后执行额外的业务逻辑
- 想强制弹出或跳过编辑内容表单/页面
- 想直接完成任务跳过审批意见弹窗
- 想自定义审批意见输入框相关文案
- 想控制处理审批开关的显示/隐藏或默认状态
开发思路
同意功能增强通常可以拆成三步理解:
- 明确要增强的是同意流程中的哪一个环节
- 选择合适的扩展事件/钩子
- 在插件中接入扩展点并验证行为
开发流程
明确场景与接入点
在开始之前,先确认以下问题:
- 逻辑需要在同意 UI 绘制之前还是之后执行(Web 对应
approval.agree.render.before/approval.agree.render.after;移动端对应各 Hook) - 是否涉及弹窗标题、加签文案、后加签显隐、审批开关等能力
- 逻辑需要在同意 UI 绘制之前还是之后执行(Web 对应
创建审批详情插件
在后台创建 审批详情 类插件(Web / 移动端按实际终端选择),与 Web端审批详情插件说明或移动端审批详情插件说明文档对齐。
选择事件或 Hook 并编写逻辑
Web 端:在插件
apply中注册事件,在回调内使用文档提供的api方法(如获取流程数据、自定义弹窗标题、加签文案、后加签显隐、审批开关控制等)。移动端:注册与场景匹配的 Hook,在
functional中处理isSupportAfterTag、forceShowEditForm等参数。联调与验证
- 覆盖「同意并发送」「同意后加签」「直接完成任务」等不同同意路径
- 对照参考手册核对文案定制、样式定制与返回值
发布与上线
开发完成后发布插件,在对应审批详情场景中启用,并在真实流程任务上回归同意路径。
推荐入口
Web 端
approval.agree.render.before— 审批同意渲染之前approval.agree.render.after— 审批同意渲染之后
移动端
flow.approval.opinion.page.render.before— 审批意见页渲染之前flow.approval.edit.form.render.before— 编辑审批内容表单渲染之前flow.approval.opinion.candirect.complete.render.before— 控制直接完成任务flow.edit.form.parser.render.befor— 编辑内容表单渲染之前
常见问题
Q:render.before 和 render.after 的区别是什么?
render.before 在渲染之前执行,适合做数据准备、条件判断、强制弹窗等行为。render.after 在渲染之后执行,适合做文案自定义、样式调整、元素显隐等行为。
Q:如何判断是否可以直接完成任务?
使用 canDirectCompleteTask() 方法判断:
- 如果有审批内容或审批意见必填,则不可以直接完成任务
- 如果没有审批内容且审批意见非必填,则可以直接完成任务
