更新项目管理模块中合同管理、项目安装、项目验收、回访记录等功能

This commit is contained in:
wk committed 2026-09-30 17:04:55 +08:00
1 parent 307e9cf1b9
commit b3cef22a54
32 files changed
+6094 -2600

No files matched your search

@@ -0,0 +1,31 @@
# 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 无类型错误)