Files
cmshoppe/docs/tasks/T-662b.md
T

2.1 KiB

id, title, status, phase, deps, created
id title status phase deps created
T-662b 导入采集商品状态展示、筛选与汇总 TODO 7
T-662a
2026-07-18

T-662b 导入采集商品状态展示、筛选与汇总

问题 / 背景

T-662a 落库商品状态后,①导入采集需要让运营看见状态快照、按状态定位记录,并在本轮采集结束时知道异常商品数量。

方案

  • ①任务表增加「商品状态」列,显示 正常/未上架/审核中/未知。
  • 未上架/审核中 使用警示色,未知 使用中性提示色;不使用红色冒充任务失败。
  • tooltip 显示状态说明、product_status_note 和快照时间;note 为空时不展示空段落。
  • 现有「状态」标签改为「任务状态」,新增独立「商品状态」下拉,避免两个状态含义混淆。
  • 商品状态筛选:全部(默认)/正常/未上架/审核中/未知;与批次、店铺、商品ID、任务状态叠加。
  • 采集结束汇总增加:异常状态总数、未上架数、审核中数、未知数;只统计本轮成功完成状态检测的结果,不把采集失败重复算入异常。
  • 运行中禁用新增筛选,结束后恢复;不改变采集候选和执行顺序。

验收标准

  • 历史 NULL 显示「未知」,不会崩溃或隐藏。
  • 状态列颜色、tooltip 和筛选结果正确,刷新后保持仍有效的筛选值。
  • 汇总区分未上架、审核中和未知,不改变原成功/失败/略过统计。
  • 1180x760 与最小窗口下筛选栏、表格标题不重叠或截断。
  • 本任务只展示与筛选,不阻断采集、不修改 stage/status/Excel。

测试与文档

  • tests/test_gui.py 覆盖列显示、颜色、tooltip、组合筛选、运行态和汇总。
  • 更新 docs/routes.md、docs/04-architecture.md 和 docs/api.md。

验证

py -3.10 -m unittest tests.test_gui
py -3.10 -m unittest discover -s tests
py -3.10 -m ruff check app tests main.py
py -3.10 -m compileall app main.py
git diff --check

非目标

  • 不改变②③行为,不自动删除异常商品,不回写商品状态到 Excel。

执行记录

  • 待实现。