certflow.views.output_view module¶
统一输出视图(OutputView)—— 打印/扫描合一(§11.5 阶段3)。
设计要点(方案A · 配置驱动 + 组合复用):
- 顶部一个「输出目标」下拉,选项由 output.targets 配置驱动(打印/扫描),
默认值取
output.default_target;切换仅显隐对应子视图,不重建。
打印子页复用既有 :class:`PrintView`(ESC/P 打印 + 完整表单 + 预览), 扫描子页复用既有 :class:`ScanView`(PIL 渲染),二者逻辑/测试零改动 → 行为零回归。
护栏(阶段1
run_guard)、PrintLog写点(阶段2HistoryBackfillService)、 历史 diff 闸均为两子视图共享服务,本视图只负责目标切换与信号收敛。信号统一为
output_completed(target, payload);PrintView.navigate_to_scan(内部「生成扫描件」按钮)在本视图内直接切换目标并加载,不再外抛。
- class certflow.views.output_view.OutputView(session, config=None, db_manager=None, parent=None)[源代码]¶
基类:
QWidget打印/扫描合一的统一输出视图(单 tab)
- 参数:
session (Any)
config (dict)
db_manager (Any)
parent (Any)
- output_completed¶
- set_target(key)[源代码]¶
切换输出目标(打印/扫描)并更新下拉。
- 参数:
key (str) -- 目标 key("print" / "scan"),未知 key 回退打印。
- 返回类型:
None
- run_output(target, action='print', **kwargs)[源代码]¶
统一调度入口:委托 OutputController.run(§11.8 阶段4 显式 dispatch 表)。
- staticMetaObject = PySide6.QtCore.QMetaObject("OutputView" inherits "QWidget": Methods: #33 type=Signal, signature=output_completed(QString,QVariantList), parameters=QString, QVariantList )¶