From fb4db4ae9b6a7f113ba049f6789e6916c0dcc276 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 12 十月 2026 09:15:08 +0800
Subject: [PATCH] feat(mes): 新增业务码支持并优化追溯查询功能
---
src/views/mes/pro/batch/modules/form.vue | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/views/mes/pro/batch/modules/form.vue b/src/views/mes/pro/batch/modules/form.vue
index f08e03d..b909f02 100644
--- a/src/views/mes/pro/batch/modules/form.vue
+++ b/src/views/mes/pro/batch/modules/form.vue
@@ -37,6 +37,18 @@
const formType = ref<FormType>("create");
const formData = ref<MesProBatchApi.Batch>();
+ let palletOptions: PalletOption[] = [];
+ async function handlePalletChange(ids: number[] = []) {
+ const selected = palletOptions.filter(option => ids.includes(option.value));
+ const source = formData.value?.itemId ? formData.value : selected[0];
+ if (selected.some(option => !option.itemId || (source?.itemId && option.itemId !== source.itemId))) {
+ message.warning('鐢熶骇鎵规鍙兘缁戝畾鐩稿悓鍝佺鐨勬墭鐩�');
+ await formApi.setFieldValue('palletIds', selected.filter(option => option.itemId === source?.itemId).map(option => option.value));
+ }
+ await formApi.setFieldValue('itemId', source?.itemId);
+ await formApi.setFieldValue('itemName', source?.itemName);
+ await formApi.setFieldValue('itemCode', source?.itemCode);
+ }
const isEditable = computed(() =>
["create", "update", "fill"].includes(formType.value)
@@ -208,15 +220,16 @@
const data = modalApi.getData<{ formType: FormType; id?: number }>();
formType.value = data.formType;
// 鏂板/琛ュ綍/缂栬緫鎬佸姞杞芥湭缁戝畾鎵规鐨勬墭鐩橈紝渚涖�岀粦瀹氭墭鐩樸�嶅閫変笅鎷変娇鐢�
- let palletOptions: PalletOption[] = [];
+ palletOptions = [];
if (formType.value !== "detail") {
const pallets = await getUnboundPalletList();
palletOptions = pallets.map((pallet) => ({
- label: `${pallet.tempCode ?? `鎵樼洏${pallet.id}`}锛堝凡瑁� ${pallet.bagCount ?? 0} 琚嬶級`,
+ label: `${pallet.tempCode ?? `鎵樼洏${pallet.id}`} 路 ${pallet.itemName || "寰呭畬鍠勫搧绉�"}锛堝凡瑁� ${pallet.bagCount ?? 0} 琚嬶級`,
value: pallet.id as number,
+ itemId: pallet.itemId, itemName: pallet.itemName, itemCode: pallet.itemCode,
}));
}
- formApi.setState({ schema: useFormSchema(formType.value, palletOptions) });
+ formApi.setState({ schema: useFormSchema(formType.value, palletOptions, handlePalletChange) });
if (formType.value !== "detail") {
// 娓呯┖涓婃鎵撳紑鏃跺嬀閫夌殑鎵樼洏锛岄伩鍏嶆畫鐣欏�艰瑙﹀彂銆屾壒娆¤繘鍏ョ敓浜т腑銆�
await formApi.setFieldValue("palletIds", undefined);
--
Gitblit v1.9.3