Client:任务列表展示PDD商品ID和订单信息 #164

Closed
opened 2026-08-11 16:39:27 +08:00 by ila · 2 comments
Owner

基本信息

  • 类型:需求 / 界面
  • 父级大工单:#1
  • 所属 MVP / 版本:#2 / Client 可运行任务闭环
  • 阶段:PDD 任务可读性
  • 关联工单:#39、#126、#131、#136
  • 状态:待验收

要解决什么

PDD 任务表目前没有显示已有的 PDD 商品 ID,也没有显示采购结果中的订单号;商品标题独占全部剩余宽度。采购已完成时,任务详情也没有读取和展示 pdd_data.purchase 中已经保存的订单号和下单时间。

做什么 / 不做什么

  • 做:列表增加“PDD商品ID”和“订单号”列。
  • 做:标题缩小,把释放宽度分配给两个新字段;窄窗口允许横向滚动。
  • 做:订单号来自 pdd_data.purchase.order_no,采集、演练或未核单任务显示“—”。
  • 做:关键词搜索支持订单号。
  • 做:标题和订单号提供完整内容悬浮提示。
  • 做:任务详情增加仅采购任务显示的“采购结果”,至少展示订单号、下单时间、确认规格、数量、价格、匹配和支付状态。
  • 做:用命名列常量替代受影响的数字列索引。
  • 不做:不修改数据库表结构、Admin 接口、采购执行和核单规则。

已确认的实现方案

  1. TaskSummary、TaskRow 增加轻量 order_no。
  2. Repository 使用 CASE WHEN json_valid(pdd_data) THEN json_extract(...) 读取订单号,不把完整 JSON 放入表格模型;关键词条件同步匹配订单号。
  3. 表格列顺序为:选择、任务类型、PDD商品ID、商品标题、店铺名、颜色、尺码、价格、数量、状态、订单号、用时、更新时间。
  4. PDD商品ID约 135 px、订单号约 190 px,标题继续占剩余宽度,增加新列后约缩小到原来 50%;窄窗口横向滚动。
  5. 详情视图读取 purchase,中文显示采购模式、确认规格、数量、单价/总价、订单号、下单时间、匹配状态和支付状态;下单时间优先 ordered_at_raw,回退 ordered_at。
  6. 增加 Repository、表格模型、事件转换和详情视图测试。

预计修改:

  • client/src/task_models.py
  • client/src/task_repository.py
  • client/src/pdd_ui.py
  • client/src/pdd_ui_event.py
  • client/src/task_detail_view.py
  • client/test/ 对应测试
  • docs/task/<工单号>-任务列表展示商品和订单信息.md

验收标准

  • 表格显示 PDD 商品 ID 和订单号。
  • 采集、演练及未核单任务订单号显示“—”。
  • 完成采购显示本地已保存订单号。
  • 标题宽度明显缩小,新字段宽度可读,窄窗口可横向滚动。
  • 关键词可以用订单号找到任务。
  • 采购详情显示订单号和下单时间等采购结果;采集详情不显示采购结果区。
  • 不加载完整 pdd_data 到表格模型,不迁移数据库。
  • 相关精确测试、Client 全量测试、py_compile 和离屏 UI 冒烟通过。

验证方式

从 client/ 执行相关 unittest、完整 test_*.py、修改文件 py_compile 和离屏 MainWindow 冒烟测试。不执行真机采购、下单或付款。

风险和回退

  • 历史 pdd_data 可能为空或格式异常,查询必须用 json_valid 防护并显示“—”。
  • 新列增加总宽度,窄窗口使用横向滚动,不能过度压缩状态和操作字段。
  • 回退界面和查询提交即可,不涉及数据迁移。
## 基本信息 - 类型:需求 / 界面 - 父级大工单:#1 - 所属 MVP / 版本:#2 / Client 可运行任务闭环 - 阶段:PDD 任务可读性 - 关联工单:#39、#126、#131、#136 - 状态:待验收 ## 要解决什么 PDD 任务表目前没有显示已有的 PDD 商品 ID,也没有显示采购结果中的订单号;商品标题独占全部剩余宽度。采购已完成时,任务详情也没有读取和展示 `pdd_data.purchase` 中已经保存的订单号和下单时间。 ## 做什么 / 不做什么 - 做:列表增加“PDD商品ID”和“订单号”列。 - 做:标题缩小,把释放宽度分配给两个新字段;窄窗口允许横向滚动。 - 做:订单号来自 `pdd_data.purchase.order_no`,采集、演练或未核单任务显示“—”。 - 做:关键词搜索支持订单号。 - 做:标题和订单号提供完整内容悬浮提示。 - 做:任务详情增加仅采购任务显示的“采购结果”,至少展示订单号、下单时间、确认规格、数量、价格、匹配和支付状态。 - 做:用命名列常量替代受影响的数字列索引。 - 不做:不修改数据库表结构、Admin 接口、采购执行和核单规则。 ## 已确认的实现方案 1. `TaskSummary`、`TaskRow` 增加轻量 `order_no`。 2. Repository 使用 `CASE WHEN json_valid(pdd_data) THEN json_extract(...)` 读取订单号,不把完整 JSON 放入表格模型;关键词条件同步匹配订单号。 3. 表格列顺序为:选择、任务类型、PDD商品ID、商品标题、店铺名、颜色、尺码、价格、数量、状态、订单号、用时、更新时间。 4. PDD商品ID约 135 px、订单号约 190 px,标题继续占剩余宽度,增加新列后约缩小到原来 50%;窄窗口横向滚动。 5. 详情视图读取 `purchase`,中文显示采购模式、确认规格、数量、单价/总价、订单号、下单时间、匹配状态和支付状态;下单时间优先 `ordered_at_raw`,回退 `ordered_at`。 6. 增加 Repository、表格模型、事件转换和详情视图测试。 预计修改: - client/src/task_models.py - client/src/task_repository.py - client/src/pdd_ui.py - client/src/pdd_ui_event.py - client/src/task_detail_view.py - client/test/ 对应测试 - docs/task/<工单号>-任务列表展示商品和订单信息.md ## 验收标准 - [x] 表格显示 PDD 商品 ID 和订单号。 - [x] 采集、演练及未核单任务订单号显示“—”。 - [x] 完成采购显示本地已保存订单号。 - [x] 标题宽度明显缩小,新字段宽度可读,窄窗口可横向滚动。 - [x] 关键词可以用订单号找到任务。 - [x] 采购详情显示订单号和下单时间等采购结果;采集详情不显示采购结果区。 - [x] 不加载完整 `pdd_data` 到表格模型,不迁移数据库。 - [x] 相关精确测试、Client 全量测试、py_compile 和离屏 UI 冒烟通过。 ## 验证方式 从 `client/` 执行相关 unittest、完整 `test_*.py`、修改文件 `py_compile` 和离屏 MainWindow 冒烟测试。不执行真机采购、下单或付款。 ## 风险和回退 - 历史 `pdd_data` 可能为空或格式异常,查询必须用 `json_valid` 防护并显示“—”。 - 新列增加总宽度,窄窗口使用横向滚动,不能过度压缩状态和操作字段。 - 回退界面和查询提交即可,不涉及数据迁移。
Author
Owner

实现完成,状态更新为待验收。

  • 实现提交:1f48d3a
  • 归档提交:c8b1fd6
  • 归档文档:docs/task/164-任务列表展示PDD商品和订单信息.md
  • 验证:Client 全量 414 项测试通过;修改文件 py_compile 通过;离屏 MainWindow 冒烟打印 OK
  • 未验证:未使用实际 Android 设备和线上 Admin 数据人工查看;未执行真机采购、下单或付款。

请重点验收任务列表的新列宽度、订单号显示/搜索,以及采购任务详情中的订单号和下单时间。

实现完成,状态更新为待验收。 - 实现提交:`1f48d3a` - 归档提交:`c8b1fd6` - 归档文档:`docs/task/164-任务列表展示PDD商品和订单信息.md` - 验证:Client 全量 414 项测试通过;修改文件 `py_compile` 通过;离屏 MainWindow 冒烟打印 `OK` - 未验证:未使用实际 Android 设备和线上 Admin 数据人工查看;未执行真机采购、下单或付款。 请重点验收任务列表的新列宽度、订单号显示/搜索,以及采购任务详情中的订单号和下单时间。
Author
Owner

用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:ad44f83。现关闭工单。

用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:`ad44f83`。现关闭工单。
ila closed this issue 2026-08-13 15:58:20 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#164