feat(dispatch): 新增报修派单与维保派单模块全栈实现
- 后端: repair_request/repair_dispatch/maintenance_order/maintenance_detail 实体、DTO、Service(事务/单号/状态流转/行级权限)、Controller - 安全: JWT+RBAC 接入(dispatch:repair/dispatch:maintenance)、全参数化防SQL注入、操作日志埋点 - 前端: 报修派单(双页签)、维保派单(主从表单)页面, API封装, /dispatch 路由 - 菜单: db_seed.sql 与远程库同步 id=36/37, ADMIN/SALESMAN 角色绑定
This commit is contained in:
1 parent
1803ad679c
commit
d42e858fb0
21 files changed
+3760
-4
No files matched your search
@@ -0,0 +1,49 @@
|
||||
# Tasks
|
||||
|
||||
- [x] Task 1: 后端报修模块(repair_request + repair_dispatch)
|
||||
- [x] 1.1 实体:RepairRequest.entity.ts、RepairDispatch.entity.ts(对齐 db_design D8,表已存在,timestamps:false,索引对齐)
|
||||
- [x] 1.2 DTO:repair_request.dto.ts(QueryRepairRequestDto)、repair_dispatch.dto.ts(Query/Create/Update/Complete,class-validator 全量校验)
|
||||
- [x] 1.3 Service:RepairDispatchService(列表/详情/创建派单事务(报修单状态流转)/更新/完成/删除,行级权限,单号 WH-REP-YYYY-NNNN,防 SQL 注入,LogService 埋点)
|
||||
- [x] 1.4 Controller:repair.controller.ts(GET /api/repair-requests、GET /api/repair-requests/:id、GET/POST/PUT/DELETE /api/repair-dispatchs、PUT /api/repair-dispatchs/:id/complete)
|
||||
|
||||
- [x] Task 2: 后端维保模块(maintenance_order + maintenance_detail)
|
||||
- [x] 2.1 实体:MaintenanceOrder.entity.ts、MaintenanceDetail.entity.ts(对齐 db_design D9,表已存在)
|
||||
- [x] 2.2 DTO:maintenance_order.dto.ts(Query/Create/Update 含明细数组校验)
|
||||
- [x] 2.3 Service:MaintenanceService(主从事务创建/更新、列表/详情含明细、完成、删除,行级权限,LogService 埋点)
|
||||
- [x] 2.4 Controller:maintenance.controller.ts(/api/maintenance-orders 全端点 + /:id/complete)
|
||||
|
||||
- [x] Task 3: 鉴权接入与菜单同步
|
||||
- [x] 3.1 rbac.middleware.ts PERMISSION_MAP 增加 '/api/repair-requests'/'/api/repair-dispatchs' → 'dispatch:repair'、'/api/maintenance-orders' → 'dispatch:maintenance'
|
||||
- [x] 3.2 db_seed.sql:父菜单 id=3 下新增子菜单 id=36 报修派单 /dispatch/repair、id=37 维保派单 /dispatch/maintenance(component views/dispatch/repair/index、views/dispatch/maintenance/index),sys_role_menu 绑定 ADMIN(1)/SALESMAN(2)
|
||||
- [x] 3.3 远程库同步:INSERT/UPDATE sys_menu(36/37)+ sys_role_menu + 序列收敛
|
||||
|
||||
- [x] Task 4: 前端 API 封装
|
||||
- [x] 4.1 client/src/api/repair.ts:repairRequestApi(列表/详情)、repairDispatchApi(列表/详情/创建/更新/完成/删除)
|
||||
- [x] 4.2 client/src/api/maintenance.ts:maintenanceApi(列表/详情/创建/更新/完成/删除)
|
||||
- [x] 4.3 确认/复用 worker 下拉接口与 customer 下拉接口(workerApi.getOptions、customerApi.getCustomerOptions 已存在复用)
|
||||
|
||||
- [x] Task 5: 前端报修派单页面
|
||||
- [x] 5.1 views/dispatch/repair/index.vue:双页签(报修单 + 报修派单);搜索区(客户/状态/日期/关键字)、表格、分页
|
||||
- [x] 5.2 派单弹窗:选报修单+选电工,提交调 POST /api/repair-dispatchs
|
||||
- [x] 5.3 编辑/完成/删除弹窗与确认,状态标签,无 v-html
|
||||
|
||||
- [x] Task 6: 前端维保派单页面
|
||||
- [x] 6.1 views/dispatch/maintenance/index.vue:搜索区/表格/分页
|
||||
- [x] 6.2 创建/编辑弹窗:单头字段 + 明细行动态增删(设备/巡检项),主从提交
|
||||
- [x] 6.3 完成/删除确认、状态标签,无 v-html
|
||||
|
||||
- [x] Task 7: 路由与菜单注册
|
||||
- [x] 7.1 client/src/router/index.ts:/dispatch/repair、/dispatch/maintenance 路由(meta.permission = dispatch:repair / dispatch:maintenance)
|
||||
|
||||
- [x] Task 8: 构建与安全验证
|
||||
- [x] 8.1 server npx tsc --noEmit 通过;client npx vue-tsc --noEmit 通过
|
||||
- [x] 8.2 SQL 注入审查(全参数化)、前端 XSS 审查(无 v-html)
|
||||
- [x] 8.3 接口鉴权验证(401)、核心接口冒烟(列表/创建/详情/完成/删除/重复派单 400)
|
||||
|
||||
# Task Dependencies
|
||||
- Task 3 依赖 Task 1/2 的 controller 路由确定
|
||||
- Task 4 依赖 Task 1/2 的接口定义
|
||||
- Task 5 依赖 Task 4
|
||||
- Task 6 依赖 Task 4
|
||||
- Task 7 依赖 Task 5/6 的页面文件
|
||||
- Task 8 依赖全部
|
||||
Reference in new issue
Block a user