From 5a0a011e5b82ebda2aa90a3f5b127ff9ad1186ae Mon Sep 17 00:00:00 2001 From: chengma Date: Mon, 10 Aug 2026 10:06:21 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=BD=92=E6=A1=A3=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?#87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/task/87-任务错误提示顶部居中.md | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 docs/task/87-任务错误提示顶部居中.md diff --git a/docs/task/87-任务错误提示顶部居中.md b/docs/task/87-任务错误提示顶部居中.md new file mode 100644 index 0000000..41565d7 --- /dev/null +++ b/docs/task/87-任务错误提示顶部居中.md @@ -0,0 +1,53 @@ +# 87 任务错误提示调整为窗口顶部居中 + +- 类型:需求 +- 父级大工单:#1 +- 所属 MVP / 版本:#2 Client 可运行任务闭环(MVP) +- 状态:已完成 +- 日期:2026-08-10 +- Gitea 工单: + +## 背景与目标 + +采集、采购、重新采集和设备不可用错误原来显示在窗口右上角。即使提示和按钮已经放大,用户仍需要把注意力和鼠标移到窗口边缘。 + +本任务把这些错误提示调整到软件窗口顶部水平居中,使提示更容易发现和操作,同时避免放在窗口正中央遮挡任务表格。 + +## 最终方案 + +- 使用 PyQt-Fluent-Widgets 自带的 `InfoBarPosition.TOP`,让提示相对所属页面顶部水平居中。 +- 不手工计算坐标,窗口缩放、贴靠和 DPI 变化时继续由 Fluent 组件负责定位。 +- 只改变采集/采购、重新采集和设备不可用错误的位置;普通警告和任务详情提示保持原位置。 +- 保留 520×112 最小提示尺寸、120×40 操作按钮、5 秒自动关闭、同类提示替换和底部完整状态文字。 + +最终实现与建单方案一致。 + +## 改了哪些 + +- `client/src/pdd_ui_event.py`:三类任务错误提示改为顶部居中。 +- `client/test/test_pdd_ui_event.py`:验证三类提示使用 `InfoBarPosition.TOP`。 +- `docs/client/05-ui-specification.md`:记录窗口顶部居中的交互规则。 + +## 验收结果 + +| 验收标准 | 结果 | +|---|---| +| 采集/采购错误提示位于窗口顶部水平居中 | 通过(自动化配置) | +| 重新采集错误提示位于窗口顶部水平居中 | 通过(自动化配置) | +| Android 设备不可用提示位于窗口顶部水平居中 | 通过(自动化配置) | +| 不使用窗口正中央的模态提示 | 通过 | +| 大尺寸、明显按钮和 5 秒自动关闭保持不变 | 通过 | +| 同类提示替换及底部完整状态保持不变 | 通过 | +| Client 专项测试和全量回归通过 | 通过 | + +## 测试 + +- 执行的命令:`cd client; C:/Python310/python.exe -m py_compile src/pdd_ui_event.py test/test_pdd_ui_event.py` +- 执行的命令:`cd client; C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_ui_event.py" -v` +- 执行的命令:`cd client; C:/Python310/python.exe -m unittest discover -s test -v` +- 结果:语法检查通过;PDD 页面事件测试 32 项通过;Client 全量 224 项测试通过。 +- **没验证到的部分**:未在真实可见窗口中人工检查不同窗口宽度和 100%–200% 显示缩放下的视觉位置;未执行真实采购、下单或付款。 + +## 相关提交 + +- `bf816bc` 任务错误提示改为顶部居中