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