## 概览 - 目标:让改动更可见并提升识别/处理准确性与可操作性 - 范围:GUI入口与提示、表头识别与手动指定、供应商配置联动、交互一致性 ## 可见入口改造 - 在“Excel处理→特殊处理”区新增两个明显按钮: - “列映射向导”:加载 Excel 源列 → 映射到标准列 → 保存至 `config/suppliers_config.json` - “模板管理”:选择模板、校验表头列是否包含必需项 → 保存路径至供应商配置 - 在“快捷操作”区补充一个“显示处理器类型”入口,便于确认支持的文件类型 - 在保存成功后增加气泡提示与日志条目(log 面板出现“列映射已保存”“模板路径已保存”) ## 手动表头行支持 - 在“列映射向导”弹窗增加“表头行号(从1开始)”输入框: - 加载列时按照指定行重读 Excel 并展示源列 - 保存时将 `header_row`(零基索引)写入 `suppliers_config.json` - 通用供应商处理器读取时优先使用 `supplier_config['header_row']`;未设置时执行自动表头检测(关键词+非空比例+字符串比例) ## 自动表头检测增强 - Excel 单文件处理与通用供应商处理器: - 扫描范围扩大到前 30 行 - 扩充关键词:加入金额类(“金额/小计/总计/合计/合计金额”) - 综合评分:关键词命中+非空比例+字符串比例,阈值达到即判为表头;否则选第一个有效行 ## 交互与一致性 - “单个识别”按钮直接弹出图片选择(只允许 `jpg/jpeg/png/bmp`),取消即终止 - “单个处理”按钮弹出 Excel 选择(只允许 `xlsx/xls`),取消即终止,不再默认处理最新 Excel - 处理完成后不再自动打开 `result/output` 目录,改为通过“最近文件”双击打开 - 最近文件仅记录图片/Excel,自动过滤无效并按修改时间降序展示,空历史时从 `data/output`、`data/result` 回填合规文件 ## 供应商配置联动 - `suppliers_config.json`: - `column_mapping`:保存源列→标准列映射 - `header_row`:保存手动指定的表头行(零基) - `output_template`:保存模板路径(相对路径) - 处理器加载时校验并日志提示不合法项,保留已通过的配置 ## 验证与可视化 - 操作日志:保存映射/模板时写入成功日志 - 处理器信息:通过“显示处理器类型”对话框列出支持的扩展名和描述 - 手动表头验证:在向导中“加载列”后,源列下拉应出现正确列名;处理后“最近文件”出现输出采购单 ## 预计改动位置 - GUI按钮与向导弹窗:`启动器.py`(特殊处理区与工具函数) - 自动表头检测与手动表头使用: - Excel处理:`app/core/excel/processor.py` 的 `_find_header_row`、`process_specific_file` - 通用供应商处理:`app/core/processors/supplier_processors/generic_supplier_processor.py` 的 `_read_supplier_data`、`_find_header_row` - 供应商配置:`config/suppliers_config.json` ## 交付 - 提交代码改动后,更新打包 EXE,便携包包含上述 UI 与功能;提供操作说明与可见验证点。 请确认以上计划,确认后我将按此逐项实现并验证。