2 changed files with 75 additions and 0 deletions
@ -0,0 +1,29 @@ |
|||
# DockStatusDialog Implementation Plan |
|||
|
|||
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. |
|||
|
|||
**Goal:** 抽出机巢状态弹窗为 `DockStatusDialog`;summary/PLC 计算留页面。 |
|||
|
|||
**Architecture:** 组件包 `t-dialog` + 现有 body;`v-model:visible`;props: title/summary/chargeActive/updatedText/board。 |
|||
|
|||
**Spec:** `docs/superpowers/specs/2026-08-28-dock-status-dialog-design.md` |
|||
|
|||
--- |
|||
|
|||
### Task 1: 组件 + 接线 |
|||
|
|||
- Create: `src/components/DockStatusDialog.vue` |
|||
- Modify: `src/views/MonitorView/MonitorView.vue` |
|||
|
|||
- [ ] 迁入现 dialog 模板;用 board 布尔替换模板内 rt/doorValue 调用 |
|||
- [ ] 页面增加 `dockStatusBoard` computed(映射现有 isClosed/doorValue/...) |
|||
- [ ] 替换为 `<DockStatusDialog v-model:visible="dockStatusOpen" ... @close="closeDockStatus" />` |
|||
- [ ] Commit: `refactor: 抽取 DockStatusDialog 机巢状态弹窗` |
|||
|
|||
### Task 2: 冒烟 |
|||
|
|||
选中机巢 → 查看详情 → 摘要卡 + PLC 看板渲染;关闭正常;无 console error。 |
|||
|
|||
## 约束 |
|||
|
|||
不改后台;精确 git add;中文 commit |
|||
@ -0,0 +1,46 @@ |
|||
# 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;跳过全量单测 |
|||
Loading…
Reference in new issue