certflow.views.bom_import_widget module

BOM 零件牌号导入控件(目录扫描入库)

作为「计划导入」堆叠页的第二个标签页(与销售计划导入并列),复用 certflow.services.bom_material_service.scan_and_import 做目录递归扫描入库。 对应 CLI certflow bom import--mode 对应本控件的「导入模式」四选一。

提供四种导入模式,UI 上明确告知用法与去重风险: - 清空重导(clear):清除全表后重导,结果干净、无重复;重建全表用; - 直接追加(append):不清空直接插入,同一文件重复导入会产生重复行; - 按文件刷新(refresh):已导入文件删旧行写最新内容,新文件追加; - 增量跳过已导入(skip):只导未入库文件,已存在文件(即便已更新)跳过。

默认目录与默认模式由配置 bom_import.default_folder / bom_import.default_mode (config/import.yaml,经 !include 并入)驱动;本控件打开时自动预填目录、预选模式, 日常只扫新文件把 default_mode 设为 skip 即可,需重建全表时再改回 clear 或在 UI 手动切换,无需改代码。

导入在后台线程执行,避免阻塞 UI;通过 import_started / import_finished 信号通知外层(用于锁定导航)。

蓝图关联:docs/BLUEPRINT_QUERY_UNIFY.md 阶段 B1(BOM 导入 tab)。

class certflow.views.bom_import_widget.BomImportWidget(db_manager=None, session=None, parent=None)[源代码]

基类:QWidget

BOM 导入控件:目录选择 + 追加/清除选项 + 扫描入库 + 进度/日志。

参数:
  • db_manager (Any)

  • session (Any)

  • parent (QWidget | None)

import_started
import_finished
staticMetaObject = PySide6.QtCore.QMetaObject("BomImportWidget" inherits "QWidget": Methods:   #33 type=Signal, signature=import_started()   #34 type=Signal, signature=import_finished() )