refactor(处理器): 重构通用供应商处理器以支持规则引擎 docs: 更新README与文档说明供应商管理功能 build: 更新打包脚本注入版本信息 test: 添加规则引擎单元测试
2.3 KiB
2.3 KiB
问题与目标
- 弹窗尺寸偏小,不便操作
- 弹窗及文件选择后没有在最上层,易被其他窗口遮挡
- 字段英文名不直观,需要显示中文对应(银豹模板列)
改进方案
1. 弹窗尺寸与置顶行为
- 将列映射向导窗口尺寸调整为
780x660,保持自适应(子控件fill=tk.BOTH, expand=True) - 打开向导时:
dlg.lift()、dlg.attributes('-topmost', True),after_idle取消置顶但保持焦点;dlg.transient(root)、dlg.grab_set()防止被遮挡 - 选择文件后的回调中再次
dlg.lift()和短暂置顶,确保返回后窗口在最上层 - 同步为模板管理窗口应用同样策略
2. 字段标签中文提示
- 列映射向导的标准字段改为按
ColumnMapper.STANDARD_COLUMNS动态生成(若可用),并为每个字段追加中文说明,例如:barcode(条码)name(商品名称)specification(规格)quantity(数量)unit(单位)unit_price(采购单价)total_price(金额/小计)category(类别)brand(品牌)supplier(供应商)
- 若
ColumnMapper不可用,则用内置friendly_labels字典生成上述标签
3. 布局优化与可用性
- 保持“文件路径 + 浏览 + 预览前30行 + 加载列”四项同一行,按钮设
padx=6,保证易点 - 映射区使用
ttk.Combobox(state='readonly'),宽度适配,并确保行高足够(留白) - 预览区保留顶部表格(前30行),支持点击行自动填充表头行号;加载列时按指定行读取
4. 代码改动位置
启动器.py:open_column_mapping_wizard_alt:调整几何尺寸与置顶;在“浏览”回调与预览/加载流程中补充lift/topmost;扩展标准字段与中文标签open_template_manager:统一尺寸与置顶行为
- 仅UI与行为改动,不影响处理逻辑;保存仍写入
suppliers_config.json的header_row与column_mapping
5. 验证
- 打开列映射向导:窗口足够大,居中且在最上层;选择文件后窗口仍在最上层
- 字段标签显示为英+中:如
name(商品名称) - 预览前30行与加载列同一行;点击预览行自动写入表头行号;保存后提示成功并写入配置
请确认以上方案,确认后我将立即实施并验证。