2 changed files with 61 additions and 0 deletions
@ -0,0 +1,36 @@ |
|||||
|
# MonitorMapChrome 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:** 抽出地图 chrome(toolbar/legend/scale)。 |
||||
|
|
||||
|
**Spec:** `docs/superpowers/specs/2026-08-28-monitor-map-chrome-design.md` |
||||
|
|
||||
|
### Task 1 |
||||
|
|
||||
|
Create `MonitorMapChrome.vue`;MonitorView: |
||||
|
|
||||
|
```vue |
||||
|
<div class="map-panel"> |
||||
|
<MonitorMapChrome |
||||
|
:map-mode="mapMode" |
||||
|
:scale-text="mapScaleText" |
||||
|
@set-map-mode="setMapMode" |
||||
|
@fit-all="fitAll" |
||||
|
> |
||||
|
<CommandProgressFloat ... /> |
||||
|
</MonitorMapChrome> |
||||
|
</div> |
||||
|
``` |
||||
|
|
||||
|
或 chrome 不包 slot、同级放置 float 也可——保持 float 仍在 `.map-panel` 内。 |
||||
|
|
||||
|
Commit: `refactor: 抽取 MonitorMapChrome 地图工具条图例` |
||||
|
|
||||
|
### Task 2 冒烟 |
||||
|
|
||||
|
卫星/地图切换 class active;fit 按钮可点;比例尺文案存在。 |
||||
|
|
||||
|
## 约束 |
||||
|
|
||||
|
跳过全量测试;Main 可冒烟 |
||||
@ -0,0 +1,25 @@ |
|||||
|
# MonitorMapChrome 设计 |
||||
|
|
||||
|
## 目标 |
||||
|
|
||||
|
抽出 map-panel 内工具条 / 图例 / 比例尺为 `MonitorMapChrome.vue`。`CommandProgressFloat` 仍由页面放在 map-panel 内(或 chrome 提供 default slot)。 |
||||
|
|
||||
|
## 契约 |
||||
|
|
||||
|
**Props:** `mapMode` (`satellite`|`street`) · `scaleText` |
||||
|
|
||||
|
**Emits:** `update:mapMode` 或 `set-map-mode` · `fit-all` |
||||
|
|
||||
|
**Slot:** default — 进度浮层等叠加层 |
||||
|
|
||||
|
地图实例 / `setMapMode` / `fitAll` / `mapScaleText` 计算留页面。 |
||||
|
|
||||
|
## 实现 |
||||
|
|
||||
|
1. `src/components/MonitorMapChrome.vue` |
||||
|
2. MonitorView map-panel 改为 chrome + CommandProgressFloat slot/子节点 |
||||
|
3. Commit: `refactor: 抽取 MonitorMapChrome 地图工具条图例` |
||||
|
|
||||
|
## 约束 |
||||
|
|
||||
|
不改 mapHelper;精确 git add;中文 commit |
||||
Loading…
Reference in new issue