PDD 任务表已经支持逐行勾选、重新执行、重新上报和删除,但任务较多时仍需逐条勾选,批量操作效率低;表格最后的“操作 / 详情”列又占用横向空间。需要增加明确的“全选”和“反选”入口,并在不丢失详情功能的前提下移除详情列,让采购人员更容易批量处理任务。
当前表格采用增量加载,因此“全选”必须有清楚且安全的作用范围,不能把尚未加载、用户尚未看到的任务自动加入删除或重新上报范围。
remote_task_id
pdd_data
client/src/pdd_ui.py
TaskTableModel
activated
client/test/test_pdd_ui.py
docs/client/01-requirements.md
docs/client/05-ui-specification.md
docs/client/00-glossary.md
预计不需要修改 client/src/pdd_ui_event.py;如果实施时发现事件层依赖详情列索引,先在本工单记录原因再做最小修改。
client/src/pdd_ui_event.py
从 client/ 目录执行:
client/
C:/Python310/python.exe -m py_compile src/pdd_ui.py $env:QT_QPA_PLATFORM="offscreen" C:/Python310/python.exe -m unittest test.test_pdd_ui -v C:/Python310/python.exe -m unittest discover -s test -v Remove-Item Env:QT_QPA_PLATFORM
手工界面验收:
C:/Python310/python.exe buyer_main.py
准备任务数量多于首屏加载量的数据,验证逐行勾选、全选、反选、继续加载、刷新、筛选、详情快捷入口和现有三种批量操作的按钮状态。
已完成第一轮代码与文档修改:
当前针对性测试 9 项通过,语法检查通过;正在执行 Client 全量回归和离屏窗口验证。未修改数据库、Admin 接口或采购安全规则。
实现提交:cc4c1c4 feat: 优化任务表批量选择和详情入口 (#131)
cc4c1c4
feat: 优化任务表批量选择和详情入口 (#131)
验证结果:
py_compile src/pdd_ui.py
OK
git diff --check
实现与原方案一致。为避免宽窗口单行命令过挤,响应式断点调整为 1460px,紧凑模式把筛选和批量操作分成三行;这是布局实现细节,不改变功能范围。
未验证:真实 Windows 桌面的浅色/深色/高对比度、100%–200% DPI、Narrator 及人工鼠标/键盘验收。测试环境存在既有的 PyQt5 字体目录警告,但不影响测试通过。当前进入待用户验收,接下来补充本地归档。
docs/task/131-PDD任务表全选反选和详情列调整.md
b1a78f3
docs: 归档任务 #131
工单保持开启,状态为待用户验收。用户验收通过后再关闭 #131,并将 #1、#2 中的清单更新为完成。
新增后续任务表数据展示工单 #136:在 #131 的列结构基础上增加“店铺名”和“用时”,店铺名使用轻量摘要字段,用时关联最新一次 task_runs 计算。#136 涉及 SQLite 版本 5 迁移,独立实施和验收。
task_runs
用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:ad44f83。现关闭工单。
ad44f83
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
PDD 任务表已经支持逐行勾选、重新执行、重新上报和删除,但任务较多时仍需逐条勾选,批量操作效率低;表格最后的“操作 / 详情”列又占用横向空间。需要增加明确的“全选”和“反选”入口,并在不丢失详情功能的前提下移除详情列,让采购人员更容易批量处理任务。
当前表格采用增量加载,因此“全选”必须有清楚且安全的作用范围,不能把尚未加载、用户尚未看到的任务自动加入删除或重新上报范围。
做什么 / 不做什么
remote_task_id保存勾选状态;普通刷新保留仍存在任务的勾选,修改搜索条件仍按现有规则清空勾选。pdd_data结构。已确认的实现方案
client/src/pdd_ui.py:TaskTableModel增加“勾选所有已加载真实任务”和“反选所有已加载真实任务”的直白方法;activated信号作为双击 / Enter 的详情入口,并补充简短提示。client/test/test_pdd_ui.py:docs/client/01-requirements.mddocs/client/05-ui-specification.mddocs/client/00-glossary.md(移除已经失效的“详情列委托”示例)预计不需要修改
client/src/pdd_ui_event.py;如果实施时发现事件层依赖详情列索引,先在本工单记录原因再做最小修改。验收标准
remote_task_id为身份,“已选 N 条”及现有批量按钮状态准确更新。验证方式
从
client/目录执行:手工界面验收:
准备任务数量多于首屏加载量的数据,验证逐行勾选、全选、反选、继续加载、刷新、筛选、详情快捷入口和现有三种批量操作的按钮状态。
风险和回退
实施进度
已完成第一轮代码与文档修改:
当前针对性测试 9 项通过,语法检查通过;正在执行 Client 全量回归和离屏窗口验证。未修改数据库、Admin 接口或采购安全规则。
实现与验证完成
实现提交:
cc4c1c4feat: 优化任务表批量选择和详情入口 (#131)验证结果:
py_compile src/pdd_ui.py:通过OKgit diff --check:通过实现与原方案一致。为避免宽窗口单行命令过挤,响应式断点调整为 1460px,紧凑模式把筛选和批量操作分成三行;这是布局实现细节,不改变功能范围。
未验证:真实 Windows 桌面的浅色/深色/高对比度、100%–200% DPI、Narrator 及人工鼠标/键盘验收。测试环境存在既有的 PyQt5 字体目录警告,但不影响测试通过。当前进入待用户验收,接下来补充本地归档。
本地归档完成
docs/task/131-PDD任务表全选反选和详情列调整.mdb1a78f3docs: 归档任务 #131cc4c1c4工单保持开启,状态为待用户验收。用户验收通过后再关闭 #131,并将 #1、#2 中的清单更新为完成。
新增后续任务表数据展示工单 #136:在 #131 的列结构基础上增加“店铺名”和“用时”,店铺名使用轻量摘要字段,用时关联最新一次
task_runs计算。#136 涉及 SQLite 版本 5 迁移,独立实施和验收。用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:
ad44f83。现关闭工单。