Files
luo 2a8f4e40d6
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 5m19s
feat: 新增导出
2026-06-16 11:35:45 +08:00

52 lines
3.4 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.
## 1. Proposal Review
- [x] 1.1 确认导出按钮权限编码IoT 卡管理使用 `iot_card:export`,设备管理使用 `devices:export`
- [x] 1.2 确认导出任务管理权限编码:使用 `export_task:list``export_task:detail``export_task:download``export_task:cancel`
- [x] 1.3 确认导出格式默认 `xlsx`,并允许用户在弹窗中切换 `xlsx` / `csv`
- [x] 1.4 确认 IoT 卡和设备列表现有筛选参数作为导出任务 `query` 传给后端。
## 2. API And Types
- [x] 2.1 新增导出任务状态、场景、格式、列表项、详情、创建请求、取消响应等 TypeScript 类型。
- [x] 2.2 新增 `ExportTaskService`,实现列表、创建、详情、取消接口。
- [x] 2.3 在 API 和类型入口文件导出新增模块。
- [x] 2.4 对齐统一响应结构 `code``msg``timestamp``data` 和分页结构 `page``size``total``items`
## 3. Reusable Export Dialog
- [x] 3.1 新增可复用创建导出任务弹窗组件,支持传入 `scene`、当前列表查询条件和默认导出格式。
- [x] 3.2 弹窗中明确展示导出规则说明:导出规则基于列表中的检索条件全量导出。
- [x] 3.3 提交时调用创建导出任务接口,并在成功后提示任务已创建。
- [x] 3.4 确保弹窗确认按钮和触发按钮均受对应权限控制。
## 4. Business Entry Points
- [x] 4.1 在 IoT 卡管理页增加导出按钮,打开弹窗时默认 `scene=iot_card`,并传入当前筛选条件快照。
- [x] 4.2 在设备管理页增加导出按钮,打开弹窗时默认 `scene=device`,并传入当前筛选条件快照。
- [x] 4.3 确保重置筛选、分页切换、重新搜索后导出使用最新检索条件。
## 5. Export Task List Page
- [x] 5.1 在资产管理下新增“导出管理”分组和“导出列表”路由、菜单、路由别名。
- [x] 5.2 导出列表支持分页、场景、状态、创建开始时间、创建结束时间筛选。
- [x] 5.3 表格展示任务编号、场景、状态、进度、格式、行数、分片、错误信息和时间字段;列表不展示文件 key。
- [x] 5.4 任务编号支持点击进入导出任务详情页,行操作支持下载已完成任务、取消待处理/处理中任务。
- [x] 5.5 下载操作必须先调用详情接口获取 `download_url`,且仅在已完成任务可用。
- [x] 5.6 取消操作必须调用取消接口,并在成功后刷新列表。
## 6. Permissions And UX
- [x] 6.1 为所有新增按钮和行操作添加权限编码检查。
- [x] 6.2 无权限时不显示对应入口,不依赖禁用态作为唯一保护。
- [x] 6.3 对创建、详情、下载、取消失败提供稳定错误提示,不破坏列表渲染。
## 7. Verification
- [x] 7.1 验证 IoT 卡管理页可按当前筛选条件创建 `iot_card` 导出任务。
- [x] 7.2 验证设备管理页可按当前筛选条件创建 `device` 导出任务。
- [x] 7.3 验证导出列表分页和筛选参数与接口契约一致,且文件 key 不在列表字段中展示。
- [x] 7.4 验证点击任务编号进入详情页,已完成任务可通过详情接口获取下载地址并下载。
- [x] 7.5 验证待处理/处理中任务可取消,已完成/失败/已取消任务不可取消。
- [x] 7.6 验证所有新增按钮和操作在无权限时不可见。
- [x] 7.7 运行类型检查和相关 lint新增文件 lint 通过,整仓构建受既有 TypeScript 债务阻塞。