64 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: approve.export.howto
title: 导出审批数据
type: howto
feature: approve
scope: admin
locale: zh
aliases:
- 导出审批
- 审批数据导出
- 下载审批 Excel
- 审批报表
- 请假记录导出
- 审批怎么导出
related_tools: []
related_pages: [application]
prerequisites:
- 应用市场已安装 approve 插件
- 当前用户是系统管理员(普通成员看不到「导出」按钮)
negative:
- 单次导出**最多 35 天**超过会报「日期范围限制最大35天」需分段导出
- 必须选择"流程分类"(即流程模板名),不支持一次导全部模板
- 导出文件为 zip 包内含一个 xlsx**不支持** CSV / JSON 直接下载
- 没有数据时会推送「没有任何数据」提示,不会生成空文件
last_verified: v1.7.90
---
# 导出审批数据
## 入口
- 桌面端:左侧栏「应用」→「审批中心」→ 右上角「导出审批数据」按钮(仅管理员可见)
- 移动端:审批中心右上角图标条同名按钮(同样仅管理员)
## 接口
前端调 `api/approve/export`POST→ 控制器方法 `export`
- 必传 `proc_def_name`(流程模板名)+ `date``[start, end]` 两个日期)
- 可选 `state`0 全部 / 1 审批中 / 2 通过 / 3 拒绝 / 4 撤回)+ `is_finished`
- 服务端用 Swoole 协程异步生成,不阻塞请求;接口立即返回 `success`
## 操作步骤
1. 弹窗中选择「流程分类」(下拉,来自已发布的流程模板列表)
2. 选「状态」(默认全部)
3. 选「日期范围」(开始 + 结束,≤ 35 天)
4. 点「确定」→ 立即关闭弹窗
5. 主程序系统机器人在私聊推送「正在导出审批数据,请稍等...」
6. 协程异步处理完成后,机器人推送一条带下载链接的 `file_download` 模板消息
## 导出列24 列)
申请编号、标题、申请状态、发起时间、完成时间、发起人工号、发起人 User ID、发起人姓名、发起人部门、发起人部门 ID、部门负责人、历史审批人、历史办理人、审批记录、当前处理人、审批节点、审批人数、审批耗时、假期类型、开始时间、结束时间、时长、请假事由、请假单位。
## 文件命名与位置
- 临时存放:`storage/app/temp/approve/export/<年月>/审批记录_<时间戳>.zip`
- 链接形式:`api/approve/down?key=<加密 key>`(带签名,过期失效)
## 常见报错
- `日期选择错误`:日期未选或格式错;用日期选择器选
- `日期范围限制最大35天`:缩短范围分段导出
- `没有任何数据`:所选模板 + 状态 + 日期范围内无审批单
- `系统机器人不存在`:联系超级管理员检查机器人初始化(极少见)
## 相关
- 模板列表来源:[[approve.template.concept]]
- 单条记录删除:[[approve.delete.howto]]