# DockStatusDialog 设计 ## 目标 将 MonitorView 中机巢状态 `t-dialog` 抽为 `DockStatusDialog.vue`。页面继续计算 `dockStatusSummary` / PLC 布尔态;dialog 只负责展示。 ## 非目标 - 不迁 `rt` / `doorValue` / summary 计算进组件 - 不改 MonitorDetailPanel、地图、命令进度 - 不改业务文案 ## 契约 **Props** | prop | 说明 | |------|------| | `visible` | v-model | | `title` | dialog header | | `summary` | 现 `dockStatusSummary` 对象 | | `chargeActive` | 充电中高亮(原 `chargeTone`) | | `updatedText` | 「PLC 实时反馈 · …」 | | `board` | PLC 看板布尔态 | `board` 字段: ``` leftClosed, leftOpen, rightClosed, rightOpen, lrTight, lrLoose, fbTight, fbLoose, emergencyStop, autoMode, noAlarm, resetDone, charging, chargeIdle, dronePresent, powerOnline ``` **Emits:** `update:visible`;`@close` 可选(页面可继续 `closeDockStatus`) ## 实现 1. 新增 `src/components/DockStatusDialog.vue`(含现 dialog 模板 + destroy-on-close) 2. MonitorView 用组件替换内联 t-dialog;新增 `dockStatusBoard` computed 3. Commit:`refactor: 抽取 DockStatusDialog 机巢状态弹窗` 4. 冒烟:选中机巢 → 查看详情 → dialog 内容正常 ## 约束 精确 git add;中文 commit;跳过全量单测