certflow.views.query_view module¶
查询界面 - 参数化查询(配置驱动版)
从 ui.yaml 读取视图模板、操作符定义、字段映射等配置。
- class certflow.views.query_view.QueryView(session, db_manager=None, controller=None)[源代码]¶
基类:
QuickSearchPresetMixin,QWidget销售计划查询视图 - 配置驱动
- 参数:
session (Any)
db_manager (Any)
controller (QueryController | None)
- back_to_home¶
- qsp_get_quick_search_items(fields)[源代码]¶
快查候选数据源(重写 mixin 钩子):以视图默认范围(
_view_default_conditions)作为 稳定基础抽出去重组合,不随快查临时行收窄(与历史行为一致)。
- on_quick_search(or_filters=None)[源代码]¶
快查确认入口(mixin 回调):桥接到 View 的
search();mixin 在 AND 分支以无参调用、OR 分支带
or_filters调用,二者都能正确转发。- 参数:
or_filters (Any)
- 返回类型:
None
- setup_result_table(parent_layout)[源代码]¶
设置结果表格(迁移到 BaseQueryView:SalePlanQueryView 宿主驱动渲染器)。
保留 QueryView 自身的高级 FilterBar / 快查预设 / 统计 / 导出 / 打印跳转, 仅把结果表格 + 分页展示委托给
SalePlanQueryView;其内置分页条隐藏, 翻页由 QueryView 自有分页控件经run_query驱动。- 参数:
parent_layout (Any)
- 返回类型:
None
- display_results(result)[源代码]¶
将查询结果填充到表格中显示(委托 SalePlanQueryView,渲染保真见其
_render)。注意:不在每次结果刷新时重算快查候选项——否则 QuickSearch 的选中态(currentIndex) 会被重置回首项,导致键盘 ↓ 永远回到第一个候选、无法翻页切换(与 report_view 行为不一致)。 候选仅在初始化 / preset 切换 / 视图默认范围变化时重算。
- get_filters()[源代码]¶
获取当前所有筛选条件(委托 FilterBar,统一条件契约)。
遍历所有筛选行,收集非空的筛选条件,构造成查询服务可用的格式。 如果启用了「按计划日期范围筛选」且用户已勾选,自动附加 plan_date 区间条件。
- 返回:
{'value': ..., 'operator': ...}} 区间条件 value 为 [min, max] 列表
- 返回类型:
筛选条件字典,格式为 {field_name
- get_selected_ids()[源代码]¶
获取当前选中的 SalePlan ID 列表
用于跨页面数据传递,将查询视图中选中的记录 ID 传递给合格证页面。
- 返回:
选中的 SalePlan.id 列表
- 返回类型:
List[int]
- staticMetaObject = PySide6.QtCore.QMetaObject("QueryView" inherits "QWidget": Methods: #33 type=Signal, signature=navigate_to_print(QVariantList), parameters=QVariantList #34 type=Signal, signature=back_to_home() )¶