From 89b61ba3cd2a10ab1d99668d8399f92884f51cf2 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 31 Mar 2026 21:14:07 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(mes):=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E6=B5=81=E8=BD=AC=E5=8D=A1=E5=92=8C=E8=A3=85?= =?UTF-8?q?=E7=AE=B1=E5=8D=95=E7=B2=BE=E7=AE=80=E5=88=97=E8=A1=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增获取生产流转卡和装箱单的精简列表接口,主要用于前端下拉选项选择,提升用户体验。同时,更新条码配置相关逻辑,增加条码配置关联检查,确保数据一致性。 --- src/api/mes/pro/card/index.ts | 5 ++ src/api/mes/wm/packages/index.ts | 5 ++ .../mes/pro/card/components/ProCardSelect.vue | 81 ++++++++++++++++++ src/views/mes/wm/barcode/BarcodeForm.vue | 58 ++++++++++++- .../components/BarcodePackageSelect.vue | 82 +++++++++++++++++++ src/views/mes/wm/barcode/config/index.vue | 6 ++ 6 files changed, 234 insertions(+), 3 deletions(-) create mode 100644 src/views/mes/pro/card/components/ProCardSelect.vue create mode 100644 src/views/mes/wm/barcode/components/BarcodePackageSelect.vue diff --git a/src/api/mes/pro/card/index.ts b/src/api/mes/pro/card/index.ts index 4d7d5a7e6..d3c870113 100644 --- a/src/api/mes/pro/card/index.ts +++ b/src/api/mes/pro/card/index.ts @@ -47,5 +47,10 @@ export const ProCardApi = { // 导出生产流转卡 Excel exportCard: async (params: any) => { return await request.download({ url: `/mes/pro/card/export-excel`, params }) + }, + + // 获取生产流转卡精简列表 + getCardSimpleList: async () => { + return await request.get({ url: `/mes/pro/card/simple-list` }) } } diff --git a/src/api/mes/wm/packages/index.ts b/src/api/mes/wm/packages/index.ts index f0f933200..e964f2e6c 100644 --- a/src/api/mes/wm/packages/index.ts +++ b/src/api/mes/wm/packages/index.ts @@ -76,5 +76,10 @@ export const WmPackageApi = { // 可添加为子箱的装箱单精简列表(无父箱 + 已完成状态,用于选择父箱) getChildablePackageSimpleList: async () => { return await request.get({ url: '/mes/wm/package/childable-simple-list' }) + }, + + // 获取装箱单精简列表 + getPackageSimpleList: async () => { + return await request.get({ url: '/mes/wm/package/simple-list' }) } } diff --git a/src/views/mes/pro/card/components/ProCardSelect.vue b/src/views/mes/pro/card/components/ProCardSelect.vue new file mode 100644 index 000000000..c47cc4957 --- /dev/null +++ b/src/views/mes/pro/card/components/ProCardSelect.vue @@ -0,0 +1,81 @@ + + + + diff --git a/src/views/mes/wm/barcode/BarcodeForm.vue b/src/views/mes/wm/barcode/BarcodeForm.vue index 48211b2d7..0c6c80d1d 100644 --- a/src/views/mes/wm/barcode/BarcodeForm.vue +++ b/src/views/mes/wm/barcode/BarcodeForm.vue @@ -137,7 +137,35 @@ > - + + + + + + + + + + + + + { return } formData.value.bizId = item.id - formData.value.bizCode = item.code || item.username - formData.value.bizName = item.name || item.nickname + // 根据业务类型映射字段 + switch (formData.value.bizType) { + case BarcodeBizTypeEnum.STOCK: + formData.value.bizCode = item.itemCode + formData.value.bizName = item.itemName + break + case BarcodeBizTypeEnum.PACKAGE: + formData.value.bizCode = item.code + formData.value.bizName = item.clientName || item.code + break + case BarcodeBizTypeEnum.BATCH: + formData.value.bizCode = item.code + formData.value.bizName = item.itemName || item.code + break + case BarcodeBizTypeEnum.PROCARD: + formData.value.bizCode = item.code + formData.value.bizName = item.workOrderName || item.code + break + default: + formData.value.bizCode = item.code || item.username + formData.value.bizName = item.name || item.nickname + } // 自动生成条码内容 if (formData.value.bizType && formData.value.bizCode) { diff --git a/src/views/mes/wm/barcode/components/BarcodePackageSelect.vue b/src/views/mes/wm/barcode/components/BarcodePackageSelect.vue new file mode 100644 index 000000000..045fbabc0 --- /dev/null +++ b/src/views/mes/wm/barcode/components/BarcodePackageSelect.vue @@ -0,0 +1,82 @@ + + + + diff --git a/src/views/mes/wm/barcode/config/index.vue b/src/views/mes/wm/barcode/config/index.vue index 4c0d39969..2705ea973 100644 --- a/src/views/mes/wm/barcode/config/index.vue +++ b/src/views/mes/wm/barcode/config/index.vue @@ -80,6 +80,12 @@ prop="contentExample" :show-overflow-tooltip="true" /> +