Files
Nexus/docs/design/plans/2026-06-08-servers-select-all-script-exec-export.md
2026-07-08 22:31:31 +08:00

1.4 KiB
Raw Permalink Blame History

实施计划 — 服务器全选筛选 + 脚本失败分组/CSV

日期: 2026-06-08
设计: docs/design/specs/2026-06-08-servers-select-all-script-exec-export-design.md

涉及文件

文件 变更
frontend/src/utils/csvExport.ts 新建:BOM CSV 构建与下载
frontend/src/utils/execDetailGrouping.ts 新建:错误键归一化、失败分组
frontend/src/pages/ServersPage.vue 全选筛选、全选本组、筛选变更清选择
frontend/src/pages/ScriptsPage.vue 分组视图、导出 CSV
tests/test_exec_detail_grouping.py 可选:若纯 TS 则 frontend vitest 或 TS 单测脚本

步骤

  1. 抽取 csvExport.tsServersPage 导出可后续复用(本 PR 仅 Scripts 必用)。
  2. ServersPage:分类 Chip 行下增加「全选筛选结果」;批量栏保留;group 视图 panel 标题加 toggle。
  3. ScriptsPage:详情区增加 列表|分组 toggle + 导出按钮;分组用 v-expansion-panels
  4. watch 筛选清空选择。
  5. bash scripts/local_verify.sh + 前端 build。
  6. changelog + audit。

测试要点

  • 本地 mock:分组函数单元测试(Node/ts 或 pytest 不适用 — 用 vitest 若已配置,否则 manual + local_verify)。
  • 手动:#/servers 选分类 → 全选 → 数量;#/scripts 打开历史失败详情 → 分组 + CSV。

回滚

  • 纯前端:回滚 commit + deploy/deploy-frontend.sh,无需 DB 迁移。