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