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

2.4 KiB

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