# 不合格管理模块 — 前端联调文档 ## 涉及页面 - **检验记录列表/详情** — 附件上传/查看 - **不合格品管理列表/详情** — 附件上传/查看 ## 变更说明 附件体系从独立的 `quality_inspect_file` 表改为使用系统统一的 `storage_attachment` 表,通过 `recordType` + `recordId` 关联。前端附件上传/回显方式和系统其他模块(如采购台账、设备维修等)保持一致。 ## API 变更 ### 检验记录 | 接口 | 变更说明 | |------|---------| | `POST /quality/qualityInspect/add` | 请求体新增 `storageBlobDTOs` 字段 | | `POST /quality/qualityInspect/update` | 请求体新增 `storageBlobDTOs` 字段 | | `GET /quality/qualityInspect/{id}` | 响应新增 `storageBlobVOs` 字段 | ### 不合格品 | 接口 | 变更说明 | |------|---------| | `POST /quality/qualityUnqualified/add` | 请求体新增 `storageBlobDTOs` 字段 | | `POST /quality/qualityUnqualified/update` | 请求体新增 `storageBlobDTOs` 字段 | | `GET /quality/qualityUnqualified/{id}` | 响应新增 `storageBlobVOs` 字段 | ## 数据结构 ### StorageBlobDTO(上传时传入) ```json { "id": "临时文件ID(字符串)", "name": "文件名", "url": "文件路径", "fileSize": 1024 } ``` ### StorageBlobVO(查询时返回) ```json { "id": 1, "name": "检验报告.pdf", "url": "/upload/20260613/xxx.pdf", "fileSize": 102400, "application": "FILE" } ``` ## 前端修改点 ### 1. 检验记录 — 新增/编辑表单增加附件上传 ```html ``` ### 2. 检验记录 — 详情页展示附件 ```html 无附件 ``` ### 3. 不合格品 — 新增/编辑表单增加附件上传 ```html ``` ### 4. 不合格品 — 详情展示附件 ```html 无附件 ``` ### 5. 表单 data 补充字段 ```js data() { return { form: { storageBlobDTOs: [], // 上传时传入 storageBlobVOs: [], // 查询时返回 // ... 其他字段 } } } ``` ## 废弃内容 - `quality_inspect_file` 表废弃,数据已迁移到 `storage_attachment` 表 - 前端如果之前有对接 `POST /quality/qualityInspectFile/add` 等接口,需移除相关代码 ## 数据库变更 执行文件:`doc/sql/20260613_quality_attachment_optimize.sql` ## 注意事项 - 附件上传使用系统已有的文件上传接口(如 `/file/upload`),将返回的临时文件ID通过 `storageBlobDTOs` 传入 - 如果不传 `storageBlobDTOs` 或传空数组,不会删除已有附件;需要删除附件时传空数组即可 - 前端项目如已有通用的文件上传/附件展示组件,直接复用即可