Files
cmautobuy/docs/task/164-任务列表展示PDD商品和订单信息.md
T

70 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# #164 Client:任务列表展示PDD商品ID和订单信息
- 工单号:#164
- 类型:需求 / 界面
- 父级:Epic #1、MVP #2
- 版本:Client 可运行任务闭环
- 状态:已完成,用户验收通过
- 日期:2026-08-11
- Gitea:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/164>
## 背景与目标
任务列表原来没有显示已有的 PDD 商品 ID 和采购订单号,采购任务详情也没有
展示已保存在 `pdd_data.purchase` 中的订单结果。本任务让采购人员能直接查看和
搜索这两个关键编号,并在详情中核对下单结果。
## 最终方案
- 列表增加“PDD商品ID”和“订单号”,商品标题继续使用剩余宽度;两个新字段提供
完整内容提示,窄窗口保留横向滚动。
- `TaskSummary` 和 `TaskRow` 只增加轻量订单号字段。Repository 用
`json_valid` 防护后从 `pdd_data.purchase.order_no` 提取订单号,没有加载完整
JSON,也没有修改数据库结构。
- 关键词查询增加订单号匹配。
- 采购任务详情增加中文“采购结果”卡片,显示模式、确认规格和数量、单价、总价、
订单号、下单时间、匹配状态和付款状态;采集任务不显示该卡片。
- 实现与建单方案一致。
## 改了哪些文件
- `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/` 对应测试:覆盖查询、搜索、表格、事件转换和详情展示。
## 验收结果
- [x] 表格显示 PDD 商品 ID 和订单号。
- [x] 没有订单号的任务显示“—”。
- [x] 完成采购显示本地已保存订单号。
- [x] 标题宽度缩小,新字段保持可读,窄窗口可横向滚动。
- [x] 关键词可以用订单号找到任务。
- [x] 采购详情显示采购结果;采集详情不显示采购结果区。
- [x] 表格摘要不加载完整 `pdd_data`,且没有数据库迁移。
- [x] 精确测试、Client 全量测试、语法检查和离屏启动通过。
- [ ] 用户在实际任务数据上确认列表宽度和订单信息。
## 测试
在 `client/` 目录执行:
```powershell
$env:QT_QPA_PLATFORM="offscreen"
C:/Python310/python.exe -m unittest discover -s test -p "test_*.py"
C:/Python310/python.exe -m py_compile src/pdd_ui.py src/pdd_ui_event.py src/task_models.py src/task_repository.py src/task_detail_view.py
C:/Python310/python.exe -c "from src.ui_main import MainWindow; from PyQt5.QtWidgets import QApplication; app=QApplication([]); w=MainWindow(); print('OK'); app.quit()"
Remove-Item Env:QT_QPA_PLATFORM
```
结果:Client 完整 414 项测试通过,语法检查通过,离屏主窗口打印 `OK`。
**没验证到的部分**:未使用实际 Android 设备和线上 Admin 数据人工查看;未执行
真机采购、下单或付款。
## 相关提交
- `1f48d3a` 展示 PDD 商品和采购订单信息。