批量审批功能设计文档
1. 功能概述
Section titled “1. 功能概述”批量审批用于在普通业务数据表格中,对用户选中的多条记录批量提交审批决定。 用户可以在一个弹窗中选择“通过”“否决”或“退回”,系统会逐条确认每条业务记录是否对应当前用户可处理的审批待办,以及当前审批是否不需要填写必填意见、修改字段或完成其他交互输入,并将符合条件的记录提交给现有审批流程。
该功能处理的是已经发起并到达当前用户的审批任务,不负责发起新的审批流程,也不绕过审批插件已有的权限、状态、会签和流程恢复规则。
2. 目标与范围
Section titled “2. 目标与范围”2.1 功能目标
Section titled “2.1 功能目标”- 为普通业务数据表格提供可配置的批量审批按钮。
- 允许页面设计者将按钮绑定到一个指定的审批工作流。
- 支持对选中记录批量提交通过、否决或退回决定。
- 只处理当前用户已有且仍处于待处理状态的审批待办。
- 支持部分成功,并对每条失败记录给出可定位的原因。
2.2 其他配置
Section titled “2.2 其他配置”- 审批窗口显示哪些按钮。
- 审批后是否刷新列表。
2.3 注意事项
Section titled “2.3 注意事项”- 单次最多选择 50 条记录。
- 不自动发起尚未提交的审批流程。
- 不处理其他用户的审批待办。
- 不支持代理、加签、撤回等其他审批操作。
- 不支持需要用户填写必填意见、编辑业务字段或提交字段赋值的审批动作。
- 不适用于审批待办列表、行操作、表单操作区、看板、地图、甘特图等非普通多选表格场景。
3. 使用角色
Section titled “3. 使用角色”- 在普通业务表格的批量操作区添加“批量审批”按钮。
- 选择与当前数据表匹配的已启用审批工作流。
- 配置弹窗中展示的审批决定按钮。
- 配置审批完成后是否刷新列表。
- 在表格中选择需要处理的业务记录。
- 选择批量审批决定并确认提交。
- 查看成功数量和失败记录的原因。
4. 前置条件与启用规则
Section titled “4. 前置条件与启用规则”- 系统必须安装并启用“工作流:审批”插件。
- 当前页面必须是支持多选的普通业务数据表格,并且数据表具有可用主键。
审批插件未启用时,按钮不出现在可添加的按钮列表中。
5. 按钮配置设计
Section titled “5. 按钮配置设计”5.1 默认表现
Section titled “5.1 默认表现”- 按钮名称:批量审批
- 默认图标:审核语义图标
- 默认位置:普通业务表格的操作区
- 未选择记录时:提示至少选择一条记录,不打开弹窗
5.2 配置项
Section titled “5.2 配置项”| 配置项 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| 审批工作流 | 是 | 无 | 只能选择当前数据表对应的已启用审批工作流 |
| 弹窗中的审批决定 | 是 | 通过、否决、退回 | 至少选择一个 |
| 审批后刷新列表 | 否 | 是 | 提交完成后是否重新加载当前表格数据 |
6. 记录级处理结果与判断规则
Section titled “6. 记录级处理结果与判断规则”| 情况 | 处理结果 |
|---|---|
| 没有匹配的当前用户待办 | 失败:没有可处理的待办 |
| 待办所属执行、作业或节点已结束 | 失败:待办已处理或不再待处理 |
| 当前节点不允许所选决定 | 失败:当前节点不允许该决定 |
| 审批需要输入数据 | 失败:该动作需要输入,不能批量处理 |
系统使用审批待办产生时保存的历史执行、作业、节点和审批页面配置判断资格,不以当前新版节点配置替代历史运行状态。
7. 结果展示与列表处理
Section titled “7. 结果展示与列表处理”7.1 结果语义
Section titled “7.1 结果语义”| 结果 | 展示含义 |
|---|---|
| 全部成功 | 审批决定已全部提交成功 |
| 部分成功 | 批次已完成,同时存在成功和失败记录 |
| 全部失败 | 没有任何审批决定提交成功 |
结果只表示审批决定是否提交,不表示整个业务流程已经完成。
结果摘要显示成功数、失败数和总数;失败明细按原始选择顺序展示业务记录主键和本地化失败原因。
7.2 列表选择状态
Section titled “7.2 列表选择状态”- 全部成功:清空表格选择。
- 部分成功:仅保留失败记录的原始行对象为选中状态。
- 全部失败:保留全部原始选择。