# MES 物料状态控制 - 前端联调方案 ## 变更概述 - MES 模块**不再允许控制物料状态**,状态只能由基础数据(MDM)物料管理控制。 - 移除 MES 接口 `PUT /mes/md/item/update-status`。 - MDM 物料同步到 MES 时传递状态(启用/禁用),MES 物料状态跟随 MDM 保持同步。 ## 涉及页面 - MES 物料列表页:`src/views/mes/md/item/index.vue`(移除状态开关,改为只读展示) - MES 物料新增/编辑表单:`src/views/mes/md/item/modules/form.vue`(状态字段改为禁用/只读) - 基础数据物料管理页:`src/views/basicData/mdm/index.vue`(状态控制入口,保持不变) ## API | 方法 | 路径 | 说明 | |------|------|------| | PUT(已移除) | `/mes/md/item/update-status` | MES 侧状态控制接口,已废弃,前端**不得再调用** | MDM 状态控制接口(保持不变,状态会同步到 MES): | 方法 | 路径 | 说明 | |------|------|------| | POST | `/mdm/item/create` | 创建物料,status 随同步带入 MES | | PUT | `/mdm/item/update` | 更新物料,status 随同步带入 MES | | PUT | `/mdm/item/update-status` | 更新物料状态,实时同步到 MES | ## 数据带入说明 1. MDM 创建/编辑物料时,`status`(0=启用,1=禁用)随同步链路带入 MES,MES 物料新建沿用 MDM 状态。 2. MDM 物料启用/禁用(`update-status`),状态实时同步到 MES。 3. MES 本地新增物料(不经过 MDM 同步)默认状态为**禁用**,且 MES 侧无法自行启用,须在 MDM 中启用后同步回 MES。 ## 字段展示规则 | 字段 | 展示位置 | 说明 | |------|----------|------| | 状态 | MES 物料列表 | 只读展示,来源为 MDM 同步状态,不再提供开关切换 | | 状态 | MES 新增/编辑表单 | 禁用/隐藏,不允许修改 | | 状态 | MDM 物料列表/表单 | 可编辑,为状态唯一控制入口 | ## 业务规则说明 | 场景 | 规则 | |------|------| | MDM 创建/编辑物料 | 状态随同步到 MES,MES 物料状态保持一致 | | MDM 启用/禁用物料 | 状态实时同步到 MES | | MES 本地新增物料 | 默认禁用,MES 侧无法启用,须在 MDM 中启用 | | MES 编辑物料 | 不允许修改状态字段 | | MES 状态控制 | 不再提供启用/禁用入口 | ## 注意事项 - MES 列表页需移除状态开关(`updateItemStatus` 相关调用),状态列改为只读文本/标签展示,或保留展示列但去掉可切换能力。 - MES 新增/编辑表单中的状态字段需禁用或隐藏,避免误传导致状态被修改。 - 前端 `src/api/mes/md/item/index.ts` 中的 `updateItemStatus` 函数可一并清理(接口已移除)。 - MDM 启用物料时,若该物料在 MES 侧启用了批次管理但未配置批次属性、或为产品但未配置 BOM,MES 同步校验可能拦截启用操作,需先在 MES 侧补齐对应配置。