Files
one-pipe-system/openspec/changes/add-export-task-management/proposal.md
luo 2a8f4e40d6
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 5m19s
feat: 新增导出
2026-06-16 11:35:45 +08:00

45 lines
2.4 KiB
Markdown

# Change: 新增统一导出任务管理
## Why
资产管理中的 IoT 卡与设备列表需要按当前检索条件执行全量导出,直接在前端同步导出容易超时且无法追踪进度。`docs/api.md` 已定义统一导出任务接口,需要在后台管理端补齐创建导出任务、查看任务列表、查看详情、下载结果和取消任务的前端能力。
同时,导出入口会覆盖多个业务列表和后续可扩展的导出视角,必须做成可复用的弹窗与任务管理能力,并按现有 RBAC 体系为所有按钮和操作补充权限编码。
## What Changes
- 在资产管理下新增“导出管理”,并在其下新增“导出列表”页面。
- 新增统一导出任务前端 API 与类型契约,对接:
- `GET /api/admin/export-tasks`
- `POST /api/admin/export-tasks`
- `GET /api/admin/export-tasks/{id}`
- `POST /api/admin/export-tasks/{id}/cancel`
- 新增可复用的创建导出任务弹窗,打开时说明“导出规则基于列表中的检索条件全量导出”。
- 在 IoT 卡管理页增加导出按钮,默认创建 `scene=iot_card` 的导出任务。
- 在设备管理页增加导出按钮,默认创建 `scene=device` 的导出任务。
- 导出列表支持分页、场景、状态、创建时间范围筛选,列表数据调用导出任务列表接口,详情/下载调用详情接口,取消操作调用取消接口。
- 所有新增按钮和行操作均需要接入权限编码,不允许无权限用户看到或触发对应操作。
## Impact
- Affected specs:
- `export-task-management`
- Affected code:
- `src/api/modules/exportTask.ts`
- `src/types/api/exportTask.ts`
- `src/types/api/index.ts`
- `src/api/modules/index.ts`
- `src/router/routesAlias.ts`
- `src/router/routes/asyncRoutes.ts`
- `src/views/asset-management/iot-card-management/index.vue`
- `src/views/asset-management/device-list/index.vue`
- `src/views/asset-management/export-task-management/export-task-list/index.vue`
- `src/components/business/ExportTaskCreateDialog.vue`
- 菜单与国际化文案配置文件
- Dependencies:
- 依赖后端按 `docs/api.md` 提供导出任务接口和 JWT 鉴权。
- 依赖现有 `useAuth` / `v-permission` 权限基础设施。
- 导出创建时传入的 `query` 需要与对应业务列表接口的检索参数保持一致。
- Breaking changes:
- 无。新增页面、按钮、API 模块和类型均为增量能力。