## 目标 - 在系统设置中提供“供应商管理”GUI,支持新增/编辑/删除供应商,无需手改代码或JSON。 - 一站式配置:基本信息、表头与列映射、规则与词典、模板管理,保存后即时生效。 ## 界面设计 - 入口:右侧“系统设置”新增按钮“供应商管理”。 - 布局: - 左栏:供应商列表(名称),支持搜索/新建/复制/删除。 - 右侧Tab: 1) 基本信息:`name`、`description`、`filename_patterns`、`content_indicators`、`header_row` 2) 列映射与表头:嵌入现有“列映射向导”核心(预览前30行、表头选行、加载列、智能映射、导入/导出) 3) 规则与词典:词典编辑(忽略词、单位同义词、包装倍数、名称正则、默认单位/包装);规则预设与规则预览(原始→规范化) 4) 模板管理:`output_templates` 列表、当前选择与批量校验 - 操作按钮:保存(写入`suppliers_config.json`)、重载处理器、导入/导出供应商配置(单个或全部)。 ## 数据流与验证 - 加载/保存:统一读写`config/suppliers_config.json`;保存后调用`ProcessorService.reload_processors()`。 - 校验:复用`ProcessorService._validate_suppliers_config`;保存前进行schema校验,错误弹窗聚合列表。 - 预设:提供“基础拆分与推断”规则预设;可导入/导出自定义规则。 ## 增强逻辑(自动化建议) - 新建供应商时,可选择样例Excel: - 自动检测表头与初始列映射;基于列名关键词给出映射建议。 - 词典预填:常见单位同义词、默认单位“瓶”、常见包装倍数(件/箱/提/盒)。 ## 实施步骤 1) 创建`open_supplier_manager`弹窗(系统设置入口),左列表+右侧Tab结构。 2) 基本信息Tab:表单与校验;保存更新到JSON。 3) 列映射与表头Tab:复用现有向导组件(预览/加载/智能映射/导入/导出)。 4) 规则与词典Tab:编辑词典与规则预览,保存写入`dictionary`与`rules`。 5) 模板管理Tab:维护`output_templates`与`current_template_index`,批量校验与报告显示。 6) 保存与重载:统一写入后调用处理器重载并日志提示。 ## 验证 - GUI走查:新增/复制/删除供应商配置;规则预览正确;模板校验能识别缺失列。 - 处理生效:保存后立刻按新规则规范化并填充模板输出。 ## 后续扩展 - 多供应商批量校验与报告导出;词典共享/继承;规则预设库扩展。 如果确认,我将开始实现该GUI及其数据流,并将现有向导整合到供应商管理中以形成一站式配置体验。