# 操作者手册 > 状态:✅ 核心流程已实现;🟡 部分边界待补;⚙️ 配置驱动 本手册面向终端用户,按日常操作流程组织。每个子文档包含:操作入口、逐步步骤、涉及配置、涉及代码文件、常见问题。 ## 流程总览 ```text 销售计划 Excel │ ▼ [04a 导入] ──异常──► [04b2 校正队列] ──放行──► 回到主表 │ ▼ [04b 查询与补充] ◄──字段编辑/合同信息复制 │ ▼ [04c 编号](自动/手动/年月前缀) │ ├──► [04d 合格证打印] ──► [04i 打印历史] │ ├──► [04e 报告生成](质保书/试压/材质) │ └──► [04f 导出](Excel/Access) │ ▼ [04g WebDAV 同步] ──► 远程备份 [04h 基础字典维护] 支撑上述全流程(材质/型号/口径/BOM) ``` ## 子文档 | 文档 | 流程 | 状态 | 操作入口 | |------|------|------|----------| | [04a-import-flow.md](./04a-import-flow.md) | 销售计划导入 | ✅ | GUI: 导航「计划导入」/ CLI: `import-sales-plan` | | [04b-query-flow.md](./04b-query-flow.md) | 查询与字段补充 | ✅ | GUI: 导航「查询与补充」/ CLI: `quick-query` | | [04b2-correction-queue.md](./04b2-correction-queue.md) | 校正队列 | ✅ | GUI: 导航「校正队列」 | | [04c-numbering-flow.md](./04c-numbering-flow.md) | 自动/手动编号 | ✅ | GUI: 查询页工具栏 / CLI: `auto-number` | | [04d-print-flow.md](./04d-print-flow.md) | 合格证生成与打印 | ✅ | GUI: 查询页「打印」/ CLI: `print-cert` | | [04e-report-flow.md](./04e-report-flow.md) | 报告生成 | ✅ | GUI: 导航「报告生成」/ CLI: `report-gen` | | [04f-export-flow.md](./04f-export-flow.md) | Excel / Access 导出 | 🟡 | GUI: 导航「输出」/ CLI: `export-excel` | | [04g-sync-flow.md](./04g-sync-flow.md) | WebDAV 远程同步 | ✅ | CLI: `db-sync push/pull/status` | | [04h-base-data.md](./04h-base-data.md) | 基础字典维护 | ✅ | GUI: 导航「基础数据维护」 | | [04i-history-archive.md](./04i-history-archive.md) | 打印历史与发货归档 | ✅ | GUI: 导航「打印历史」 | ## GUI 主界面导航 主窗口(`views/main_window.py`)采用左侧导航栏 + 右侧 `QStackedWidget` 布局。导航按钮通过 `actions/registry.py` 的 `nav.*` action 派发到 `_nav_*` 方法: | 导航按钮 | action | 目标视图 | |----------|--------|----------| | 计划导入 | `nav.import` | `ImportPage` | | 查询与补充 | `nav.query` | `QueryView` | | 输出 | `nav.output` | `OutputView` | | 打印历史 | `nav.history` | `HistoryView` | | 报告生成 | `nav.report` | `ReportView` | | 校正队列 | `nav.correction_queue` | `CorrectionQueueView` | | 基础数据维护 | `nav.lookup_tables` | `LookupTablesDialog` | | 系统设置 | `nav.settings` | `SettingsView` | ## action 派发机制 所有工具栏按钮、右键菜单项、导航按钮统一通过 `actions/registry.py` 的 `dispatch(view, action_name, item)` 派发: 1. `ui.yaml` 中声明 `action: ` 2. `REGISTRY` 中注册 `ActionSpec(name, method)` 3. 视图实现对应 `method` 4. 点击时调用 `dispatch(view, name, item)` → `getattr(view, method)(item?)` 配置驱动的动态 action(如 `set_status_待生产`)经前缀通用 action(`set_status`)承接,无需为每个状态值单独注册。