## 目标 - 按照优化实施计划,从第3周任务7/8开始全面落地,并同时推进第4周任务9/10,确保可视化、配置驱动和交付质量提升。 ## 任务7:列映射向导完善 - 字段扩展与中文提示:标准字段统一以英+中展示,支持更多列(条码、名称、规格、数量、单位、单价、金额/小计、分类、品牌、供应商)。 - 自动建议增强:结合样本数据统计(字符串比例、特殊关键词、数值特征)给出更可靠的映射建议。 - 表头定位增强:支持预览选择,并保存 `header_row`;向导内清晰提示当前使用的表头行。 - 配置管理:支持导入/导出映射方案(JSON),可一键应用到多供应商。 - 热重载与快捷入口:保存后自动重载供应商处理器;在系统设置区和快捷键中提供入口。 ## 任务8:模板管理与校验完善 - 模板组管理:支持为每个供应商选择/保存多个模板(默认、备用),UI下拉选择当前模板。 - 差异检测:读取模板首行表头与系统标准列比较,列表显示缺失/多余字段与修复建议。 - 批量校验:可一次性校验选定供应商的所有模板组并生成报告。 - 示例生成:按标准列生成示例模板,便于对齐格式。 ## 任务9:单元测试与烟雾测试 - 单元测试(pytest): - `_find_header_row` 不同格式表头识别(第一行/中间行/合并行/空白行混杂)。 - `GenericSupplierProcessor` 列映射、清洗规则(remove_rows/fill_na/convert_type)与公式计算。 - 模板填充的关键路径(必要列检测、数量/赠送量/单价写入)。 - 烟雾测试:准备小样本(图片→OCR→Excel→采购单),验证端到端可用,记录日志与输出。 ## 任务10:打包与版本信息 - 版本信息:主窗口标题与“关于”对话框显示版本号、构建时间、更新日志入口。 - 打包校验:构建后检查模板与配置文件存在性;打包时拷贝资源并生成校验报告。 - 更新脚本:完善 `build_exe.py` 支持版本号注入与资源校验失败时中止。 ## 实现要点 - GUI:系统设置页整合入口;对话框使用 780×660/540 尺寸,`topmost`/`lift`/`focus_force` 保证焦点。 - 配置:`suppliers_config.json` 增加 `header_row`、`column_mapping`、`output_templates`(数组)与当前选择索引。 - 处理器:优先使用保存的表头行;模板管理选择的模板在处理时应用。 - 日志与提示:保存/校验/重载操作统一写入日志面板并气泡提示。 ## 验证 - 交互走查:向导流程顺畅、字段标签明确、置顶行为正常。 - 单元测试通过率达标(≥90%覆盖关键模块);烟雾测试输出正确文件且无异常。 - 打包后 EXE 启动显示版本信息;资源齐备,最近文件可双击打开。 ## 变更范围 - `启动器.py`(设置页UI、向导与模板管理弹窗) - `app/core/processors/supplier_processors/generic_supplier_processor.py`(读取与映射逻辑) - `app/core/excel/processor.py`(表头行识别与模板填充校验) - `config/suppliers_config.json`(结构扩展) - `tests/`(新增pytest用例与烟雾测试脚本) - `build_exe.py`(版本注入与校验) ## 时间安排 - Day 1:任务7 UI/配置完成,处理器联动与验证 - Day 2:任务8 模板管理增强与批量校验 - Day 3:任务9 单元测试与烟雾测试 - Day 4:任务10 打包与版本信息,回归测试与文档补充 确认后我将按以上计划开始实施并逐项提交验证结果。