From d16a92587d184d7deff99e7848be8dd03e3207aa Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 10 Apr 2026 19:25:00 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(mes):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=89=A9=E6=96=99/=E4=BA=A7=E5=93=81=E6=A0=87=E8=AF=86?= =?UTF-8?q?=E5=92=8C=E8=A1=A5=E9=BD=90=E9=80=89=E9=A1=B9=E7=9A=84=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 重构了多个组件中的物料/产品标识显示逻辑,使用 dict-tag 组件替代了原有的 getItemOrProductLabel 方法。更新了补齐选项的 radio group,支持动态生成选项。此变更提升了代码的可维护性和可扩展性。 --- .../mes/md/autocode/AutoCodeRuleForm.vue | 12 ++++++---- src/views/mes/md/item/MdProductBomForm.vue | 4 ++-- src/views/mes/md/item/index.vue | 24 ++++--------------- src/views/mes/md/item/type/MdItemTypeForm.vue | 11 ++++++--- src/views/mes/md/item/type/index.vue | 3 +-- src/views/mes/pro/card/index.vue | 2 ++ src/views/mes/utils/constants.ts | 10 -------- .../wm/barcode/components/PrinterLabel.vue | 22 +++++++++++++++++ src/views/mes/wm/barcode/components/index.ts | 1 + .../wm/barcode/config/BarcodeConfigForm.vue | 13 +++++++++- .../wm/itemreceipt/ItemReceiptLineList.vue | 2 ++ .../OutsourceReceiptLineList.vue | 3 ++- .../productreceipt/ProductReceiptLineList.vue | 3 ++- .../wm/productsales/ProductSalesLineList.vue | 11 ++++++--- .../wm/returnissue/ReturnIssueLineList.vue | 3 ++- .../wm/returnsales/ReturnSalesLineList.vue | 3 ++- .../wm/returnvendor/ReturnVendorLineList.vue | 3 ++- .../mes/wm/transfer/TransferLineList.vue | 4 ++-- 18 files changed, 83 insertions(+), 51 deletions(-) create mode 100644 src/views/mes/wm/barcode/components/PrinterLabel.vue diff --git a/src/views/mes/md/autocode/AutoCodeRuleForm.vue b/src/views/mes/md/autocode/AutoCodeRuleForm.vue index d8498d321..3dadd5e18 100644 --- a/src/views/mes/md/autocode/AutoCodeRuleForm.vue +++ b/src/views/mes/md/autocode/AutoCodeRuleForm.vue @@ -37,10 +37,14 @@ - - - + + {{ dict.label }} + @@ -96,7 +100,7 @@ diff --git a/src/views/mes/wm/barcode/components/index.ts b/src/views/mes/wm/barcode/components/index.ts index c6b5055c2..4e34eb79a 100644 --- a/src/views/mes/wm/barcode/components/index.ts +++ b/src/views/mes/wm/barcode/components/index.ts @@ -1,2 +1,3 @@ export { default as Barcode } from './Barcode.vue' export { default as BarcodeDetail } from './BarcodeDetail.vue' +export { default as PrinterLabel } from './PrinterLabel.vue' diff --git a/src/views/mes/wm/barcode/config/BarcodeConfigForm.vue b/src/views/mes/wm/barcode/config/BarcodeConfigForm.vue index bd6100efe..dd7a85405 100644 --- a/src/views/mes/wm/barcode/config/BarcodeConfigForm.vue +++ b/src/views/mes/wm/barcode/config/BarcodeConfigForm.vue @@ -45,8 +45,13 @@ + - + + + @@ -145,6 +150,12 @@ const submitForm = async () => { } } +/** 选择打印模板 */ +// TODO @芋艿:后续对接 UReport 报表选择器(reportSelect),实现打印模板选择功能 +const handleSelectTemplate = () => { + ElMessage.warning('打印模板选择功能暂未实现,敬请期待') +} + /** 重置表单 */ const resetForm = () => { formData.value = { diff --git a/src/views/mes/wm/itemreceipt/ItemReceiptLineList.vue b/src/views/mes/wm/itemreceipt/ItemReceiptLineList.vue index 980623dcd..30adff57d 100644 --- a/src/views/mes/wm/itemreceipt/ItemReceiptLineList.vue +++ b/src/views/mes/wm/itemreceipt/ItemReceiptLineList.vue @@ -50,6 +50,7 @@ 上架 + @@ -164,6 +165,7 @@ import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue' import WmArrivalNoticeLineSelect from '@/views/mes/wm/arrivalnotice/components/WmArrivalNoticeLineSelect.vue' import ItemReceiptDetailList from './ItemReceiptDetailList.vue' import ItemReceiptDetailForm from './ItemReceiptDetailForm.vue' +import { PrinterLabel } from '@/views/mes/wm/barcode/components' defineOptions({ name: 'ItemReceiptLineList' }) diff --git a/src/views/mes/wm/outsourcereceipt/OutsourceReceiptLineList.vue b/src/views/mes/wm/outsourcereceipt/OutsourceReceiptLineList.vue index 2d47f36f6..78e8b7b1c 100644 --- a/src/views/mes/wm/outsourcereceipt/OutsourceReceiptLineList.vue +++ b/src/views/mes/wm/outsourcereceipt/OutsourceReceiptLineList.vue @@ -60,7 +60,7 @@ 上架 - + @@ -171,6 +171,7 @@ import { import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue' import OutsourceReceiptDetailList from './OutsourceReceiptDetailList.vue' import OutsourceReceiptDetailForm from './OutsourceReceiptDetailForm.vue' +import { PrinterLabel } from '@/views/mes/wm/barcode/components' defineOptions({ name: 'OutsourceReceiptLineList' }) diff --git a/src/views/mes/wm/productreceipt/ProductReceiptLineList.vue b/src/views/mes/wm/productreceipt/ProductReceiptLineList.vue index bab9b4aa3..d9d0de1a7 100644 --- a/src/views/mes/wm/productreceipt/ProductReceiptLineList.vue +++ b/src/views/mes/wm/productreceipt/ProductReceiptLineList.vue @@ -51,6 +51,7 @@ 上架 条码 + @@ -139,7 +140,7 @@ import WmMaterialStockSelect from '@/views/mes/wm/materialstock/components/WmMat import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue' import ProductReceiptDetailList from './ProductReceiptDetailList.vue' import ProductReceiptDetailForm from './ProductReceiptDetailForm.vue' -import { BarcodeDetail } from '@/views/mes/wm/barcode/components' +import { BarcodeDetail, PrinterLabel } from '@/views/mes/wm/barcode/components' import { BarcodeBizTypeEnum } from '@/views/mes/utils/constants' defineOptions({ name: 'ProductReceiptLineList' }) diff --git a/src/views/mes/wm/productsales/ProductSalesLineList.vue b/src/views/mes/wm/productsales/ProductSalesLineList.vue index 671dd621a..a7c81eee5 100644 --- a/src/views/mes/wm/productsales/ProductSalesLineList.vue +++ b/src/views/mes/wm/productsales/ProductSalesLineList.vue @@ -123,8 +123,13 @@ - - + + {{ dict.label }} + @@ -157,7 +162,7 @@ import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue' import WmSalesNoticeLineSelect from '@/views/mes/wm/salesnotice/components/WmSalesNoticeLineSelect.vue' import ProductSalesDetailList from './ProductSalesDetailList.vue' import ProductSalesDetailForm from './ProductSalesDetailForm.vue' -import { DICT_TYPE } from '@/utils/dict' +import { getBoolDictOptions, DICT_TYPE } from '@/utils/dict' defineOptions({ name: 'ProductSalesLineList' }) diff --git a/src/views/mes/wm/returnissue/ReturnIssueLineList.vue b/src/views/mes/wm/returnissue/ReturnIssueLineList.vue index 9406eb8b8..ebb6e2e53 100644 --- a/src/views/mes/wm/returnissue/ReturnIssueLineList.vue +++ b/src/views/mes/wm/returnissue/ReturnIssueLineList.vue @@ -61,6 +61,7 @@ 上架 条码 + @@ -155,7 +156,7 @@ import WmMaterialStockSelect from '@/views/mes/wm/materialstock/components/WmMat import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue' import ReturnIssueDetailList from './ReturnIssueDetailList.vue' import ReturnIssueDetailForm from './ReturnIssueDetailForm.vue' -import { BarcodeDetail } from '@/views/mes/wm/barcode/components' +import { BarcodeDetail, PrinterLabel } from '@/views/mes/wm/barcode/components' import { BarcodeBizTypeEnum } from '@/views/mes/utils/constants' defineOptions({ name: 'ReturnIssueLineList' }) diff --git a/src/views/mes/wm/returnsales/ReturnSalesLineList.vue b/src/views/mes/wm/returnsales/ReturnSalesLineList.vue index f92bed938..1fe469adf 100644 --- a/src/views/mes/wm/returnsales/ReturnSalesLineList.vue +++ b/src/views/mes/wm/returnsales/ReturnSalesLineList.vue @@ -60,7 +60,7 @@ 上架 - + @@ -145,6 +145,7 @@ import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue' import WmBatchSelect from '@/views/mes/wm/batch/components/WmBatchSelect.vue' import ReturnSalesDetailList from './ReturnSalesDetailList.vue' import ReturnSalesDetailForm from './ReturnSalesDetailForm.vue' +import { PrinterLabel } from '@/views/mes/wm/barcode/components' defineOptions({ name: 'ReturnSalesLineList' }) diff --git a/src/views/mes/wm/returnvendor/ReturnVendorLineList.vue b/src/views/mes/wm/returnvendor/ReturnVendorLineList.vue index 82cb365a6..09ef5e010 100644 --- a/src/views/mes/wm/returnvendor/ReturnVendorLineList.vue +++ b/src/views/mes/wm/returnvendor/ReturnVendorLineList.vue @@ -50,7 +50,7 @@ 拣货 - + @@ -132,6 +132,7 @@ import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue' import WmBatchSelect from '@/views/mes/wm/batch/components/WmBatchSelect.vue' import ReturnVendorDetailList from './ReturnVendorDetailList.vue' import ReturnVendorDetailForm from './ReturnVendorDetailForm.vue' +import { PrinterLabel } from '@/views/mes/wm/barcode/components' defineOptions({ name: 'ReturnVendorLineList' }) diff --git a/src/views/mes/wm/transfer/TransferLineList.vue b/src/views/mes/wm/transfer/TransferLineList.vue index 413f6a857..1667ba002 100644 --- a/src/views/mes/wm/transfer/TransferLineList.vue +++ b/src/views/mes/wm/transfer/TransferLineList.vue @@ -50,11 +50,10 @@ 删除 - 上架 - + @@ -153,6 +152,7 @@ import WmMaterialStockSelect from '@/views/mes/wm/materialstock/components/WmMat import { WmMaterialStockApi, WmMaterialStockVO } from '@/api/mes/wm/materialstock' import TransferDetailList from './TransferDetailList.vue' import TransferDetailForm from './TransferDetailForm.vue' +import { PrinterLabel } from '@/views/mes/wm/barcode/components' defineOptions({ name: 'TransferLineList' })