docs(specs): 新增现场勘察业务相关 spec 文档
- rework-survey-equipment-tree:勘察设备树明细模式重构 - fix-equipment-topology-display:设备拓扑图完整显示修复 - survey-detail-building-select:勘察明细所属建筑下拉 - generate-floor-options-from-building:按建筑楼层生成楼层下拉 - survey-progress-track-detail:进度跟踪跳转勘察明细页 - survey-complete-to-tech-review:勘察完成提交技术复核与复核按钮改名
This commit is contained in:
1 parent
dff366a823
commit
7c915f8946
18 files changed
+553
No files matched your search
@@ -0,0 +1,11 @@
|
||||
# Checklist
|
||||
|
||||
- [x] 右侧节点属性面板「设备信息」表单包含「所属建筑」下拉、「所在楼层」「具体位置」输入,无「所在位置」文本输入
|
||||
- [x] 新增/编辑客户设备弹窗表单同样包含「所属建筑」下拉、「所在楼层」「具体位置」输入
|
||||
- [x] 建筑下拉选项按工单客户过滤(`customerBuildingApi.getList({ customerId })`),可清空选填
|
||||
- [x] 新增/编辑设备提交 payload 携带 `buildingId`/`floorNo`/`location`
|
||||
- [x] 右侧面板保存节点属性 patch 携带 `buildingId`/`floorNo`,且建筑/楼层变更会触发更新(变更判断包含新字段)
|
||||
- [x] 编辑回显:选中节点与打开编辑弹窗时正确回显 `buildingId`/`floorNo`/`location`
|
||||
- [x] 必填校验不变(仍为设备名称/设备类型),所属建筑等位置字段选填
|
||||
- [x] `client` 编译通过(`npm run check`)
|
||||
- [x] 浏览器实测:勘察明细页新增/编辑设备完整流程正常,设备管理台账页不受影响
|
||||
@@ -0,0 +1,43 @@
|
||||
# 勘察明细设备表单:所在位置改为所属建筑下拉 Spec
|
||||
|
||||
## Why
|
||||
勘察明细页新增/编辑设备时,「所在位置」目前是自由文本输入,无法与客户建筑体系关联,与设备管理台账页的「所属建筑」下拉选择不一致。
|
||||
|
||||
## What Changes
|
||||
- 勘察明细页(`views/dispatch/survey/detail.vue`)两处设备表单(①新增/编辑客户设备弹窗 equipForm;②右侧节点属性面板 nodeForm):
|
||||
- 「所在位置」文本输入 → 「所属建筑」下拉选择(`buildingId`,按工单客户过滤建筑,可清空选填)
|
||||
- 同时增加「所在楼层」输入(`floorNo`,文本,选填)
|
||||
- 「具体位置」(`location`)保留为可选文本输入
|
||||
- 建筑下拉数据源:`customerBuildingApi.getList({ customerId, page: 1, pageSize: 999 })`,在工单详情加载成功与设备树刷新时按工单客户加载
|
||||
- 提交与回显:新增/编辑设备与保存节点属性时携带 `buildingId`/`floorNo`/`location`;编辑选中节点与打开编辑弹窗时回显
|
||||
- 与设备管理台账页「位置信息」区块保持一致(所属建筑/所在楼层/具体位置三件套,均为选填)
|
||||
|
||||
## Impact
|
||||
- Affected specs: 勘察派单重构(rework-survey-equipment-tree)交付的勘察明细页设备维护能力
|
||||
- Affected code:
|
||||
- `client/src/views/dispatch/survey/detail.vue`(两处表单模板 + equipForm/nodeForm 数据模型 + 提交/回显/加载逻辑)
|
||||
- 不改动:后端 `customer_equipment.service.ts`(create/update 已透传 buildingId/floorNo)、`api/customerEquipment.ts`(类型已含 buildingId/floorNo/location)、设备管理台账页、空间拓扑页
|
||||
|
||||
## ADDED Requirements
|
||||
### Requirement: 设备表单按所属建筑选择位置
|
||||
勘察明细页新增/编辑设备时,系统 SHALL 提供「所属建筑」下拉(按当前工单客户过滤建筑,可清空),并同时提供「所在楼层」与「具体位置」可选输入。
|
||||
|
||||
#### Scenario: 新增/编辑设备
|
||||
- **WHEN** 用户在勘察明细页新增或编辑客户设备
|
||||
- **THEN** 表单显示「所属建筑」下拉(选项为该客户的建筑)、「所在楼层」输入、「具体位置」输入,保存后设备携带 `buildingId`/`floorNo`/`location`,再次编辑时正确回显
|
||||
|
||||
## MODIFIED Requirements
|
||||
### Requirement: 设备表单「所在位置」字段
|
||||
- 原「所在位置」文本输入由「所属建筑」下拉 +「所在楼层」输入 +「具体位置」输入替代(两处表单均生效)
|
||||
- `location` 数据保留可维护,「所属建筑」「所在楼层」为新增可维护字段
|
||||
|
||||
## REMOVED Requirements
|
||||
### Requirement: 无 —— 仅调整勘察明细页设备表单的位置信息录入方式
|
||||
**Reason**: 无移除
|
||||
**Migration**: 无
|
||||
|
||||
## 假设(已与用户确认)
|
||||
- 两处表单都改(弹窗 + 右侧属性面板)
|
||||
- 「具体位置」(location)保留为可选文本输入
|
||||
- 同时增加「所在楼层」(floorNo)输入
|
||||
- 所属建筑/所在楼层/具体位置均为选填(与设备管理台账页一致,必填仍为设备名称/类型)
|
||||
@@ -0,0 +1,26 @@
|
||||
# Tasks
|
||||
|
||||
## 勘察明细页设备表单改造(同一文件 `client/src/views/dispatch/survey/detail.vue`,串行完成)
|
||||
- [x] Task 1: 两处表单模板 UI 改造
|
||||
- [x] 1.1 右侧节点属性面板「设备信息」表单(约 L167-169):将「所在位置」替换为「所属建筑」下拉(`a-select`,`buildingId`,allow-clear)+「所在楼层」输入(`floorNo`)+「具体位置」输入(`location`)
|
||||
- [x] 1.2 新增/编辑客户设备弹窗表单(约 L231-233):同样替换为「所属建筑」下拉 +「所在楼层」输入 +「具体位置」输入
|
||||
- [x] Task 2: 表单数据模型与提交/回显逻辑
|
||||
- [x] 2.1 `NodeForm`/`EquipForm` 接口与 `nodeForm`/`equipForm` 增加 `buildingId: number | null`、`floorNo: string` 字段
|
||||
- [x] 2.2 `handleAddEquip`/`handleEditEquip` 初始化与回显 `buildingId`/`floorNo`
|
||||
- [x] 2.3 `watch(selectedNode)` 回显 `buildingId`/`floorNo`/`location`
|
||||
- [x] 2.4 `handleEquipSubmit`:新增(`CustomerEquipmentCreateParams`)与编辑 payload 增加 `buildingId`/`floorNo`
|
||||
- [x] 2.5 `handleSaveNode`:patch 增加 `buildingId`/`floorNo`,并将变更判断条件加入 buildingId/floorNo 对比(否则修改建筑后不触发更新)
|
||||
- [x] Task 3: 建筑下拉数据加载
|
||||
- [x] 3.1 导入 `customerBuildingApi` 与 `CustomerBuildingInfo`;新增 `buildingOptions` ref(`{label: buildingName, value: id}`)与 `buildingLoading`
|
||||
- [x] 3.2 新增 `loadBuildingOptions(customerId)`:调 `customerBuildingApi.getList({ customerId, page: 1, pageSize: 999 })`
|
||||
- [x] 3.3 在 `loadOrder` 成功后与 `refreshTreeOnly` 时按 `order.value.customerId` 加载建筑选项(客户变更时刷新)
|
||||
|
||||
## 验证
|
||||
- [x] Task 4: 编译 + 浏览器实测
|
||||
- [x] 4.1 `client` 编译通过(`npm run check`,vue-tsc)
|
||||
- [x] 4.2 浏览器实测:勘察明细页新增设备弹窗与右侧节点面板均显示「所属建筑」下拉(选项为该客户建筑)、「所在楼层」「具体位置」输入;新增保存成功、右侧面板编辑回显正确;设备管理台账页不受影响
|
||||
|
||||
# Task Dependencies
|
||||
- Task 2 依赖 Task 1(表单字段先有,逻辑后挂)
|
||||
- Task 3 依赖 Task 1(下拉数据源就绪后加载)
|
||||
- Task 4 依赖 Task 1-3
|
||||
Reference in new issue
Block a user