This commit is contained in:
51
openspec/changes/add-export-task-management/tasks.md
Normal file
51
openspec/changes/add-export-task-management/tasks.md
Normal file
@@ -0,0 +1,51 @@
|
||||
## 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 债务阻塞。
|
||||
Reference in New Issue
Block a user