# 品种管理去掉「品种分类」「采购价」 - 前端联调方案 ## 背景 基础数据-品种管理不再维护「品种分类」和「采购价」两个字段: - 数据库列 `mdm_item.category_id`、`mdm_item.purchase_price` 保留(历史数据不删),但接口层不再接收和返回。 - MDM→MES 同步不再传品种分类,同步生成的 MES 物料「物料分类」为空,可在 MES 物料产品页面手工补填。 - MES→MDM 反向同步(MES 物料勾选「同步到 MDM」回写分类)保持不变。 ## API 变化 | 方法 | 路径 | 变化 | |------|------|------| | POST | /mdm/item/create | 请求体不再接收 `categoryId`、`purchasePrice`(传入将被忽略) | | PUT | /mdm/item/update | 同上 | | GET | /mdm/item/get | 响应不再返回 `categoryId`、`categoryName`、`purchasePrice` | | GET | /mdm/item/page | 响应不再返回上述三字段;不再支持 `categoryId` 查询参数 | | GET | /mdm/item/simple-list | 响应不再返回上述三字段 | | GET | /mdm/item/list-by-ids | 响应不再返回上述三字段 | **响应示例(节选):** ```json { "code": 0, "data": { "list": [ { "id": 1, "code": "PZ0001", "name": "水稻品种A", "specification": "500g/袋", "unitMeasureId": 2, "unitMeasureName": "袋", "salesPrice": 15.00, "syncedMes": true } ], "total": 1 } } ``` ## 前端修改点(本批已同步修改,供前端团队复核) ### 1. 品种管理页面(src/views/basicData/mdm/) | 文件 | 修改内容 | |------|----------| | data.ts | 删除表单「品种分类」TreeSelect、「采购价」InputNumber;删除列表「品种分类」「采购价」列;删除 `buildCategoryTree` 及 MES 物料分类接口 import | | index.vue | 删除分类列表缓存、分类名称/颜色工具函数、`#categoryName` 插槽及分类加载逻辑 | | modules/form.vue | 删除打开表单时加载分类树的逻辑 | | components/data.ts | 品种选择弹窗删除「品种分类」搜索项与列 | | components/select-dialog.vue | 删除分类缓存、名称/颜色函数、`#categoryId` 插槽及分类加载逻辑 | ### 2. API 类型(src/api/mdm/item/index.ts) - `MdmItemApi.Item` 删除 `categoryId`、`categoryName`、`purchasePrice`。 - `MdmItemApi.PageParams` 删除 `categoryId`。 ### 3. 依赖采购价自动算价的单据页(行为变化,重点复核) 品种不再有采购价,以下两处选品后「单价」不再自动带入,改为默认 0、由用户手工填写: | 文件 | 修改内容 | |------|----------| | src/views/erp/purchase/order/modules/item-form.vue | 选择品种后 `productPrice` 不再取采购价,置 0 手工填写 | | src/views/erp/purchase/request/modules/item-form.vue | 同上 | 其余单据(销售、库存等)使用的是 ERP 产品(`erp_product`)自身价格或销售价,不受影响。 ## 业务规则说明 | 场景 | 规则 | |------|------| | 新增/编辑品种 | 无分类、无采购价字段;保存接口忽略这两个入参 | | 编辑历史品种 | 历史已填的分类/采购价在更新时不会被清空(仅不再回显),也不会被覆盖 | | 品种同步到 MES | 生成的 MES 物料产品「物料分类」为空;MES 物料产品页面仍可手工补填分类 | | MES 物料勾选同步到 MDM | 分类回写 `mdm_item.category_id` 保持原逻辑(品种管理页面不展示该值) | | 品种分类管理模块 | 不改动,分类数据仍供 MES 物料分类等场景使用 | ## 注意事项 - 销售价、成本价未下线,表单与列表保持原样。 - 列表删除两列后列宽自行微调。 - 品种选择弹窗(MdmItemSelect/MdmItemSelectDialog)被采购、库存等多处业务页复用,删除分类列后请回归验证选品带入(编码/名称/单位/条码)是否正常。