MDM 物料同步状态开关 - 前端联调方案
涉及页面
- 基础数据 → 物料管理(
basicData/mdm,MDM 物料主数据列表页)
- 物料新增 / 编辑弹窗(
basicData/mdm/modules/form.vue)
背景
物料管理列表页原有的"同步状态"列为只读标签(已同步/未同步),本次改为**可操作的开关(Switch)**,用户可直接在列表中切换物料是否同步到 MES。同时**新增/编辑物料弹窗**中也增加"同步到MES"开关,创建或保存物料时按开关决定是否同步到 MES。
API
| 方法 |
路径 |
说明 |
| POST |
/mdm/item/create |
创建物料,syncMes 为 true 时同步到 MES |
| PUT |
/mdm/item/update |
编辑物料,syncMes 为 true 时同步到 MES,为 false 时取消同步(从 MES 删除) |
| PUT |
/mdm/item/update-sync |
更新物料同步状态(列表页开关调用) |
update-sync 请求参数:
| 参数 |
类型 |
必填 |
说明 |
| id |
Long |
是 |
物料编号 |
| sync |
Boolean |
是 |
true=同步到 MES;false=取消同步(从 MES 删除该物料) |
create / update 新增请求参数:
| 参数 |
类型 |
必填 |
说明 |
| syncMes |
Boolean |
否 |
是否同步到 MES,默认 true;false=不同步 / 取消同步 |
响应: { "code": 0, "data": true, "msg": "" }
响应字段说明:
| 字段 |
类型 |
说明 |
| syncedMes |
Boolean |
分页接口 GET /mdm/item/page、详情接口 GET /mdm/item/get 已返回,表示当前是否已同步(MES 表存在该物料记录即 true) |
字段展示规则
| 字段 |
展示位置 |
说明 |
| 同步状态 |
列表页固定右列 |
Switch 开关:打开=已同步,关闭=未同步;切换中显示 loading |
| 同步到MES |
新增 / 编辑弹窗 |
Switch 开关:打开则保存时同步到 MES;编辑时默认回显当前同步状态 |
业务规则说明
| 场景 |
规则 |
| 打开开关(列表) |
将 MDM 物料数据(含批次配置)重新同步到 MES,syncedMes 变为 true |
| 关闭开关(列表) |
从 MES 删除该物料,级联删除其 BOM / SOP / SIP / 批次配置,syncedMes 变为 false |
| 新增物料 |
表单"同步到MES"开关默认打开;关闭则只建 MDM 物料,不同步到 MES |
| 编辑物料 |
开关默认回显当前同步状态;打开保存=同步(更新 MES),关闭保存=取消同步(从 MES 删除) |
| 操作权限 |
列表开关依赖权限点 mdm:item:update |
注意事项
- 列表关闭开关前需弹确认提示,明确告知会从 MES 删除物料及关联配置(BOM/SOP/SIP/批次配置),避免误操作。
- 若 MES 该物料已被工单、BOM 等业务引用,删除后相关业务数据可能受影响,属业务侧既有行为。
- 编辑物料时关闭"同步到MES"开关并保存,会从 MES 删除该物料(取消同步),列表开关变为"未同步"。