From bbce6db600e6bb0cf2a3bb78bdf5ccff70b737a8 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 23 七月 2026 13:05:10 +0800
Subject: [PATCH] feat(workorder): 添加工序投料BOM明细展开功能
---
src/api/mes/pro/workorder/process/index.ts | 10 ++++++++++
src/api/mes/pro/route/process/index.ts | 10 ++++++++++
src/views/mes/pro/workorder/modules/process-list.vue | 19 +++++++++++++++++++
src/views/mes/pro/workorder/data.ts | 4 ++++
4 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/src/api/mes/pro/route/process/index.ts b/src/api/mes/pro/route/process/index.ts
index d594e4e..3e5c2f8 100644
--- a/src/api/mes/pro/route/process/index.ts
+++ b/src/api/mes/pro/route/process/index.ts
@@ -1,6 +1,15 @@
import { requestClient } from '#/api/request';
export namespace MesProRouteProcessApi {
+ /** 宸ュ簭鎶曟枡BOM鏄庣粏 */
+ export interface ProcessBomItem {
+ itemId?: number;
+ itemCode?: string;
+ itemName?: string;
+ quantity?: number;
+ remark?: string;
+ }
+
/** MES 宸ヨ壓璺嚎宸ュ簭 */
export interface RouteProcess {
id?: number;
@@ -22,6 +31,7 @@
outputItemCode?: string;
outputItemName?: string;
remark?: string;
+ bomItems?: ProcessBomItem[];
createTime?: Date;
}
}
diff --git a/src/api/mes/pro/workorder/process/index.ts b/src/api/mes/pro/workorder/process/index.ts
index 6833d3f..4444ca0 100644
--- a/src/api/mes/pro/workorder/process/index.ts
+++ b/src/api/mes/pro/workorder/process/index.ts
@@ -3,6 +3,15 @@
import { requestClient } from '#/api/request';
export namespace MesProWorkOrderProcessApi {
+ /** 宸ュ簭鎶曟枡BOM鏄庣粏 */
+ export interface ProcessBomItem {
+ itemId?: number;
+ itemCode?: string;
+ itemName?: string;
+ quantity?: number;
+ remark?: string;
+ }
+
/** MES 鐢熶骇宸ュ崟宸ュ簭 */
export interface WorkOrderProcess {
id?: number; // 缂栧彿
@@ -23,6 +32,7 @@
outputItemId?: number; // 浜у嚭浜у搧鐗╂枡缂栧彿
outputItemCode?: string; // 浜у嚭浜у搧鐗╂枡缂栫爜
outputItemName?: string; // 浜у嚭浜у搧鐗╂枡鍚嶇О
+ bomItems?: ProcessBomItem[]; // 宸ュ簭鎶曟枡BOM鏄庣粏
remark?: string; // 澶囨敞
}
}
diff --git a/src/views/mes/pro/workorder/data.ts b/src/views/mes/pro/workorder/data.ts
index 9a4bf1b..fcac639 100644
--- a/src/views/mes/pro/workorder/data.ts
+++ b/src/views/mes/pro/workorder/data.ts
@@ -753,6 +753,10 @@
]
: []),
{
+ type: 'expand',
+ width: 50,
+ } as const,
+ {
field: 'sort',
title: '搴忓彿',
width: 80,
diff --git a/src/views/mes/pro/workorder/modules/process-list.vue b/src/views/mes/pro/workorder/modules/process-list.vue
index 35ac698..f5b0cdc 100644
--- a/src/views/mes/pro/workorder/modules/process-list.vue
+++ b/src/views/mes/pro/workorder/modules/process-list.vue
@@ -143,6 +143,7 @@
outputItemCode: item.outputItemCode,
outputItemName: item.outputItemName,
remark: item.remark,
+ bomItems: item.bomItems,
}));
}
} else {
@@ -299,6 +300,24 @@
]"
/>
</template>
+ <template #expand="{ row }">
+ <div
+ v-if="row.bomItems && row.bomItems.length > 0"
+ class="bg-gray-50 px-8 py-3"
+ >
+ <div class="text-xs text-gray-500 mb-2 font-medium">鎶曟枡鏄庣粏</div>
+ <div class="flex flex-wrap gap-2">
+ <Tag
+ v-for="(bom, idx) in row.bomItems"
+ :key="idx"
+ color="blue"
+ >
+ {{ bom.itemName || bom.itemCode }}
+ <span class="text-gray-400 ml-1">脳{{ bom.quantity }}</span>
+ </Tag>
+ </div>
+ </div>
+ </template>
</Grid>
</div>
</template>
\ No newline at end of file
--
Gitblit v1.9.3