Files
smart_grid_iot/.trae/specs/rework-survey-equipment-tree/tasks.md
T
wk 7c915f8946 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:勘察完成提交技术复核与复核按钮改名
2026-10-25 02:34:18 +08:00

51 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tasks
## 数据层变更
- [x] Task 1: DB 表结构变更(树形化 + 配电柜 + 明细关联设备)
- [x] 1.1 新增 `database/migrations/2026xxxx_survey_equipment_tree.sql`:`customer_equipment` 增 `parent_id BIGINT REFERENCES customer_equipment(id)` + 索引;`survey_detail` 增 `equip_id BIGINT REFERENCES customer_equipment(id)` + 索引;更新 `equip_type` 注释含「配电柜」;幂等可重跑
- [x] 1.2 同步 `database/db_init.sql` 的建表语句与注释
- [x] 1.3 更新 `server/src/entity/customer_equipment.entity.ts`(加 parentId 列)与 `server/src/entity/survey_detail.entity.ts`(加 equipId 列)
- [x] 1.4 同步设计文档 `系统设计/表结构新增及变更.md`
## 后端能力
- [x] Task 2: customer_equipment 树接口与父级校验
- [x] 2.1 `customer_equipment.service.ts`:create/update 支持 `parentId`,校验父设备存在、同属客户、非自身/非子节点(防循环);新增 `tree(customerId)` 组装嵌套树,权限过滤与 list 一致
- [x] 2.2 `customer_equipment.controller.ts`:注册 `GET /api/customer-equipments/tree`(置于 `/:id` 之前)
- [x] Task 3: survey_detail 关联设备 + 详情返回设备树
- [x] 3.1 `survey_order.service.ts` 的 `saveDetails` 接收 `equipId`,校验设备属于该工单客户,全量替换明细
- [x] 3.2 详情接口返回时附带该工单的设备树数据(供拓扑图渲染)
- [x] 3.3 `dto/survey_order.dto.ts` 增加/调整明细校验(equipId 必填、photos/remark 约束)
## 前端:向导迁移与两步化
- [x] Task 4: 向导路由迁移 + 两步化 + 台账入口收敛(可并行,但依赖路由与表单同改)
- [x] 4.1 `router/index.ts`:新增 `/customer/visit/survey/create`(meta 父级=客户拜访),移除 `/dispatch/survey/create`;保留 `/dispatch/survey/edit/:id`
- [x] 4.2 `views/dispatch/survey/form.vue`:STEPS 改 2 步,删除第2步「勘察明细」区块与明细表单/`buildDetails`,提交不再携带 details
- [x] 4.3 `views/customer/visit/index.vue`:`handleSurvey` 直跳 `/customer/visit/survey/create?customerId=xx`
- [x] 4.4 `views/dispatch/survey/index.vue`:移除页头「发起勘察派单」按钮(handleAdd)与 onMounted 的 `?customerId` 自动跳转;行操作「更多」新增「勘察明细」菜单项(跳 `/dispatch/survey/:id/details`)
## 前端:勘察明细页面(新)
- [x] Task 5: 新建勘察明细页 `views/dispatch/survey/detail.vue`(参考空间拓扑与用电架构模式)
- [x] 5.1 左侧设备树:调用 `GET /customer-equipments/tree?customerId=` 渲染树
- [x] 5.2 中间拓扑图 + 右侧节点属性:设备详情、照片/备注维护(保存走 `saveDetails(id, [{equipId, photos, remark}])`)
- [x] 5.3 新增/编辑/删除设备:支持选择父节点、设备类型含「配电柜」;新增接口带 parentId
- [x] 5.4 路由 `/dispatch/survey/:id/details` 注册;如缺 `api/customerEquipment.ts` 则补齐 tree/CRUD API
- [x] Task 6: 台账详情拓扑图
- [x] 6.1 `views/dispatch/survey/index.vue` 详情弹窗:新增拓扑图区块,按设备树渲染勘察明细(节点带照片/备注),无数据时给空态
- [x] Task 7: 设备管理台账类型扩展
- [x] 7.1 `views/device/equipment/index.vue`:`equipTypeOptions` 增加「配电柜」;设备新增/编辑表单支持选择父设备(parentId)
## 验证
- [x] Task 8: 编译 + 接口 + 浏览器端到端验证
- [x] 8.1 `server` 编译通过;`client` 构建通过
- [x] 8.2 接口实测:tree 接口、带 equipId 的 saveDetails、create 带 parentId
- [x] 8.3 浏览器验证:客户拜访发起派单直跳两步向导;台账无发起按钮、行内「勘察明细」进入新页并新增/维护设备;详情弹窗拓扑图正确显示
- [x] 8.4 生产库应用迁移(经确认后)
# Task Dependencies
- Task 2 依赖 Task 1(表结构/实体先行)
- Task 3 依赖 Task 1(survey_detail 实体加列)
- Task 4 依赖 Task 1(后端不动,可并行;路由与表单同批改动)
- Task 5 依赖 Task 2、3(tree 接口、saveDetails equipId)
- Task 6 依赖 Task 3(详情返回设备树)
- Task 8 依赖全部 Task