# H5 溯源「品种信息带计量单位」- 前端联调说明 ## 背景 H5 扫码溯源页(`mes.trace-base-url` 指向的 `trace.html`)「追溯查询」区块的品种信息需要带上计量单位。 品种主计量单位存储在 `mdm_item.unit_measure_id`(单位编号),页面需要的单位名称由后端通过 `MdmUnitMeasureApi.getUnitMeasure(id)` 解析后随响应返回,前端不需要再单独请求单位接口。 同时按需求精简「追溯查询」区块:去掉「责任人」「质检结论」两行(这两项数据在折叠的「质检信息」区块中仍然可查,未丢失)。 ## 涉及接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /public/mes/trace/query?code={追溯码} | H5 溯源查询(免登录),响应品种区块新增 `itemUnitMeasureName` | **响应新增字段(品种信息区块,位于 `itemSpecification` 之后):** | 字段 | 类型 | 说明 | |------|------|------| | itemUnitMeasureName | String | 品种主计量单位名称(如 `48千克`);物料未配置单位时返回 `null` | **响应示例(品种相关片段):** ```json { "code": 0, "data": { "itemCode": "ITEM_20260917002", "itemName": "测试", "itemSpecification": "一级", "itemUnitMeasureName": "48千克" } } ``` ## 页面展示规则 「追溯查询」区块字段顺序: | 字段 | 取值 | 说明 | |------|------|------| | 品种名称 | `itemName` + `itemSpecification` | 两者以空格拼接,为空的不参与拼接 | | 计量单位 | `itemUnitMeasureName` | 未配置单位时展示 `-` | | 生产经营者 | 页面常量 `COMPANY_NAME` | 静态信息 | | 单元识别代码 | `requestCode` → `batchCode` → `tempCode` 依次回退 | — | | 追溯网址 | 页面常量 `TRACE_URL` | 外网访问地址,与包装/二维码印制一致 | | 追溯类型 | `sourceType` | 袋码 / 托盘码 / 批次码 | | 批次号 | `batchCode` | — | | 生产日期 | `produceDate` | — | | 产线 | `lineName`,为空回退 `lineCode` | — | **本次移除的展示项:** | 字段 | 原展示位置 | 说明 | |------|-----------|------| | 责任人 | 追溯查询区块 | 已移除,`ownerUserName` 字段仍在响应中 | | 质检结论 | 追溯查询区块 | 已移除,质检结论仍在响应 `quality.resultName` 中,可在折叠的「质检信息」区块查看 | ## 注意事项 - `itemUnitMeasureName` 取的是单位**名称**(`mdm_unit_measure.name`),不是单位类型(`type`,如 48千克/100千克/吨)。物料未配置主计量单位时该字段为 `null`,页面展示 `-`。 - 单位名称为空字符串时后端统一转成 `null` 返回。 - 该字段为纯展示字段,历史数据无需处理;接口其余字段与结构保持不变,向后兼容。