feat: 完成Tab①任务导入列表

实现 CollectTab 与 TaskTableModel,Tab① 接入导入 Excel 按钮、QTableView 任务列表和未匹配别名略过标记。

新增 GUI 测试覆盖 Tab① 接入、任务展示、未匹配标记和导入刷新;同步任务状态、API 合约、当前状态与 progress。

加入标准空模板 shopee待处理任务模板.xlsx,并更新 ignore/文档规则:模板可提交,运营填写后的 Excel 业务文件默认忽略。
This commit is contained in:
chengma
2026-06-27 11:29:48 +08:00
parent 893aa56881
commit 6f36118b7e
11 changed files with 363 additions and 19 deletions
+16
View File
@@ -376,3 +376,19 @@
- 验证:`python -m compileall app main.py tests` 通过;`python -m unittest discover -s tests` 通过(45 tests,skipped=1,默认 python 环境已安装 openpyxl 并执行真实 Excel 解析测试);`py -3 -m compileall app main.py tests` 通过;`py -3 -m unittest discover -s tests` 通过(34 tests,skipped=4,py -3 环境缺 openpyxl/PySide6,相关测试按设计跳过,`app.excel` 契约测试通过)。
- 注意:本轮不涉及 Shopee/CDP 页面改动,无需测试商品实跑。目录中未跟踪的本地 Excel 文件未处理、未纳入本次变更。
- 下一步:按任务看板领取 T-202(Tab① 任务列表 + 导入按钮 + 别名匹配标记)。
## 【2026-06-27】T-202 Tab① 任务列表 + 导入按钮 + 别名匹配标记
- 状态:DONE
- 变更:`app/gui.py` 新增 `CollectTab` 与 `TaskTableModel(QAbstractTableModel)`;① 导入采集 Tab 接入「导入 Excel...」按钮、`QTableView` 任务列表和刷新按钮;导入时调用 `excel.import_tasks(file_paths, path=db_path)` 并展示当前批次任务;任务表列为账号、别名、商品ID、阶段,别名未匹配账号时阶段显示“略过”。更新 `tests/test_gui.py` 覆盖 Tab① 接入、任务展示、未匹配略过和导入按钮刷新;同步 `docs/06-tasks.md`、`docs/current-state.md`、`docs/api.md`。
- 细节:账号列优先显示匹配到的 `accounts.account_name`,未匹配时保留 Excel 输入账号名;T-202 只做 UI 标记,不把未匹配任务立即写库为 skipped,实际跳过与原因入库留给 T-203 采集执行阶段。
- 验证:`python -m unittest discover -s tests -p "test_gui.py"` 通过(8 tests);`python -m compileall app main.py tests` 通过;`python -m unittest discover -s tests` 通过(47 tests,skipped=1);`py -3 -m compileall app main.py tests` 通过;`py -3 -m unittest discover -s tests` 通过(34 tests,skipped=4,py -3 环境缺 openpyxl/PySide6,相关测试按设计跳过)。
- 注意:本轮只改 GUI/DB 展示与 Excel 导入入口,不涉及 Shopee/CDP 页面操作,无需测试商品实跑。
- 下一步:按任务看板领取 T-202b(Tab① 导入汇总栏)。
## 【2026-06-27】补充 · 标准 Excel 模板入库规则
- 状态:DONE(文档/忽略规则补充)
- 变更:将根目录 `shopee待处理任务模板.xlsx` 整理为可提交的标准空模板(单工作表 `待处理任务`,含输入列与后续输出列);更新 `.gitignore`,默认忽略运营填写后的 `*.xlsx/*.xlsm` 业务文件与 Excel 临时锁文件,但放行该标准模板;同步 `AGENTS.md`、`docs/04-architecture.md`、`docs/api.md`、`docs/current-state.md`、`docs/05-coding-rules.md`。
- 决策:标准模板推荐表头固定为 `账号名 | 别名 | 商品id`;`别名` 必须与 ④ 账号管理中的别名一致;运营实际填写时复制模板另存,填写后的副本不进版本库。
- 验证:只读检查 `shopee待处理任务模板.xlsx` 可被当前 `app.excel` 识别核心列(`账号名/别名/商品id`),`file_errors=[]`、`row_errors=[]`;本轮未导入数据库。