MES 物料管理列表排序 - 前端联调方案
需求:物料管理列表的排序不清晰(原先按创建先后倒序,同一分类的物料被打散),改为按「物料分类」归类排序。
本次仅调整后端默认排序,**接口路径、请求参数、响应结构均未变化**,前端不改也能立即生效。
涉及页面
views/mes/md/item/index.vue(物料管理列表)
- 物料选择弹窗(复用同一分页接口
/mes/md/item/page,排序同步生效)
API
| 方法 |
路径 |
说明 |
| GET |
/mes/md/item/page |
物料产品分页(排序规则见下,无参数变化) |
请求参数: 无新增、无删除。
| 参数 |
类型 |
必填 |
说明 |
| code |
String |
否 |
物料编码,模糊匹配 |
| name |
String |
否 |
物料名称,模糊匹配 |
| itemTypeId |
Long |
否 |
物料分类编号,**含其所有子分类**(前端搜索表单当前未提供该筛选项,可按需补充) |
| status |
Integer |
否 |
状态 |
排序规则
列表默认排序(由后端统一给出,前端无需传排序参数):
| 优先级 |
排序字段 |
方向 |
说明 |
| 1 |
物料分类的「显示排序」 |
升序 |
分类之间按分类管理里维护的显示排序 |
| 2 |
物料分类编码 |
升序 |
显示排序相同的分类,按分类编码 |
| 3 |
物料编码 |
升序 |
同一分类内部,按物料编码 |
效果:**同一物料分类的物料在列表中连续成组出现**,分类顺序可预期、可调整,不再随创建时间散落。
字段展示规则
| 字段 |
展示位置 |
说明 |
| 物料分类 |
列表列「物料分类」 |
已展示,本次不改字段,仅让同一分类的记录相邻 |
| 物料名称、物料编码 |
列表列 |
仅展示,未加前端点击排序;本次改动只调整默认顺序,不含列点击排序能力 |
业务规则说明
| 场景 |
规则 |
| 默认排序 |
分类显示排序 → 分类编码 → 物料编码 |
| 调整顺序 |
在「物料分类」中修改分类的「显示排序」,物料列表的顺序随之变化,无需改代码 |
| 未设置分类的物料 |
分类为空(含分类被删除)的物料排在最前面,便于发现未归类数据 |
| 分类筛选 |
按分类筛选时包含其子分类,排序规则不变 |
| 其它查询条件 |
编码 / 名称 / 状态筛选不影响排序规则 |
注意事项
- 本次是后端默认排序变化,**前端不改代码即可看到效果**,需重启后端服务生效
- 原来按「创建时间倒序」的排序已取消;如需恢复「最新创建的排最前」,或需要点击表头排序,属新增能力,需后端配合调整(当前该分页走的是联表查询,框架层的前端排序字段不会自动生效)
- 物料选择弹窗(选择物料时弹出的列表)与物料管理列表共用同一接口,排序一起变化,属于预期
- 分类的「显示排序」为空的分类会排在设置了排序的分类之前