--- id: approve.delete.howto title: 删除审批单 type: howto feature: approve scope: admin locale: zh aliases: - 删除审批 - 删审批单 - 怎么删一条审批 - 审批记录怎么清 - 历史审批能删吗 - 误发起怎么撤掉 related_tools: [] related_pages: [application] prerequisites: - 应用市场已安装 approve 插件 - 当前用户是该审批的**发起人**或系统管理员 - 该审批已结束(通过 / 拒绝 / 撤回),未结束不可删 negative: - 审批中(state=1)的单据不能删除,需要发起人先「撤回」结束再删 - 普通处理人 / 抄送对象不能删除,即使是分配给自己的单据 - 删除是物理删除,无回收站,删了找不回 - 删除单条审批不会触发主程序通知撤回;机器人已推送的「待办」消息仍保留在群聊 last_verified: v1.7.90 --- # 删除审批单 ## 入口 - 桌面端:审批中心 →「已发起」或「已办」Tab → 点开某条审批进详情 → 详情页底部「删除」按钮 - 仅当满足"已结束 + 发起人或管理员"两个条件时按钮才出现,否则隐藏 ## 接口 前端调 `api/approve/process/delById` → 控制器方法 `process__delById`: - 必传 `proc_inst_id`(流程实例 ID) - 自动透传 `is_admin` 标记给插件,决定能否绕过"仅发起人可删"的限制 - 插件侧再校验"已结束"状态,未结束直接拒绝 ## 操作步骤 1. 进入要删除的审批详情页 2. 确认顶部状态显示 `已通过` / `已拒绝` / `已撤回` 任一终态 3. 点击底部「删除」按钮 4. 二次确认弹窗 → 确定 5. 接口返回成功后该单从所有列表(已发起 / 已办 / 抄送)消失 ## 想删但删不掉的常见原因 - **审批中**:先点「撤回」让状态变 `已撤回` 再删(发起人专属) - **不是我发起**:除非你是系统管理员(`userIsAdmin`),否则不能删别人发起的 - **接口报错"无权限"**:说明插件认为当前 `userid` 不是发起人且 `is_admin=false` ## 批量删除 当前版本无批量删除入口,需要逐条删。如需大批量清理某个流程模板下的全部审批数据,可改用 [[approve.template.howto]] 中"删除模板"操作(会同时清空数据)。 ## 相关 - 数据导出(删除前留底):[[approve.export.howto]]