当前 client/src/pdd_ui.py 还是手工输入商品链接、颜色和尺码的旧占位页,不符合已确认的 PDD 任务列表需求。需要先完成一个可独立演示的任务列表 UI,为后续 SQLite Repository 接入提供稳定界面边界。
client/src/pdd_ui.py
qfluentwidgets.TableView
QAbstractTableModel
remote_task_id
set_tasks()
objectName=pddTaskPage
pdd_data
TaskRow
TaskTableModel
PDDTaskPage
预计修改文件:
docs/client/05-ui-specification.md
TableView + QAbstractTableModel
从 client/ 目录执行:
client/
C:/Python310/python.exe -m py_compile src/pdd_ui.py
离屏创建页面,注入采集/采购模拟任务,检查排序、筛选、稳定编号、详情信号和空状态;同时离屏创建 MainWindow 验证装配。
MainWindow
主要风险是 Fluent 表格版本 API 差异和后续 Repository 接入时的数据边界变化。实现只使用当前固定版本已安装的控件及 Qt 标准 Model/View API;需要回退时只回退本工单提交。
状态:进行中。已确认仅修改 client/src/pdd_ui.py,先实现使用内存数据的任务列表 UI,不连接 SQLite、Admin 或 Android 设备。
PDD_UI_OK
PAGINATION_AND_SHORTCUT_OK
ad19700
b6be66c
docs/task/4-实现-pdd-任务列表-ui.md
未进行用户人工界面验收、真实 Windows 字体效果、深色/高对比度、200% 缩放和真机测试。工单保持打开,等待用户验收。
用户要求:没有任务数据时,表格不能被空状态页面替换;表头继续显示,并用空行填满表格区域。
调整方案:
状态从待验收退回进行中,完成后重新提交测试结果。
验证输出:EMPTY_TABLE_AND_PDD_UI_OK、EMPTY_GRID_OK。
EMPTY_TABLE_AND_PDD_UI_OK
EMPTY_GRID_OK
新增提交:
2322b46
aad20fe
工单保持打开,等待重新验收。
用户要求:
实现边界:
验证:语法检查和离屏界面断言通过,输出 COMMAND_ROW_AND_EMPTY_TABLE_OK。
COMMAND_ROW_AND_EMPTY_TABLE_OK
提交:
8f6e657
3190d1f
工单保持打开,等待用户重新验收。
用户要求关键词搜索框宽度增加到原来的 150%,并在窗口整体放大、缩小时自适应。
实施方案:
QSizePolicy.Expanding
只修改 client/src/pdd_ui.py 中关键词输入框及命令栏布局;保留用户当前尚未提交的“获取任务”和隐藏页面标题修改。
原计划最小值为 120px,测试发现 1040px 窗口会缩到 120px,违背“宽度增加”的目标,因此实现调整为 190px 最小值。
验证输出:RESPONSIVE_KEYWORD_OK。
RESPONSIVE_KEYWORD_OK
ecc9d47
cbcfaca
用户已确认 PDD 任务与参数设置 UI 验收通过。本工单验收完成,现关闭。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
当前
client/src/pdd_ui.py还是手工输入商品链接、颜色和尺码的旧占位页,不符合已确认的 PDD 任务列表需求。需要先完成一个可独立演示的任务列表 UI,为后续 SQLite Repository 接入提供稳定界面边界。做什么 / 不做什么
client/src/pdd_ui.py实现顶部命令区、任务表格、空状态和底部运行状态区;qfluentwidgets.TableView和自定义QAbstractTableModel;remote_task_id作为稳定身份;set_tasks()、加载状态和自动获取状态等 UI 更新入口;objectName=pddTaskPage。pdd_data放入表格模型。怎么做
TaskRow数据类,不包含pdd_data。TaskTableModel,实现显示、工具提示、稳定任务编号和内存分页。PDDTaskPage布局,使用 Fluent 按钮、搜索框、下拉框和表格。预计修改文件:
client/src/pdd_ui.py验收标准
docs/client/05-ui-specification.md一致;TableView + QAbstractTableModel,没有每行常驻 QWidget;pdd_data,通过remote_task_id标识任务;怎么验证
从
client/目录执行:离屏创建页面,注入采集/采购模拟任务,检查排序、筛选、稳定编号、详情信号和空状态;同时离屏创建
MainWindow验证装配。风险和回退
主要风险是 Fluent 表格版本 API 差异和后续 Repository 接入时的数据边界变化。实现只使用当前固定版本已安装的控件及 Qt 标准 Model/View API;需要回退时只回退本工单提交。
状态:进行中。已确认仅修改
client/src/pdd_ui.py,先实现使用内存数据的任务列表 UI,不连接 SQLite、Admin 或 Android 设备。实施完成,等待用户验收
最终实现
client/src/pdd_ui.py实现顶部命令区、九列任务表格、空状态和底部状态区;TableView + QAbstractTableModel,内存数据每页 50 条;remote_task_id作为详情和选择恢复身份,不保存pdd_data;测试
PDD_UI_OK;PAGINATION_AND_SHORTCUT_OK;MainWindow离屏装配及 1040×680 布局:通过;提交与归档
ad19700b6be66cdocs/task/4-实现-pdd-任务列表-ui.md未验证
未进行用户人工界面验收、真实 Windows 字体效果、深色/高对比度、200% 缩放和真机测试。工单保持打开,等待用户验收。
验收变更:无数据时保留空表格
用户要求:没有任务数据时,表格不能被空状态页面替换;表头继续显示,并用空行填满表格区域。
调整方案:
client/src/pdd_ui.py,不连接数据库、Admin 或设备。状态从待验收退回进行中,完成后重新提交测试结果。
验收变更已完成,重新等待用户验收
验证输出:
EMPTY_TABLE_AND_PDD_UI_OK、EMPTY_GRID_OK。新增提交:
2322b46aad20fe工单保持打开,等待重新验收。
第二次界面验收调整
用户要求:
实现边界:
client/src/pdd_ui.py。第二次界面验收调整已完成
验证:语法检查和离屏界面断言通过,输出
COMMAND_ROW_AND_EMPTY_TABLE_OK。提交:
8f6e6573190d1f工单保持打开,等待用户重新验收。
第三次界面验收调整
用户要求关键词搜索框宽度增加到原来的 150%,并在窗口整体放大、缩小时自适应。
实施方案:
QSizePolicy.Expanding和网格列伸缩分配剩余空间;只修改
client/src/pdd_ui.py中关键词输入框及命令栏布局;保留用户当前尚未提交的“获取任务”和隐藏页面标题修改。第三次界面验收调整已完成
QSizePolicy.Expanding;原计划最小值为 120px,测试发现 1040px 窗口会缩到 120px,违背“宽度增加”的目标,因此实现调整为 190px 最小值。
验证输出:
RESPONSIVE_KEYWORD_OK。提交:
ecc9d47cbcfaca工单保持打开,等待用户重新验收。
用户已确认 PDD 任务与参数设置 UI 验收通过。本工单验收完成,现关闭。