- 后端: 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 角色绑定
1.4 KiB
1.4 KiB
Checklist
- 后端实体 RepairRequest / RepairDispatch 字段与 db_design D8 一致(表存在,未使用自动建表)
- 报修派单接口:列表/详情/创建(事务+状态流转+单号)/更新/完成(状态0→1+completed_at)/删除 全部实现
- 重复派单返回 400,已完成派单不可编辑
- 后端实体 MaintenanceOrder / MaintenanceDetail 字段与 db_design D9 一致
- 维保接口:主从创建/更新事务、列表/详情(含明细)、完成、删除 全部实现
- 全部接口接入 JWT + RBAC(dispatch:repair / dispatch:maintenance),401/403 正确返回
- 行级数据权限:非 ADMIN 按 customer_id 归属过滤;列表支持 workerId 筛选(APP 兼容)
- 查询全部参数化(防 SQL 注入),排序白名单
- 报修/维保创建/更新/完成/删除均写入 sys_operation_log
- 前端 views/dispatch/repair、views/dispatch/maintenance 页面实现(搜索/表格/分页/弹窗/状态标签)
- 前端无 v-html(防 XSS)
- 菜单:db_seed.sql 与远程库均含 id=36 报修派单、id=37 维保派单,挂父菜单 id=3,ADMIN/SALESMAN 角色已绑定
- 路由 /dispatch/repair、/dispatch/maintenance 注册且带 permission meta
- server tsc --noEmit 通过
- client vue-tsc --noEmit 通过
- 核心接口 curl 冒烟通过(登录→列表→创建→详情→完成→删除,重复派单 400)