orc-order-v2/.trae/documents/优化列映射向导的尺寸、置顶行为与字段标签.md
houhuan fb12e63c4c feat(供应商管理): 新增规则引擎与词典配置支持
refactor(处理器): 重构通用供应商处理器以支持规则引擎
docs: 更新README与文档说明供应商管理功能
build: 更新打包脚本注入版本信息
test: 添加规则引擎单元测试
2025-12-12 13:46:00 +08:00

2.3 KiB
Raw Blame History

问题与目标

  • 弹窗尺寸偏小,不便操作
  • 弹窗及文件选择后没有在最上层,易被其他窗口遮挡
  • 字段英文名不直观,需要显示中文对应(银豹模板列)

改进方案

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.jsonheader_rowcolumn_mapping

5. 验证

  • 打开列映射向导:窗口足够大,居中且在最上层;选择文件后窗口仍在最上层
  • 字段标签显示为英+中:如 name商品名称
  • 预览前30行与加载列同一行点击预览行自动写入表头行号保存后提示成功并写入配置

请确认以上方案,确认后我将立即实施并验证。