certflow.views.sale_plan_query_view module

销售计划查询视图(任务 2.1 第二域:QueryView 迁移 BaseQueryView)

SalePlanQueryViewBaseQueryView 的「宿主驱动」渲染器:它复用 BaseQueryViewEnhancedTable + 分页栏,但**不**使用 BaseQueryView 自带的 FilterBar / 搜索/刷新按钮——这些高级筛选(快查预设、特殊值、视图列、保存筛选)由宿主 QueryView 自己的 FilterBar 承担,并通过 run_query 注入条件与翻页控制。

渲染保真:移植 QueryView.display_results 的证书字段回退 / 计划日期归一 / 生产状态 图标逻辑,使迁移后显示与既有销售计划查询完全一致(纯收敛,行为不变)。

首屏加载延迟到 ``showEvent``(由宿主决定),避免构造期在无事件循环环境阻塞。

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

基类:BaseQueryView

销售计划结果区:BaseQueryView 宿主驱动渲染器。

信号:

selection_changed:选中行变化(供宿主更新「选中 N 条」)。

参数:
  • session (Any)

  • db_manager (Any)

  • parent (Any)

selection_changed
set_controller(controller)[源代码]

装配 QueryController 数据源(不触发查询;首屏由宿主 showEvent 触发)。

参数:

controller (Any)

返回类型:

None

set_view_columns(columns)[源代码]

按视图模板列配置表头(含展示字段不可排序处理),并恢复列状态/排序指示。

参数:

columns (list[dict])

返回类型:

None

run_query(conditions, or_filters=None, order_by=None, order_desc=False, page=1, page_size=50, reset_page=True)[源代码]

宿主驱动查询:经 SalePlanDataSource 走服务端分页/排序。

参数:
  • conditions (dict)

  • or_filters (Any)

  • order_by (str | None)

  • order_desc (bool)

  • page (int)

  • page_size (int)

  • reset_page (bool)

返回类型:

None

display(records, total, total_pages, page, columns=None)[源代码]

填充表格并更新分页(渲染保真见 _render)。

参数:
返回类型:

None

property records: list[Any]
selected_rows()[源代码]
返回类型:

set[int]

selected_records()[源代码]
返回类型:

list[Any]

selected_sale_plan_ids()[源代码]
返回类型:

list[int]

save_column_state()[源代码]
返回类型:

Any

restore_column_state(state)[源代码]
参数:

state (Any)

返回类型:

None

staticMetaObject = PySide6.QtCore.QMetaObject("SalePlanQueryView" inherits "BaseQueryView": Methods:   #33 type=Signal, signature=selection_changed() )