前端和后端改动均已实施,编译验证通过。
MesProRouteProcessSaveReqVO(工艺路线工序保存):
| 字段 | 旧类型 | 新类型 | 说明 |
|---|---|---|---|
outputItemId |
Long |
已删除 | 替换为 outputItemIds |
| outputItemIds | - | List<Long> | 新增,产出产品物料编号列表 |
MesProWorkOrderProcessSaveReqVO(工单工序保存):
| 字段 | 旧类型 | 新类型 | 说明 |
|---|---|---|---|
outputItemId |
Long |
已删除 | 替换为 outputItemIds |
| outputItemIds | - | List<Long> | 新增,产出产品物料编号列表 |
MesProRouteProcessRespVO(工艺路线工序响应):
| 字段 | 类型 | 说明 |
|---|---|---|
outputItemId |
Long |
保留(向后兼容),取第一个产出产品 |
outputItemCode |
String |
保留,第一个产出产品编码 |
outputItemName |
String |
保留,第一个产出产品名称 |
outputItemIds |
List<Long> |
新增,所有产出产品编号列表 |
outputItemNames |
String |
新增,所有产出产品名称(逗号拼接) |
MesProWorkOrderProcessRespVO(工单工序响应):
同上,字段一致。
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /mes/pro/route-process/list-by-route?routeId={id} |
工艺路线工序列表 |
| GET | /mes/pro/route-process/list-by-product?productId={id} |
按产品获取工序列表(含投料BOM) |
| GET | /mes/pro/work-order-process/list-by-work-order-id?workOrderId={id} |
工单工序列表 |
| GET | /mes/pro/work-order-process/list-by-product-id?productId={id} |
按产品获取工序列表(工单预填用) |
| POST | /mes/pro/route-process/create |
创建工艺路线工序 |
| PUT | /mes/pro/route-process/update |
更新工艺路线工序 |
| POST | /mes/pro/work-order-process/create |
创建工单工序 |
| PUT | /mes/pro/work-order-process/update |
更新工单工序 |
| POST | /mes/pro/work-order-process/batch-save |
批量保存工单工序 |
src/views/mes/md/item/components/select.vue)新增 multiple prop:
| Prop | 类型 | 默认值 | 说明 |
|---|---|---|---|
multiple |
boolean |
false |
是否多选模式 |
多选模式行为:
- modelValue 类型为 number[]
- 展示名称逗号拼接(取物料 name 拼接)
- 弹窗以 multiple: true 打开
- 选中值以数组形式 emit
单选模式行为不变。
src/api/mes/pro/route/process/index.ts:
RouteProcess 接口新增:typescript outputItemIds?: number[]; // 产出产品编号列表 outputItemNames?: string; // 产出产品名称(逗号拼接)
src/api/mes/pro/workorder/process/index.ts:
WorkOrderProcess 接口新增同上两个字段。
src/views/mes/process-design/route/data.ts:
产出产品字段 schema 修改:
- fieldName 从 "outputItemId" 改为 "outputItemIds"
- componentProps 增加 multiple: true
src/views/mes/process-design/route/modules/process-list.vue:
列表/表格中产出产品列展示改为 outputItemNames(逗号分隔的名称)。
src/views/mes/pro/workorder/modules/process-form.vue:
产出产品字段改为多选组件,fieldName 改为 "outputItemIds"。
src/views/mes/pro/workorder/data.ts:
表格列中产出产品列展示改为 outputItemNames。
src/views/mes/pro/workorder/modules/process-list.vue:
工艺路线→工单工序映射时,透传多值 outputItemIds/outputItemNames。
outputItemIds: [101, 102]{ ..., outputItemIds: [101, 102] }[101, 102] 转为 "101,102" 存入 DBoutputItemIds: [101, 102], outputItemNames: "产品A, 产品B"调用 GET /mes/pro/work-order-process/list-by-product-id?productId={id} 获取工序列表时:
- 响应中 outputItemIds 和 outputItemNames 已由后端解析好
- 前端直接回显到表单即可
请求 POST /mes/pro/work-order-process/batch-save:
- 每个工序项传 outputItemIds: [101, 102]
- 后端合并处理
"101"(单值字符串)解析后自动转为 ["101"],不影响列表展示outputItemIds 第一个值作为任务物料,多产出场景下用户需确认第一个产出产品是正确的multiple prop 默认为 false,确保其他使用此组件的地方不受影响