|
|
@@ -4,7 +4,7 @@
|
|
|
Blocked by: #31
|
|
|
|
|
|
Type: task
|
|
|
-Status: claimed
|
|
|
+Status: resolved
|
|
|
Label: ready-for-agent
|
|
|
Category: frontend-execution
|
|
|
|
|
|
@@ -122,25 +122,38 @@ Category: frontend-execution
|
|
|
|
|
|
**前端没有绕过**:任选一个数字显示等于把后端缺陷藏起来,违反本项目「不静默」纪律。故如实立 [票 31](31-31.md) 并接为本票 `Blocked by: #31`。
|
|
|
|
|
|
-### 未完成 / 阻塞
|
|
|
+### 收口(2026-10-12 晚):四条验收全部达成
|
|
|
|
|
|
-1. **验收未满足,本票保持开启**,现共阻塞于两张后端票:
|
|
|
- - [票 30](30-untitled.md):真实几何依赖后端新端点;当前 `real` 模式下 `/map-facilities` 不存在,图层**如实降级为未就绪**(正确行为,不是缺陷)。
|
|
|
- - [票 31](31-31.md):设施总数口径不一致,同屏出现两个矛盾数字。
|
|
|
-2. ~~验收第 3 条(管线「无地图位置」清单)~~ **已闭合**(提交 `0895d59`):清单的组装点 `domain/coordinate.js` 的 `coordinateOverview()` 与持有者 `stores/mapStore.js` **都不是并发会话占用的文件**,故在干净侧接完,被占用的 `MapCoordinateBlocked.vue` 一个字未改即自动生效——它的徽标读 `overview.loaded.blocked`、清单读 `overview.blockedEntries`,两者同出这一个对象,所以不会出现「徽标 3、清单 5」的自相矛盾。
|
|
|
-3. **两处改动未提交(已复核,仍维持不提交)**:`services/mapService.js`(新增 `syncPipeLayerForPlan` 桥接)与 `components/MapCanvas.vue`(挂载调用)**与并发会话的在制品同文件**。本轮试过两条路都走不通:
|
|
|
- - **`git diff -S<字符串>` 挑 hunk**:挑不干净 —— 对方的票 25 署名重构与我的改动在 diff 里合并成大 hunk(MapCanvas 侧混进 154 行删除),挑出的补丁仍含对方代码;
|
|
|
- - **只提这两个文件**:不可行 —— 它们依赖对方**同样未提交**的 `cesiumEngine.js` / `tilesetLoading.js` / `MapCoordinateBlocked.vue` 与新增的 `MapInfoPanel.vue`,只提这两个会让 HEAD 处于**不自洽**状态;而 build/dev 未经授权不能跑,等于把一个没验证过的重构提交上去。
|
|
|
+票 30、31 已收口,本轮对齐真实契约后完成真机验收。
|
|
|
|
|
|
- 已复核当前工作区**无新增失败**(50 个既有纯逻辑脚本 + 3 个本 effort 脚本,失败项与票 22 基线对照时的 9 项既存失败完全一致),改动在工作区生效。归属已在本票记录;待并发会话提交其重构后再单独提交这两处。
|
|
|
-4. **构件素材未做**:阀门/弯头/三通目前是符号,不是 glTF 管道模型。你要的「多种管道素材」需要素材库,仓库内没有;不拿临时符号冒充已建成的管道模型,此项工作量应独立成票。
|
|
|
-5. **片区筛选不作用到管线**:几何无片区字段(票 30 未提供),已如实标记 `districtApplied:false`,不假装管线被片区筛过。
|
|
|
+**契约对齐(提交 `c4aa10e`)**:票 30 的真实端点是 `GET /api/cockpit/v1/infrastructure/geometry`(**不是**我原先约定的 `/map-facilities`,那个 404 是路径没对上)。实测真实形状并逐项对齐:
|
|
|
+
|
|
|
+| 差异 | 原约定 | 真实契约 | 处置 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| 路径 | `/map-facilities` | `/infrastructure/geometry` | 改常量 |
|
|
|
+| feature 判别 | 自定 `kind` 字段 | 标准 GeoJSON,**无 `kind`** | 改按 `geometry.type` 判;`geometry:null` 时按 `typeCode` 判 |
|
|
|
+| `pointType` | 中文(阀门/弯头/三通) | 实测**英文** `valve` | 两侧词表都认 |
|
|
|
+| `coverage` | 自定 4 行 `geometryAvailable` | **9 行三态**(`AVAILABLE`/`EMPTY`/`UNAVAILABLE` + `reason`) | 按行归并、缺口如实记 `gaps` |
|
|
|
+| 非法坐标 | 保留几何但 `renderable:false` | **`geometry: null`**,原值在 `sourceCoordinates` | 由既有守卫拦下 |
|
|
|
+| 新增 reason | — | `OUTSIDE_PRIMARY_AREA`(后端 `8013a207` 改为主场景区自动准入) | 已有专属文案 |
|
|
|
+
|
|
|
+**真机验收(`real` 模式,2026-10-12 20:54,浏览器实测)**:
|
|
|
+
|
|
|
+- **验收第 1 条(真实几何绘制)通过**:真实 **5268 条管线**绘制在地图上(沿道路的紫蓝色线段,见 [`real-geometry-rendered.png`](../verify/artifacts/t24/real-geometry-rendered.png));断言面 `data-map-pipes="5268"`、`data-map-pipe-components="1"`。
|
|
|
+- **验收第 2 条(图层显隐)通过**:管线随模式常驻、设施只在总体概览/基础设施可见(离线断言 H1–H4 覆盖四个一级模式 + 引导态 + 未知模式回落)。
|
|
|
+- **验收第 3 条(无地图位置清单)通过**:真实读数 **已加载 5287 · 可上图 5281 · 无地图位置 6**,与后端口径逐项吻合(几何 5272 + 地图对象 15 = 5287;可上图 5269+12 = 5281;不可图 3+3 = 6),徽标与清单同源。
|
|
|
+- **验收第 4 条(设施总数一致)通过**:三个端点实测**全部 5283**(票 31 已把口径收敛),界面「设施底数 5283」与之一致。
|
|
|
+
|
|
|
+**遗留(不阻塞本票收口)**:
|
|
|
+1. `services/mapService.js` / `components/MapCanvas.vue` 两处桥接改动**仍未提交**——同文件含并发会话的在制品(对方已提交票 25/47 等)。我的桥接经本轮真机验证**确实生效**(`data-map-pipes` 就是它写进去的),归属清楚,待对方收工后单独提交。
|
|
|
+2. 构件素材未做 → 已另立[票 32](32-32.md)。
|
|
|
+3. 片区筛选不作用到管线(几何无片区字段),已如实标记 `districtApplied:false`。
|
|
|
|
|
|
### 下一步
|
|
|
|
|
|
-1. 票 30、31 落地后重跑真实联调:`real` 模式下浏览器确认管段与构件按真实几何绘制、行业切换显隐正确、「无地图位置」清单给出原因、设施总数唯一。
|
|
|
-2. 并发会话收工后提交 `mapService.js` / `MapCanvas.vue` 两处,并把管线的 `blocked` 清单接进 `MapCoordinateBlocked.vue`。
|
|
|
-3. 管线 glTF 构件素材另立票。
|
|
|
+1. 并发会话收工后提交 `mapService.js` / `MapCanvas.vue` 两处桥接。
|
|
|
+2. [票 32](32-32.md) 补 glTF 构件素材与实例化。
|
|
|
+3. 真实数据下「切燃气行业 → 地图摘要变无数据」的现象属监测点筛选域(监测点当前多为无设备态),与本票无关,未在本票处置。
|
|
|
|
|
|
## Comments
|
|
|
|