docs: 归档任务 #176
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# 176 重新采集和重新采购支持当前行兜底
|
||||
|
||||
- 类型:需求
|
||||
- 父级大工单:#1
|
||||
- 所属 MVP / 版本:#2
|
||||
- 状态:已完成,待用户验收
|
||||
- 日期:2026-08-12
|
||||
- Gitea 工单:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/176>
|
||||
|
||||
## 背景与目标
|
||||
|
||||
原来的“重新采集”和“重新采购”只读取复选框勾选集。用户已经单击选中任务行时,仍需再次点击较小的复选框。本任务增加当前行兜底,同时保留批量勾选的明确优先级和原有采购安全门禁。
|
||||
|
||||
## 最终方案
|
||||
|
||||
- 集中使用 `_rerun_target_task_ids()` 解析目标:存在勾选时返回全部勾选任务;没有勾选时返回当前行的稳定 `remote_task_id`。
|
||||
- 只要列表存在真实任务就允许点击“重新采集”和“重新采购”;没有勾选和当前行时在底部状态区提示用户先勾选或单击一行。
|
||||
- 当前行和复选框继续相互独立,重新上报和删除仍只接受勾选集。
|
||||
- 事件层、批量类型过滤、Android 设备预检、确认弹窗和采购不可逆门禁没有改动。
|
||||
|
||||
与建单方案的实现细节差异:不需要监听每一次当前行变化来反复启停按钮。列表存在真实任务时保持按钮可用,由点击时的统一目标解析给出兜底或提示,代码更直白,也能覆盖“尚未选择当前行”的提示场景。
|
||||
|
||||
## 改了哪些
|
||||
|
||||
- `client/src/pdd_ui.py`:增加重新执行目标解析和缺少目标提示,调整按钮启用规则及无障碍名称。
|
||||
- `client/test/test_pdd_ui.py`:覆盖当前行兜底、勾选优先、缺少目标提示,以及重新上报和删除边界。
|
||||
- `client/test/test_pdd_ui_event.py`:更新有真实任务时重新执行按钮可用的既有断言。
|
||||
- `docs/client/05-ui-specification.md`:记录勾选优先、当前行兜底的稳定交互规则。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| 勾选任务时只使用勾选集 | 通过 |
|
||||
| 无勾选时使用当前行的稳定任务编号 | 通过 |
|
||||
| 无勾选且无当前行时显示明确提示 | 通过 |
|
||||
| 单击当前行不改变勾选状态 | 通过 |
|
||||
| 重新上报和删除仍只作用于勾选集 | 通过 |
|
||||
| 原有类型过滤、设备预检及采购安全门禁不变 | 通过 |
|
||||
| 占位空行不成为操作目标 | 通过 |
|
||||
|
||||
## 测试
|
||||
|
||||
- 执行的命令:在 `client` 目录执行 `$env:QT_QPA_PLATFORM='offscreen'; C:/Python310/python.exe -m unittest discover -s test -p 'test_pdd_ui*.py'`
|
||||
- 结果:68 个测试全部通过。
|
||||
- 执行的命令:在 `client` 目录执行 `$env:QT_QPA_PLATFORM='offscreen'; C:/Python310/python.exe -m unittest discover -s test -p 'test_*.py'`
|
||||
- 结果:439 个 Client 测试全部通过。
|
||||
- **没验证到的部分**:未进行人工鼠标操作验收;本次没有改变真机自动化和采购执行逻辑。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `bb7a502` feat: 重新执行支持当前行兜底 (#176)
|
||||
Reference in New Issue
Block a user