编辑 | blame | 历史 | 原始文档

不合格管理模块 — 前端联调文档

涉及页面

  • 检验记录列表/详情 — 附件上传/查看
  • 不合格品管理列表/详情 — 附件上传/查看

变更说明

附件体系从独立的 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(上传时传入)

{
  "id": "临时文件ID(字符串)",
  "name": "文件名",
  "url": "文件路径",
  "fileSize": 1024
}

StorageBlobVO(查询时返回)

{
  "id": 1,
  "name": "检验报告.pdf",
  "url": "/upload/20260613/xxx.pdf",
  "fileSize": 102400,
  "application": "FILE"
}

前端修改点

1. 检验记录 — 新增/编辑表单增加附件上传

<!-- 附件上传组件(使用系统已有的文件上传组件) -->
<file-upload
  v-model="form.storageBlobDTOs"
  :file-list="form.storageBlobVOs"
  @change="handleFileChange"
/>

2. 检验记录 — 详情页展示附件

<el-form-item label="附件">
  <template v-if="form.storageBlobVOs && form.storageBlobVOs.length > 0">
    <div v-for="file in form.storageBlobVOs" :key="file.id">
      <a :href="file.url" target="_blank">{{ file.name }}</a>
      <span style="margin-left: 10px; color: #999">{{ (file.fileSize / 1024).toFixed(1) }}KB</span>
    </div>
  </template>
  <span v-else>无附件</span>
</el-form-item>

3. 不合格品 — 新增/编辑表单增加附件上传

<file-upload
  v-model="form.storageBlobDTOs"
  :file-list="form.storageBlobVOs"
/>

4. 不合格品 — 详情展示附件

<el-form-item label="附件">
  <template v-if="form.storageBlobVOs && form.storageBlobVOs.length > 0">
    <div v-for="file in form.storageBlobVOs" :key="file.id">
      <a :href="file.url" target="_blank">{{ file.name }}</a>
    </div>
  </template>
  <span v-else>无附件</span>
</el-form-item>

5. 表单 data 补充字段

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 或传空数组,不会删除已有附件;需要删除附件时传空数组即可
  • 前端项目如已有通用的文件上传/附件展示组件,直接复用即可