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