diff --git a/package.json b/package.json index 3ee972492..68d6ef42b 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "element-plus": "2.11.1", "fast-xml-parser": "^4.3.2", "highlight.js": "^11.9.0", + "jsbarcode": "^3.12.3", "jsencrypt": "^3.3.2", "jsoneditor": "^10.1.3", "lodash-es": "^4.17.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e3f9526b..0d1beb2ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -92,6 +92,9 @@ importers: highlight.js: specifier: ^11.9.0 version: 11.10.0 + jsbarcode: + specifier: ^3.12.3 + version: 3.12.3 jsencrypt: specifier: ^3.3.2 version: 3.3.2 @@ -3669,6 +3672,9 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsbarcode@3.12.3: + resolution: {integrity: sha512-CuHU9hC6dPsHF5oVFMo8NW76uQVjH4L22CsP4hW+dNnGywJHC/B0ThA1CTDVLnxKLrrpYdicBLnd2xsgTfRnvg==, tarball: https://registry.npmmirror.com/jsbarcode/-/jsbarcode-3.12.3.tgz} + jsencrypt@3.3.2: resolution: {integrity: sha512-arQR1R1ESGdAxY7ZheWr12wCaF2yF47v5qpB76TtV64H1pyGudk9Hvw8Y9tb/FiTIaaTRUyaSnm5T/Y53Ghm/A==} @@ -4603,7 +4609,7 @@ packages: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz} engines: {node: '>=0.10.0'} split2@4.2.0: @@ -9023,6 +9029,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsbarcode@3.12.3: {} + jsencrypt@3.3.2: {} jsesc@3.0.2: {} diff --git a/src/views/mes/wm/barcode/BarcodeForm.vue b/src/views/mes/wm/barcode/BarcodeForm.vue new file mode 100644 index 000000000..63de2041a --- /dev/null +++ b/src/views/mes/wm/barcode/BarcodeForm.vue @@ -0,0 +1,148 @@ + + + diff --git a/src/views/mes/wm/barcode/BarcodeViewDialog.vue b/src/views/mes/wm/barcode/BarcodeViewDialog.vue new file mode 100644 index 000000000..5dd8d70eb --- /dev/null +++ b/src/views/mes/wm/barcode/BarcodeViewDialog.vue @@ -0,0 +1,281 @@ + + + + + diff --git a/src/views/mes/wm/barcode/constants/BarcodeConstants.ts b/src/views/mes/wm/barcode/constants/BarcodeConstants.ts new file mode 100644 index 000000000..83c481a30 --- /dev/null +++ b/src/views/mes/wm/barcode/constants/BarcodeConstants.ts @@ -0,0 +1,29 @@ +// TODO @AI:迁移到 /Users/yunai/Java/yudao-all-in-one/yudao-ui-admin-vue3/src/views/mes/utils/constants.ts +/** + * 条码格式枚举 + */ +export enum BarcodeFormatEnum { + QR_CODE = 1, + EAN13 = 2, + CODE39 = 3, + UPC_A = 4 +} + +/** + * 条码格式映射表 + */ +// TODO @AI:拿到需要的地方,貌似就一次性的; +export const BARCODE_FORMAT_MAP: Record = { + [BarcodeFormatEnum.QR_CODE]: 'QR_CODE', + [BarcodeFormatEnum.EAN13]: 'EAN13', + [BarcodeFormatEnum.CODE39]: 'CODE39', + [BarcodeFormatEnum.UPC_A]: 'UPC_A' +} + +/** + * 是否为有效的条码格式 + */ +// TODO @AI:去掉,拿到需要的地方; +export const isValidBarcodeFormat = (format: number): boolean => { + return Object.values(BarcodeFormatEnum).includes(format) +} diff --git a/src/views/mes/wm/barcode/index.vue b/src/views/mes/wm/barcode/index.vue new file mode 100644 index 000000000..6e00c73bf --- /dev/null +++ b/src/views/mes/wm/barcode/index.vue @@ -0,0 +1,261 @@ + + + + +