Files
smart_grid_iot/.trae/specs/rebuild-project-management/tasks.md
T

38 lines
3.4 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: 新增 install_order 后端全栈
- [x] 1.1 创建 `src/entity/install_order.entity.ts`(字段对齐 db_design.html D6:install_no/customer_id/installer/worker_id/dispatch_date/start_date/end_date/plan_id/remark/status/created_at)
- [x] 1.2 创建 `src/dto/install_order.dto.ts`(class-validator:QueryDTO/CreateDTO/UpdateDTO,必填校验、长度限制、状态枚举校验)
- [x] 1.3 创建 `src/service/install_order.service.ts`(list 分页+筛选、detail、create 生成单号、update、delete、complete 状态流转;全程参数化查询)
- [x] 1.4 创建 `src/controller/install_order.controller.ts`(`/api/install-orders`:GET /、GET /:id、POST /、PUT /:id、PUT /:id/complete、DELETE /:id)
## 后端:安全加固(可并行)
- [x] Task 2: 接口鉴权补全
- [x] 2.1 核对六个项目管理控制器的 JWT + RbacMiddleware 挂载,确认 path→permission code 映射覆盖(project:survey/plan/contract/install/acceptance/visit)
- [x] 2.2 在 `sys_menu` 种子/迁移中补齐 `project:install` 权限点
- [x] Task 3: SQL 注入防护审查
- [x] 3.1 审查六个 service,确认无字符串拼接 SQL、模糊搜索均为绑定参数 `Op.like`、排序字段白名单
- [x] 3.2 审查六个 DTO,确认所有外部入参均有 class-validator 校验(类型/长度/枚举/范围)
- [x] Task 4: 操作日志埋点
- [x] 4.1 封装/复用操作日志写入方法(写 sys_operation_log:操作人、模块、动作、目标单号、摘要)
- [x] 4.2 在六个 service 的 create/update/delete/assign/batchAssign/状态流转/cancel/review/urge/complete 处埋点
## 前端:页面重建
- [x] Task 5: 重建勘察台账页 `views/project/survey/index.vue`(对齐 `系统设计/UI/项目勘察台帐/code.html`:统计卡、状态Tab、高级筛选、台账列、批量指派/催办/智能派单入口)
- [x] Task 6: 重建勘察派单页 `views/project/survey/form.vue`(对齐 `系统设计/UI/项目勘察派单/code.html`:客户选择、回路规格/数量、优先级、到场窗口、SLA、劳务费报价联动、草稿/派发)
- [x] Task 7: 重建方案管理页 `views/project/plan/index.vue`(拜访台账式:筛选+表格+分页+新建/编辑含设备明细+状态标签)
- [x] Task 8: 重建合同管理页 `views/project/contract/index.vue`(筛选+表格+新建/编辑含金额/支付周期/合同文件上传+状态标签)
- [x] Task 9: 重建项目验收页 `views/project/acceptance/index.vue`(筛选+表格+新建/编辑含验收意见/文件+关联合同)
- [x] Task 10: 新增安装派单页 `views/project/install/index.vue` + `src/api/installOrder.ts` + 路由 `/project/install` + 布局菜单项(台账式 CRUD + 标记完成)
- [x] Task 11: 重建回访记录页 `views/project/visit/index.vue` + 补齐 `src/api/visitRecord.ts`(如缺失)
- [x] Task 12: 前端 XSS 防护审查
- [x] 12.1 全量检查 `views/project/**` 无 `v-html` 渲染后端文本;备注/说明/意见统一文本插值
- [x] 12.2 确认 axios 拦截器对 401 跳登录、403/422 统一提示,响应结构与 APP 兼容约定一致
## Task Dependencies
- Task 5、6 依赖后端 survey_order 既有接口(不阻塞,可与 Task 1-4 并行)
- Task 10 依赖 Task 1(安装派单后端先行)
- Task 12 依赖 Task 5-11(在页面重建完成后统一审查)
- Task 4 依赖 Task 1(install service 一并埋点)