certflow.views.import_dialog module

销售计划导入配置对话框

提供Excel导入前的参数配置界面,包括: - 文件选择 - 工作表选择 - 表头行设置 - 数据起始行设置 - 列映射预览 - 跳过行数设置

class certflow.views.import_dialog.ImportConfigDialog(file_path='', view_key='sales_plan', parent=None, db_manager=None, session=None)[源代码]

基类:QDialog

导入配置对话框

提供Excel文件导入前的参数配置界面,支持: - 文件选择(新增) - 工作表选择 - 表头行和数据起始行设置 - 列映射预览和手动配置 - 跳过列管理 - 配置记忆(自动保存下次导入时恢复)

Signals:

config_confirmed: 配置确认信号,参数为配置参数字典

参数:
  • file_path (str)

  • view_key (str)

  • parent (Any)

  • db_manager (Any)

  • session (Any)

file_path

Excel文件路径

df_raw

原始DataFrame(未处理表头)

available_sheets

可用工作表列表

_skipped_columns

跳过的列名集合

Type:

set

_column_mapped_status

每列映射状态缓存

Type:

dict

sheet_configs

各工作表的保存配置

config_confirmed
scope_month: int | None
date_range_start: str | None
date_range_end: str | None
order_filter: dict[str, str]
selected_rows: list[int]
filter_combos: dict[str, Any]
setup_ui()[源代码]

初始化UI(三页 Tab:① 源文件与导入设置 / ② 列映射 / ③ 导入配置项)

返回类型:

None

load_user_config()[源代码]

加载用户保存的配置(从 file_sheet_configs 读取)

返回类型:

Any

save_user_config(config)[源代码]

保存用户配置(到 file_sheet_configs)

参数:

config (dict)

返回类型:

None

browse_file()[源代码]

浏览选择Excel文件

返回类型:

None

load_excel_info()[源代码]

加载Excel文件信息(仅读取工作表清单;实际数据源表由「导入范围」驱动选择)。

返回类型:

None

load_sheet_data(sheet_name)[源代码]

加载指定工作表的数据

参数:

sheet_name (str)

返回类型:

None

update_preview()[源代码]

更新列映射预览

根据当前配置刷新预览表格的显示内容。

返回类型:

None

get_current_mapping()[源代码]

获取当前列映射(只包含选中的列)

返回:

Excel列名到目标字段的映射字典

返回类型:

Dict[str, str]

skip_unmapped_columns()[源代码]

跳过所有未配置的列

返回类型:

None

reset_skipped_columns()[源代码]

重置所有跳过列

返回类型:

None

select_all()[源代码]

全选所有列

清空跳过列,恢复所有列的原始映射状态。

返回类型:

None

deselect_all()[源代码]

取消全选

跳过所有列,将所有列标记为不导入。

返回类型:

None

clear_saved_config()[源代码]

清除当前文件保存的配置

清除跳过的列配置,恢复为默认状态。

返回类型:

None

on_checkbox_changed(row, col_name, state)[源代码]

复选框状态改变处理

三种状态的处理逻辑: - 已配置(✅): 列有目标映射 + 复选框选中 → 导入时使用该映射 - 未配置(⚠️): 列无目标映射 + 复选框选中 → 导入但不映射(保留原列名) - 跳过(⏭️): 复选框未选中 → 导入时忽略该列

转换规则: - 从未选中→选中: 从跳过恢复为原始状态(已配置或未配置) - 从选中→未选中: 标记为跳过

参数:
  • row (int) -- 行索引

  • col_name (str) -- 列名

  • state (int) -- 复选框状态

返回类型:

None

on_preview_changed()[源代码]

配置变更事件

当表头行、数据起始行或跳过行数改变时更新预览。

返回类型:

None

preview_data()[源代码]

预览数据

显示当前配置下即将导入的数据预览。

返回类型:

None

auto_detect()[源代码]

自动检测配置

根据关键词自动检测表头行位置。

返回类型:

None

validate_config(config_params)[源代码]

验证配置参数

参数:

config_params (dict[str, Any]) -- 配置参数字典

返回:

配置是否有效

返回类型:

bool

staticMetaObject = PySide6.QtCore.QMetaObject("ImportConfigDialog" inherits "QDialog": Methods:   #41 type=Signal, signature=config_confirmed(QVariantMap), parameters=QVariantMap )