|
|
|
@ -397,7 +397,9 @@ import { |
|
|
|
} from '../../../api/wms/wms' |
|
|
|
import {poPartLabelPrint} from '../clodopLabel/poPartLabel' |
|
|
|
import getLodop from '@/utils/LodopFuncs.js' |
|
|
|
import labelPrintTemplates from '@/mixins/labelPrintTemplates.js' |
|
|
|
export default { |
|
|
|
mixins: [labelPrintTemplates], |
|
|
|
data() { |
|
|
|
return { |
|
|
|
functionId: this.$route.meta.menuId, |
|
|
|
@ -1352,225 +1354,6 @@ export default { |
|
|
|
LODOP.PREVIEW(); |
|
|
|
}, |
|
|
|
|
|
|
|
// A001 标签打印(70mm x 30mm)- 左边二维码,右边文字信息 |
|
|
|
printLabelA001(LODOP, printData, isNewPage){ |
|
|
|
if(isNewPage){ |
|
|
|
LODOP.NEWPAGE(); |
|
|
|
} |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 1. 纸张设置 |
|
|
|
// ============================================================ |
|
|
|
// SET_PRINT_PAGESIZE(方向, 宽度, 高度, 纸张名称) |
|
|
|
// 方向: 0=纵向, 1=横向 |
|
|
|
// 宽度/高度: 单位为 1/10 毫米,如 700 = 70mm |
|
|
|
LODOP.SET_PRINT_PAGESIZE(0, 700, 300, ''); |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 2. 绘制边框和分隔线 |
|
|
|
// ============================================================ |
|
|
|
// ADD_PRINT_RECT(上边距, 左边距, 宽度, 高度, 边框样式, 边框粗细) |
|
|
|
// 边框样式: 0=实线 |
|
|
|
// 边框粗细: 单位为像素 |
|
|
|
|
|
|
|
// 外边框(1mm边距,68mm宽 x 28mm高) |
|
|
|
LODOP.ADD_PRINT_RECT('1mm', '1mm', '68mm', '28mm', 0, 1); |
|
|
|
|
|
|
|
// ADD_PRINT_LINE(起点Y, 起点X, 终点Y, 终点X, 线条样式, 线条粗细) |
|
|
|
// 线条样式: 0=实线 |
|
|
|
|
|
|
|
// 垂直分隔线:左右分隔(从上到下) |
|
|
|
// 参数说明:起点(1mm, 22mm) -> 终点(29mm, 22mm) |
|
|
|
LODOP.ADD_PRINT_LINE('1mm', '22mm', '29mm', '22mm', 0, 1); |
|
|
|
|
|
|
|
// 水平分隔线1:编码下方 |
|
|
|
// 参数说明:起点(8mm, 22mm) -> 终点(8mm, 69mm) |
|
|
|
LODOP.ADD_PRINT_LINE('8mm', '22mm', '8mm', '69mm', 0, 1); |
|
|
|
|
|
|
|
// 水平分隔线2:型号下方 |
|
|
|
// 参数说明:起点(13mm, 22mm) -> 终点(13mm, 69mm) |
|
|
|
LODOP.ADD_PRINT_LINE('13mm', '22mm', '13mm', '69mm', 0, 1); |
|
|
|
|
|
|
|
// 水平分隔线3:数量下方 |
|
|
|
// 参数说明:起点(18mm, 22mm) -> 终点(18mm, 69mm) |
|
|
|
LODOP.ADD_PRINT_LINE('18mm', '22mm', '18mm', '69mm', 0, 1); |
|
|
|
|
|
|
|
// 水平分隔线4:批号下方 |
|
|
|
// 参数说明:起点(23mm, 22mm) -> 终点(23mm, 69mm) |
|
|
|
LODOP.ADD_PRINT_LINE('23mm', '22mm', '23mm', '69mm', 0, 1); |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 3. 左侧二维码 |
|
|
|
// ============================================================ |
|
|
|
// ADD_PRINT_BARCODE(上边距, 左边距, 宽度, 高度, 条码类型, 条码内容) |
|
|
|
// 二维码位置:距上7mm,距左3mm,尺寸20mm x 20mm |
|
|
|
const qrIndex = LODOP.ADD_PRINT_BARCODE('7mm', '3mm', '20mm', '20mm', 'QRCode', printData.rollNo || ''); |
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4); |
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M"); |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 4. 右侧文字信息(5行) |
|
|
|
// ============================================================ |
|
|
|
// ADD_PRINT_TEXT(上边距, 左边距, 宽度, 高度, 文字内容) |
|
|
|
|
|
|
|
// 文字起始X位置(左边距)和宽度 |
|
|
|
const startX = '23mm'; // 可调整:文字左边距,增大向右移,减小向左移 |
|
|
|
const textWidth = '43mm'; // 可调整:文字区域宽度 |
|
|
|
|
|
|
|
// 编码(第1行) |
|
|
|
// 上边距4mm:可调整,增大向下移,减小向上移 |
|
|
|
const text1 = LODOP.ADD_PRINT_TEXT('4mm', startX, textWidth, '4mm', `编码:${printData.partNo || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 8); // 可调整:字体大小 |
|
|
|
|
|
|
|
// 型号(第2行) |
|
|
|
// 上边距9mm:可调整 |
|
|
|
const text2 = LODOP.ADD_PRINT_TEXT('9mm', startX, textWidth, '4mm', `型号:${printData.spec || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 8); |
|
|
|
|
|
|
|
// 数量(第3行) |
|
|
|
// 上边距14mm:可调整 |
|
|
|
const text3 = LODOP.ADD_PRINT_TEXT('14mm', startX, textWidth, '4mm', `数量:${printData.quantity || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontSize", 8); |
|
|
|
|
|
|
|
// 批号(第4行) |
|
|
|
// 上边距19mm:可调整 |
|
|
|
const text4 = LODOP.ADD_PRINT_TEXT('19mm', startX, textWidth, '4mm', `批号:${printData.batchNo || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontSize", 8); |
|
|
|
|
|
|
|
// 日期(第5行) |
|
|
|
// 上边距24mm:可调整 |
|
|
|
const text5 = LODOP.ADD_PRINT_TEXT('24mm', startX, textWidth, '4mm', `日期:${printData.documentDate || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontSize", 8); |
|
|
|
}, |
|
|
|
|
|
|
|
// A002 标签打印(70mm x 20mm)- 其他工序用 |
|
|
|
printLabelA002(LODOP, printData, isNewPage){ |
|
|
|
if(isNewPage){ |
|
|
|
LODOP.NEWPAGE(); |
|
|
|
} |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 1. 纸张设置 |
|
|
|
// ============================================================ |
|
|
|
// 设置纸张大小 70mm x 20mm (0=纵向) |
|
|
|
LODOP.SET_PRINT_PAGESIZE(0, 700, 200, ''); |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 2. 绘制边框 |
|
|
|
// ============================================================ |
|
|
|
// 外边框(2mm边距,66mm宽 x 16mm高) |
|
|
|
LODOP.ADD_PRINT_RECT('1mm', '1mm', '68mm', '18mm', 0, 1); |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 3. 左侧二维码 |
|
|
|
// ============================================================ |
|
|
|
// 二维码位置:距上3mm,距左3mm,尺寸15mm x 15mm |
|
|
|
const qrIndex = LODOP.ADD_PRINT_BARCODE('1.6mm', '3.4mm', '18.2mm', '18.2mm', 'QRCode', printData.rollNo || ''); |
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4); |
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M"); |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 4. 右侧文字信息(4行) |
|
|
|
// ============================================================ |
|
|
|
const startX = '23mm'; // 文字左边距 |
|
|
|
const textWidth = '43mm'; // 文字区域宽度 |
|
|
|
|
|
|
|
// 第1行:编码 |
|
|
|
const text1 = LODOP.ADD_PRINT_TEXT('3mm', startX, textWidth, '3mm', `编码:${printData.partNo || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 8); |
|
|
|
|
|
|
|
// 第2行:卷号 |
|
|
|
const text2 = LODOP.ADD_PRINT_TEXT('7mm', startX, textWidth, '3mm', `卷号:${printData.rollNo || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 8); |
|
|
|
|
|
|
|
// 第3行:良品 + 不良品(左右分布) |
|
|
|
// 良品(左侧) |
|
|
|
const text3 = LODOP.ADD_PRINT_TEXT('11mm', startX, '20mm', '3mm', `良品:${printData.goodQuantity || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontSize", 8); |
|
|
|
|
|
|
|
// 不良品(右侧) |
|
|
|
const text4 = LODOP.ADD_PRINT_TEXT('11mm', '43mm', '23mm', '3mm', `不良品:${printData.badQuantity || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontSize", 8); |
|
|
|
|
|
|
|
// 第4行:总数 + 良率(左右分布) |
|
|
|
// 总数(左侧) |
|
|
|
const text5 = LODOP.ADD_PRINT_TEXT('15mm', startX, '20mm', '3mm', `总数:${printData.quantity || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontSize", 8); |
|
|
|
|
|
|
|
// 良率(右侧) |
|
|
|
const text6 = LODOP.ADD_PRINT_TEXT('15mm', '43mm', '23mm', '3mm', `良率:${printData.yield || ''}%`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text6, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text6, "FontSize", 8); |
|
|
|
}, |
|
|
|
|
|
|
|
// A003 标签打印(70mm x 20mm)- 绑定用 |
|
|
|
printLabelA003(LODOP, printData, isNewPage){ |
|
|
|
if(isNewPage){ |
|
|
|
LODOP.NEWPAGE(); |
|
|
|
} |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 1. 纸张设置 |
|
|
|
// ============================================================ |
|
|
|
// 设置纸张大小 70mm x 20mm (0=纵向) |
|
|
|
LODOP.SET_PRINT_PAGESIZE(0, 700, 200, ''); |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 2. 绘制边框 |
|
|
|
// ============================================================ |
|
|
|
// 外边框(1mm边距,68mm宽 x 18mm高) |
|
|
|
LODOP.ADD_PRINT_RECT('1mm', '1mm', '68mm', '18mm', 0, 1); |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 3. 左侧二维码 |
|
|
|
// ============================================================ |
|
|
|
// 二维码位置:距上1.6mm,距左3.4mm,尺寸18.2mm x 18.2mm |
|
|
|
const qrIndex = LODOP.ADD_PRINT_BARCODE('1.6mm', '3.4mm', '18.2mm', '18.2mm', 'QRCode', printData.rollNo || ''); |
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4); |
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M"); |
|
|
|
|
|
|
|
// ============================================================ |
|
|
|
// 4. 右侧文字信息(4行) |
|
|
|
// ============================================================ |
|
|
|
const startX = '23mm'; // 文字左边距 |
|
|
|
const textWidth = '43mm'; // 文字区域宽度 |
|
|
|
|
|
|
|
// 第1行:ERP No. |
|
|
|
const text1 = LODOP.ADD_PRINT_TEXT('3mm', startX, textWidth, '3mm', `ERP No.: ${printData.partNo || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 8); |
|
|
|
|
|
|
|
// 第2行:Batch No. + Reel No.(左右分布) |
|
|
|
// Batch No.(左侧) |
|
|
|
const text2 = LODOP.ADD_PRINT_TEXT('7mm', startX, '20mm', '3mm', `Batch No.: ${printData.batchNo || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 8); |
|
|
|
|
|
|
|
// Reel No.(右侧) |
|
|
|
const text3 = LODOP.ADD_PRINT_TEXT('7mm', '43mm', '23mm', '3mm', `Reel No.: ${printData.reelNo || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontSize", 8); |
|
|
|
|
|
|
|
// 第3行:Good QTY |
|
|
|
const text4 = LODOP.ADD_PRINT_TEXT('11mm', startX, textWidth, '3mm', `Good QTY: ${printData.goodQuantity || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontSize", 8); |
|
|
|
|
|
|
|
// 第4行:Bad QTY |
|
|
|
const text5 = LODOP.ADD_PRINT_TEXT('15mm', startX, textWidth, '3mm', `Bad QTY: ${printData.badQuantity || ''}`); |
|
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontName", "Microsoft YaHei"); |
|
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontSize", 8); |
|
|
|
}, |
|
|
|
deleteLabels(){ |
|
|
|
if(this.selectionDataList.length===0){ |
|
|
|
this.$message.error('未选择标签!'); |
|
|
|
|