From c8b1fd686a7b0b31702a699fcb93351806828b33 Mon Sep 17 00:00:00 2001 From: chengma Date: Tue, 11 Aug 2026 16:47:23 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=BD=92=E6=A1=A3=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?#164?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/164-任务列表展示PDD商品和订单信息.md | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 docs/task/164-任务列表展示PDD商品和订单信息.md diff --git a/docs/task/164-任务列表展示PDD商品和订单信息.md b/docs/task/164-任务列表展示PDD商品和订单信息.md new file mode 100644 index 0000000..09155f8 --- /dev/null +++ b/docs/task/164-任务列表展示PDD商品和订单信息.md @@ -0,0 +1,69 @@ +# #164 Client:任务列表展示PDD商品ID和订单信息 + +- 工单号:#164 +- 类型:需求 / 界面 +- 父级:Epic #1、MVP #2 +- 版本:Client 可运行任务闭环 +- 状态:待验收 +- 日期:2026-08-11 +- Gitea: + +## 背景与目标 + +任务列表原来没有显示已有的 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 商品和采购订单信息。