# Checklist ## 后端:安装派单 - [x] `install_order` entity 字段与 db_design.html D6 完全一致,含注释与索引 - [x] `POST /api/install-orders` 创建成功并自动生成唯一 install_no,返回统一结构 - [x] `GET /api/install-orders` 支持关键字/客户/状态/日期范围筛选与分页 - [x] `PUT /api/install-orders/:id/complete` 仅允许 0→1 流转,重复调用被拒绝 - [x] 非法入参(缺必填/超长/非法枚举)返回 422 ## 后端:安全 - [x] 六个项目管理控制器全部端点:无 JWT 返回 401,无权限点返回 403 - [x] `sys_menu` 存在 `project:install` 权限点且 RBAC 匹配生效 - [x] 六个 service 无字符串拼接 SQL,模糊搜索全部绑定参数,排序字段白名单 - [x] 六个 DTO 对全部外部入参有 class-validator 校验 - [x] 创建/更新/删除/指派/流转/取消/复核/催办动作均写入 sys_operation_log ## 前端:页面 - [x] 勘察台账页含统计卡、状态Tab、高级筛选、台账列、批量指派/催办入口,数据与接口联通 - [x] 勘察派单页含报价联动、优先级、到场窗口、草稿/派发,提交与接口联通 - [x] 方案页含设备明细编辑,合同页含金额/支付周期/文件,验收页含关联合同,均为拜访台账式交互 - [x] 安装派单页 CRUD + 标记完成可用,路由 `/project/install` 与菜单项生效 - [x] 回访记录页列表/新建/编辑可用 ## 前端:安全与兼容 - [x] `views/project/**` 无 `v-html` 渲染后端文本 - [x] 401 自动跳登录,403/422 有统一提示 - [x] 所有列表接口响应为 `{ code, message, data: { list, total, page, pageSize } }` ## 构建 - [x] `cd client && npx vue-tsc --noEmit` 通过(vue-tsc 无类型错误) - [x] `cd server && npx tsc --noEmit` 通过(tsc 无类型错误)