# 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 模块和类型均为增量能力。
