Files
cmshoppe/docs/tasks/T-662b.md
T
chengmaandClaude Fable 5 3777f84ce0 docs(tasks): finalize status dropdown placement and terminology in T-662b/c/d
- dropdown sits left of the renamed 任务状态 label in all three tabs
- option wording aligned with platform text: 审核中 not 未审核,
  未知 not 其他
- clarify the status filter scopes collection candidates in ① (the
  existing model.tasks mechanism), default 全部 so first-round
  collection of unknown-status imports still works
- reinforce composite defaults 可生成/可更新 include unknown so
  legacy batches are not blocked

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 15:37:43 +08:00

3.2 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 为空时不展示空段落。
  • 现有「状态」标签改为「任务状态」,新增独立「商品状态」下拉,避免两个状态含义混淆;「商品状态」下拉放在「任务状态」label 左边(需求定稿位置)。
  • 商品状态筛选:全部(默认)/正常/未上架/审核中/未知;与批次、店铺、商品ID、任务状态叠加。
  • 选项术语与平台原文对齐:用「审核中」不用「未审核」(编辑页横幅原文「審核中」、卖家中心页签同名);未知桶叫「未知」不叫「其他」(含历史 NULL、检测失败与未识别横幅,不代表异常)。
  • ①默认「全部」的理由必须保持:新导入商品状态均为未知,若默认筛「正常」首轮采集列表为空;「筛正常再采集」是重采场景的用法。
  • 商品状态筛选与既有筛选一致,参与圈定采集候选:采集执行当前筛选结果(collect_old_data() 取 model.tasks 的现机制不变),用户筛「正常」后点采集即只重采正常商品。本任务不改动候选圈定机制本身,也不改变执行顺序。
  • 采集结束汇总增加:异常状态总数、未上架数、审核中数、未知数;只统计本轮成功完成状态检测的结果,不把采集失败重复算入异常。
  • 运行中禁用新增筛选,结束后恢复。

验收标准

  • 历史 NULL 显示「未知」,不会崩溃或隐藏。
  • 状态列颜色、tooltip 和筛选结果正确,刷新后保持仍有效的筛选值;「商品状态」下拉位于「任务状态」左边。
  • 商品状态筛选参与采集候选:筛「正常」后点采集,未知/异常记录不进 CollectWorker;默认「全部」时新导入(未知)商品正常可采。
  • 汇总区分未上架、审核中和未知,不改变原成功/失败/略过统计。
  • 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。

执行记录

  • 待实现。