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

生产流程 - 查看产品设计归档及附件(前端联调方案)

涉及页面

页面 路由路径 说明
生产工单列表/详情 /mes/pro-workorder 新增"查看归档"按钮
生产工单中心 /mes/workorder-center 新增"查看归档"按钮
生产任务列表/详情 /mes/pro-task 新增"查看归档"按钮
待报工台账 /mes/pro-task (pending-feedback) 新增"查看归档"按钮
生产报工列表/详情 /mes/pro-feedback 新增"查看归档"按钮

API(已有接口,无需新增)

归档分页列表

方法 路径 说明
GET /mes/pd/archive/page 按产品编码筛选归档列表

请求参数(关键):

参数 类型 必填 说明
productCode String 产品编码,从当前记录的 itemCodeproductCode 传入
pageNo Integer 页码
pageSize Integer 每页条数

归档详情(含附件)

方法 路径 说明
GET /mes/pd/archive/detail-by-product 按产品编码获取归档详情和附件

请求参数:

参数 类型 必填 说明
productCode String 产品编码

响应结构:

{
  "code": 0,
  "data": [
    {
      "project": {
        "id": 1,
        "taskCode": "PD2024001",
        "taskName": "新产品设计任务",
        "productCode": "P001",
        "productName": "注塑产品A",
        "version": "V1.0",
        "status": 4,
        "chiefDesigner": 1,
        "chiefDesignerNickname": "张三"
      },
      "archives": [
        {
          "id": 1,
          "archiveCode": "ARC2024001",
          "archiver": 1,
          "archiverNickname": "王五",
          "archiveStatus": 1,
          "archiveTime": "2024-01-15T10:30:00"
        }
      ],
      "documents": [
        {
          "id": 1,
          "documentType": "1",
          "documentName": "产品设计图",
          "documentVersion": "V1.0",
          "fileName": "design.pdf",
          "attachmentList": [
            {
              "id": "blob-id-xxx",
              "name": "设计图纸.pdf",
              "url": "/system/storage-blob/preview/xxx"
            }
          ],
          "uploadUserId": 1,
          "uploadUserNickname": "赵六",
          "uploadTime": "2024-01-10T09:00:00"
        }
      ]
    }
  ]
}

数据传递

生产流程各环节的记录中已包含产品编码,直接传给归档接口:

来源页面 字段名 传给归档接口
生产工单 productCode ?productCode={productCode}
生产任务 itemCode ?productCode={itemCode}
生产报工 itemCode ?productCode={itemCode}
待报工台账 itemCode ?productCode={itemCode}

前端修改点

1. 查看归档按钮

在生产工单、任务、报工列表的操作列,以及详情页,新增"设计归档"按钮。

点击后弹出抽屉或弹窗,调用 /mes/pd/archive/detail-by-product?productCode={code} 获取归档详情。

2. 弹窗内容展示

以 Tab 或分区展示三部分内容:

区域 内容 数据来源
项目信息 任务编码、任务名称、产品编码/名称、版本、主设计师、状态 response[].project
归档记录 表格:归档编号、归档人、归档状态、归档时间 response[].archives
设计资料 表格:资料类型、名称、版本、文件名,附件可点击下载/预览 response[].documents

3. 附件处理

设计资料中的 attachmentList 为附件列表,其中 url 可直接用于文件预览/下载。

文件预览 URL 格式:
- 预览:/system/storage-blob/preview/{fileName}
- 下载:/system/storage-blob/download/{fileName}


业务规则说明

规则 说明
产品未归档 接口返回空数组,弹窗提示"该产品暂无设计归档"
多个项目 同一产品可能有多个设计项目,按项目分组展示
附件权限 附件预览/下载走 system 模块 Storage API,无需额外鉴权
空附件 attachmentList 可能为空数组,前端判断后不显示下载链接

注意事项

  • 列表页操作列宽度有限,建议按钮文字简写为"归档"
  • detail-by-product 接口返回数组,一个产品可能对应多个设计项目
  • 附件预览使用 window.open() 打开预览 URL
  • 接口已存在,前端直接调用 src/api/mes/pd/archive/index.ts 中的封装方法