Browse Source

2025-11-14

采购标签生成标签打印
master
fengyuan_yang 2 months ago
parent
commit
69b2c90d8c
  1. 293
      src/views/modules/print/PoPartPrint.vue

293
src/views/modules/print/PoPartPrint.vue

@ -244,24 +244,24 @@
<qcUpload ref="qcUpload" @refreshPageTables="getDetailTableList()" v-drag></qcUpload> <qcUpload ref="qcUpload" @refreshPageTables="getDetailTableList()" v-drag></qcUpload>
<!-- 标签打印对话框 --> <!-- 标签打印对话框 -->
<el-dialog
:close-on-click-modal="false"
v-drag
:visible.sync="printDialogVisible"
<el-dialog
:close-on-click-modal="false"
v-drag
:visible.sync="printDialogVisible"
width="650px" width="650px"
class="print-dialog"> class="print-dialog">
<div slot="title" class="dialog-title-wrapper"> <div slot="title" class="dialog-title-wrapper">
<i class="el-icon-printer" style="margin-right: 8px; font-size: 20px; color: #409EFF;"></i> <i class="el-icon-printer" style="margin-right: 8px; font-size: 20px; color: #409EFF;"></i>
<span style="font-size: 18px; font-weight: 600;">标签打印设置</span> <span style="font-size: 18px; font-weight: 600;">标签打印设置</span>
</div> </div>
<div class="print-dialog-content"> <div class="print-dialog-content">
<!-- 打印信息提示 --> <!-- 打印信息提示 -->
<div class="print-info-banner"> <div class="print-info-banner">
<i class="el-icon-info" style="margin-right: 8px; font-size: 16px;"></i> <i class="el-icon-info" style="margin-right: 8px; font-size: 16px;"></i>
<span>已选择 <strong style="color: #3a7ba8;">{{ selectionDataList.length }}</strong> 个标签请配置打印参数</span> <span>已选择 <strong style="color: #3a7ba8;">{{ selectionDataList.length }}</strong> 个标签请配置打印参数</span>
</div> </div>
<el-form :model="printDialogData" label-position="top" style="margin-top: 20px;"> <el-form :model="printDialogData" label-position="top" style="margin-top: 20px;">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
@ -270,10 +270,10 @@
<i class="el-icon-document-copy" style="margin-right: 5px;"></i> <i class="el-icon-document-copy" style="margin-right: 5px;"></i>
打印次数 打印次数
</span> </span>
<el-input-number
v-model="printDialogData.printTimes"
:min="1"
:max="100"
<el-input-number
v-model="printDialogData.printTimes"
:min="1"
:max="100"
controls-position="right" controls-position="right"
placeholder="每个标签打印份数" placeholder="每个标签打印份数"
style="width: 100%"> style="width: 100%">
@ -281,16 +281,16 @@
<div class="form-tip">设置每个标签的打印份数</div> <div class="form-tip">设置每个标签的打印份数</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item required> <el-form-item required>
<span slot="label" class="form-label"> <span slot="label" class="form-label">
<i class="el-icon-tickets" style="margin-right: 5px;"></i> <i class="el-icon-tickets" style="margin-right: 5px;"></i>
标签模板 标签模板
</span> </span>
<el-select
v-model="printDialogData.labelNo"
placeholder="请选择标签模板"
<el-select
v-model="printDialogData.labelNo"
placeholder="请选择标签模板"
style="width: 100%" style="width: 100%"
:disabled="labelTemplateList.length === 0"> :disabled="labelTemplateList.length === 0">
<el-option <el-option
@ -311,7 +311,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item required> <el-form-item required>
@ -319,9 +319,9 @@
<i class="el-icon-printer" style="margin-right: 5px;"></i> <i class="el-icon-printer" style="margin-right: 5px;"></i>
目标打印机 目标打印机
</span> </span>
<el-select
v-model="printDialogData.printerName"
placeholder="请选择打印机"
<el-select
v-model="printDialogData.printerName"
placeholder="请选择打印机"
style="width: 100%" style="width: 100%"
:disabled="printerList.length === 0"> :disabled="printerList.length === 0">
<el-option <el-option
@ -342,7 +342,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<!-- 打印预览说明 --> <!-- 打印预览说明 -->
<div class="print-summary"> <div class="print-summary">
<div class="summary-item"> <div class="summary-item">
@ -360,18 +360,18 @@
</div> </div>
</el-form> </el-form>
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button
type="success"
icon="el-icon-printer"
@click="confirmPrint()"
<el-button
type="success"
icon="el-icon-printer"
@click="confirmPrint()"
:loading="printLoading" :loading="printLoading"
:disabled="!printDialogData.labelNo || !printDialogData.printerName" :disabled="!printDialogData.labelNo || !printDialogData.printerName"
size="medium"> size="medium">
{{ printLoading ? '打印中...' : '开始打印' }} {{ printLoading ? '打印中...' : '开始打印' }}
</el-button> </el-button>
<el-button
<el-button
@click="printDialogVisible=false" @click="printDialogVisible=false"
size="medium"> size="medium">
取消 取消
@ -1180,19 +1180,19 @@ export default {
this.$message.error('未选择标签!'); this.$message.error('未选择标签!');
return false; return false;
} }
// //
if(!this.currentRow || !this.currentRow.site){ if(!this.currentRow || !this.currentRow.site){
this.$message.error('请先选择上方的检验合格单!'); this.$message.error('请先选择上方的检验合格单!');
return false; return false;
} }
// //
await this.getLabelTemplates(); await this.getLabelTemplates();
// //
this.getPrinterList(); this.getPrinterList();
// //
this.printDialogData = { this.printDialogData = {
printTimes: 1, printTimes: 1,
@ -1201,7 +1201,7 @@ export default {
}; };
this.printDialogVisible = true; this.printDialogVisible = true;
}, },
// //
async getLabelTemplates(){ async getLabelTemplates(){
const params = { const params = {
@ -1209,7 +1209,7 @@ export default {
buNo: this.currentRow.buNo, buNo: this.currentRow.buNo,
partNo: this.currentRow.partNo partNo: this.currentRow.partNo
}; };
try { try {
const {data} = await getPartLabelTemplateList(params); const {data} = await getPartLabelTemplateList(params);
if (data && data.code === 0) { if (data && data.code === 0) {
@ -1226,7 +1226,7 @@ export default {
this.$message.error('获取标签模板失败!'); this.$message.error('获取标签模板失败!');
} }
}, },
// //
getPrinterList(){ getPrinterList(){
try { try {
@ -1235,13 +1235,13 @@ export default {
this.$message.error('无法连接到打印控件,请确保已安装并启动 CLodop!'); this.$message.error('无法连接到打印控件,请确保已安装并启动 CLodop!');
return; return;
} }
const printerCount = LODOP.GET_PRINTER_COUNT(); const printerCount = LODOP.GET_PRINTER_COUNT();
this.printerList = []; this.printerList = [];
for (let i = 0; i < printerCount; i++) { for (let i = 0; i < printerCount; i++) {
this.printerList.push(LODOP.GET_PRINTER_NAME(i)); this.printerList.push(LODOP.GET_PRINTER_NAME(i));
} }
if(this.printerList.length > 0){ if(this.printerList.length > 0){
// //
this.printDialogData.printerName = this.printerList[0]; this.printDialogData.printerName = this.printerList[0];
@ -1251,7 +1251,7 @@ export default {
this.$message.error('获取打印机列表失败!'); this.$message.error('获取打印机列表失败!');
} }
}, },
// //
async confirmPrint(){ async confirmPrint(){
// //
@ -1263,13 +1263,13 @@ export default {
this.$message.error('请选择打印机!'); this.$message.error('请选择打印机!');
return; return;
} }
this.printLoading = true; this.printLoading = true;
try { try {
// //
const printDataList = []; const printDataList = [];
for(let i = 0; i < this.selectionDataList.length; i++){ for(let i = 0; i < this.selectionDataList.length; i++){
const item = this.selectionDataList[i]; const item = this.selectionDataList[i];
const params = { const params = {
@ -1283,24 +1283,29 @@ export default {
LabelNo: this.printDialogData.labelNo, LabelNo: this.printDialogData.labelNo,
rollNo: item.rollNo rollNo: item.rollNo
}; };
const {data} = await callUspPartLabelTemplate(params); const {data} = await callUspPartLabelTemplate(params);
if (data && data.code === 0) { if (data && data.code === 0) {
printDataList.push(data.row);
// labelNo
const printData = {
...data.row,
labelNo: data.row.labelNo
};
printDataList.push(printData);
} else { } else {
this.$message.error(`获取标签 ${item.rollNo} 的打印参数失败:${data.msg}`); this.$message.error(`获取标签 ${item.rollNo} 的打印参数失败:${data.msg}`);
this.printLoading = false; this.printLoading = false;
return; return;
} }
} }
// labelNo // labelNo
this.executePrint(printDataList); this.executePrint(printDataList);
this.printDialogVisible = false; this.printDialogVisible = false;
this.$message.success('打印任务已发送!'); this.$message.success('打印任务已发送!');
this.getDetailTableList(); this.getDetailTableList();
} catch (error) { } catch (error) {
console.error('打印失败:', error); console.error('打印失败:', error);
this.$message.error('打印失败:' + error.message); this.$message.error('打印失败:' + error.message);
@ -1308,7 +1313,7 @@ export default {
this.printLoading = false; this.printLoading = false;
} }
}, },
// //
executePrint(printDataList){ executePrint(printDataList){
const LODOP = getLodop(); const LODOP = getLodop();
@ -1316,14 +1321,20 @@ export default {
this.$message.error('无法连接到打印控件!'); this.$message.error('无法连接到打印控件!');
return; return;
} }
//
LODOP.PRINT_INIT('物料标签打印');
//
LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE", true);
// //
LODOP.SET_PRINTER_INDEX(this.printDialogData.printerName); LODOP.SET_PRINTER_INDEX(this.printDialogData.printerName);
for(let times = 0; times < this.printDialogData.printTimes; times++){ for(let times = 0; times < this.printDialogData.printTimes; times++){
for(let i = 0; i < printDataList.length; i++){ for(let i = 0; i < printDataList.length; i++){
const printData = printDataList[i]; const printData = printDataList[i];
// labelNo // labelNo
if(printData.labelNo === 'A001'){ if(printData.labelNo === 'A001'){
this.printLabelA001(LODOP, printData, i > 0 || times > 0); this.printLabelA001(LODOP, printData, i > 0 || times > 0);
@ -1336,159 +1347,205 @@ export default {
} }
} }
} }
//
LODOP.PRINT();
//
LODOP.PREVIEW();
}, },
// A001 70mm x 30mm- // A001 70mm x 30mm-
printLabelA001(LODOP, printData, isNewPage){ printLabelA001(LODOP, printData, isNewPage){
if(isNewPage){ if(isNewPage){
LODOP.NEWPAGE(); LODOP.NEWPAGE();
} }
// 70mm x 30mm
LODOP.SET_PRINT_PAGESIZE(1, '70mm', '30mm', '');
//
// ============================================================
// 1.
// ============================================================
// SET_PRINT_PAGESIZE(, , , )
// : 0=, 1=
// /: 1/10 700 = 70mm
LODOP.SET_PRINT_PAGESIZE(0, 700, 300, '');
// ============================================================
// 2. 线
// ============================================================
// ADD_PRINT_RECT(, , , , , )
// : 0=线
// :
// 2mm66mm x 26mm
LODOP.ADD_PRINT_RECT('2mm', '2mm', '66mm', '26mm', 0, 1); LODOP.ADD_PRINT_RECT('2mm', '2mm', '66mm', '26mm', 0, 1);
// 线
// ADD_PRINT_LINE(Y, X, Y, X, 线, 线)
// 线: 0=线
// 线
// (2mm, 22mm) -> (28mm, 22mm)
LODOP.ADD_PRINT_LINE('2mm', '22mm', '28mm', '22mm', 0, 1); LODOP.ADD_PRINT_LINE('2mm', '22mm', '28mm', '22mm', 0, 1);
// 20mm x 20mm
const qrIndex = LODOP.ADD_PRINT_BARCODE('5mm', '3mm', '18mm', '18mm', 'QRCode', printData.rollNo || '');
// 线1
// (8mm, 22mm) -> (8mm, 68mm)
LODOP.ADD_PRINT_LINE('8mm', '22mm', '8mm', '68mm', 0, 1);
// 线2
// (13mm, 22mm) -> (13mm, 68mm)
LODOP.ADD_PRINT_LINE('13mm', '22mm', '13mm', '68mm', 0, 1);
// 线3
// (18mm, 22mm) -> (18mm, 68mm)
LODOP.ADD_PRINT_LINE('18mm', '22mm', '18mm', '68mm', 0, 1);
// 线4
// (23mm, 22mm) -> (23mm, 68mm)
LODOP.ADD_PRINT_LINE('23mm', '22mm', '23mm', '68mm', 0, 1);
// ============================================================
// 3.
// ============================================================
// ADD_PRINT_BARCODE(, , , , , )
// 7mm3mm20mm 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, "QRCodeVersion", 4);
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M"); LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M");
// 5
const startX = '23mm';
const textWidth = '43mm';
//
const text1 = LODOP.ADD_PRINT_TEXT('4mm', startX, textWidth, '4mm', `编码:${printData.partCode || printData.partNo || ''}`);
// ============================================================
// 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, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 8);
//
const text2 = LODOP.ADD_PRINT_TEXT('9mm', startX, textWidth, '4mm', `型号:${printData.partModel || ''}`);
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, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 8); LODOP.SET_PRINT_STYLEA(text2, "FontSize", 8);
//
const text3 = LODOP.ADD_PRINT_TEXT('14mm', startX, textWidth, '4mm', `数量:${printData.qty || printData.rollQty || ''}`);
// 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, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text3, "FontSize", 8); LODOP.SET_PRINT_STYLEA(text3, "FontSize", 8);
//
// 4
// 19mm
const text4 = LODOP.ADD_PRINT_TEXT('19mm', startX, textWidth, '4mm', `批号:${printData.batchNo || ''}`); 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, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text4, "FontSize", 8); LODOP.SET_PRINT_STYLEA(text4, "FontSize", 8);
//
const text5 = LODOP.ADD_PRINT_TEXT('24mm', startX, textWidth, '4mm', `日期:${printData.productionDate || ''}`);
// 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, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text5, "FontSize", 8); LODOP.SET_PRINT_STYLEA(text5, "FontSize", 8);
}, },
// A002 70mm x 20mm- // A002 70mm x 20mm-
printLabelA002(LODOP, printData, isNewPage){ printLabelA002(LODOP, printData, isNewPage){
if(isNewPage){ if(isNewPage){
LODOP.NEWPAGE(); LODOP.NEWPAGE();
} }
// 70mm x 20mm
LODOP.SET_PRINT_PAGESIZE(1, '70mm', '20mm', '');
// 70mm x 20mm (0=)
LODOP.SET_PRINT_PAGESIZE(0, 700, 200, '');
// //
LODOP.ADD_PRINT_RECT('2mm', '2mm', '66mm', '16mm', 0, 1); LODOP.ADD_PRINT_RECT('2mm', '2mm', '66mm', '16mm', 0, 1);
// "" // ""
const title = LODOP.ADD_PRINT_TEXT('2mm', '2mm', '66mm', '4mm', '其他工序用'); const title = LODOP.ADD_PRINT_TEXT('2mm', '2mm', '66mm', '4mm', '其他工序用');
LODOP.SET_PRINT_STYLEA(title, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(title, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(title, "FontSize", 10); LODOP.SET_PRINT_STYLEA(title, "FontSize", 10);
LODOP.SET_PRINT_STYLEA(title, "Bold", 1); LODOP.SET_PRINT_STYLEA(title, "Bold", 1);
LODOP.SET_PRINT_STYLEA(title, "Alignment", 2); // LODOP.SET_PRINT_STYLEA(title, "Alignment", 2); //
// 线 // 线
LODOP.ADD_PRINT_LINE('6mm', '2mm', '6mm', '68mm', 0, 1); LODOP.ADD_PRINT_LINE('6mm', '2mm', '6mm', '68mm', 0, 1);
// 线 // 线
LODOP.ADD_PRINT_LINE('6mm', '22mm', '18mm', '22mm', 0, 1); LODOP.ADD_PRINT_LINE('6mm', '22mm', '18mm', '22mm', 0, 1);
// //
const qrIndex = LODOP.ADD_PRINT_BARCODE('8mm', '3mm', '18mm', '9mm', 'QRCode', printData.rollNo || ''); const qrIndex = LODOP.ADD_PRINT_BARCODE('8mm', '3mm', '18mm', '9mm', 'QRCode', printData.rollNo || '');
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4); LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4);
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M"); LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M");
// //
const startX = '23mm'; const startX = '23mm';
const textWidth = '43mm'; const textWidth = '43mm';
const text1 = LODOP.ADD_PRINT_TEXT('7mm', startX, textWidth, '3mm', `ERP No.: ${printData.erpNo || ''}`);
const text1 = LODOP.ADD_PRINT_TEXT('7mm', startX, textWidth, '3mm', `ERP No.: ${printData.partNo || ''}`);
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 7); LODOP.SET_PRINT_STYLEA(text1, "FontSize", 7);
const text2 = LODOP.ADD_PRINT_TEXT('10mm', startX, textWidth, '3mm', `Batch No.: ${printData.batchNo || ''}`); const text2 = LODOP.ADD_PRINT_TEXT('10mm', startX, textWidth, '3mm', `Batch No.: ${printData.batchNo || ''}`);
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 7); LODOP.SET_PRINT_STYLEA(text2, "FontSize", 7);
const text3 = LODOP.ADD_PRINT_TEXT('13mm', startX, textWidth, '3mm', `Good QTY: ${printData.goodQty || ''} pcs`);
const text3 = LODOP.ADD_PRINT_TEXT('13mm', startX, textWidth, '3mm', `Good QTY: ${printData.goodQuantity || ''}`);
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text3, "FontSize", 7); LODOP.SET_PRINT_STYLEA(text3, "FontSize", 7);
const text4 = LODOP.ADD_PRINT_TEXT('16mm', startX, textWidth, '3mm', `Bad QTY: ${printData.badQty || ''} pcs`);
const text4 = LODOP.ADD_PRINT_TEXT('16mm', startX, textWidth, '3mm', `Bad QTY: ${printData.badQuantity || ''}`);
LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text4, "FontSize", 7); LODOP.SET_PRINT_STYLEA(text4, "FontSize", 7);
}, },
// A003 70mm x 20mm- // A003 70mm x 20mm-
printLabelA003(LODOP, printData, isNewPage){ printLabelA003(LODOP, printData, isNewPage){
if(isNewPage){ if(isNewPage){
LODOP.NEWPAGE(); LODOP.NEWPAGE();
} }
// 70mm x 20mm
LODOP.SET_PRINT_PAGESIZE(1, '70mm', '20mm', '');
// 70mm x 20mm (0=)
LODOP.SET_PRINT_PAGESIZE(0, 700, 200, '');
// //
LODOP.ADD_PRINT_RECT('2mm', '2mm', '66mm', '16mm', 0, 1); LODOP.ADD_PRINT_RECT('2mm', '2mm', '66mm', '16mm', 0, 1);
// "" // ""
const title = LODOP.ADD_PRINT_TEXT('2mm', '2mm', '66mm', '4mm', '绑定用'); const title = LODOP.ADD_PRINT_TEXT('2mm', '2mm', '66mm', '4mm', '绑定用');
LODOP.SET_PRINT_STYLEA(title, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(title, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(title, "FontSize", 10); LODOP.SET_PRINT_STYLEA(title, "FontSize", 10);
LODOP.SET_PRINT_STYLEA(title, "Bold", 1); LODOP.SET_PRINT_STYLEA(title, "Bold", 1);
LODOP.SET_PRINT_STYLEA(title, "Alignment", 2); // LODOP.SET_PRINT_STYLEA(title, "Alignment", 2); //
// 线 // 线
LODOP.ADD_PRINT_LINE('6mm', '2mm', '6mm', '68mm', 0, 1); LODOP.ADD_PRINT_LINE('6mm', '2mm', '6mm', '68mm', 0, 1);
// 线 // 线
LODOP.ADD_PRINT_LINE('6mm', '22mm', '18mm', '22mm', 0, 1); LODOP.ADD_PRINT_LINE('6mm', '22mm', '18mm', '22mm', 0, 1);
// //
const qrIndex = LODOP.ADD_PRINT_BARCODE('8mm', '3mm', '18mm', '9mm', 'QRCode', printData.rollNo || ''); const qrIndex = LODOP.ADD_PRINT_BARCODE('8mm', '3mm', '18mm', '9mm', 'QRCode', printData.rollNo || '');
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4); LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4);
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M"); LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M");
// //
const startX = '23mm'; const startX = '23mm';
const textWidth = '43mm'; const textWidth = '43mm';
const text1 = LODOP.ADD_PRINT_TEXT('7mm', startX, textWidth, '3mm', `ERP No.: ${printData.erpNo || ''}`);
const text1 = LODOP.ADD_PRINT_TEXT('7mm', startX, textWidth, '3mm', `ERP No.: ${printData.partNo || ''}`);
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 7); LODOP.SET_PRINT_STYLEA(text1, "FontSize", 7);
const text2 = LODOP.ADD_PRINT_TEXT('10mm', startX, textWidth, '3mm', `Batch No.: ${printData.batchNo || ''} Reel No.: ${printData.reelNo || ''}`); const text2 = LODOP.ADD_PRINT_TEXT('10mm', startX, textWidth, '3mm', `Batch No.: ${printData.batchNo || ''} Reel No.: ${printData.reelNo || ''}`);
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 7); LODOP.SET_PRINT_STYLEA(text2, "FontSize", 7);
const text3 = LODOP.ADD_PRINT_TEXT('13mm', startX, textWidth, '3mm', `Good QTY: ${printData.goodQty || ''} pcs`);
const text3 = LODOP.ADD_PRINT_TEXT('13mm', startX, textWidth, '3mm', `Good QTY: ${printData.goodQuantity || ''}`);
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text3, "FontSize", 7); LODOP.SET_PRINT_STYLEA(text3, "FontSize", 7);
const text4 = LODOP.ADD_PRINT_TEXT('16mm', startX, textWidth, '3mm', `Bad QTY: ${printData.badQty || ''} pcs`);
const text4 = LODOP.ADD_PRINT_TEXT('16mm', startX, textWidth, '3mm', `Bad QTY: ${printData.badQuantity || ''}`);
LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text4, "FontSize", 7); LODOP.SET_PRINT_STYLEA(text4, "FontSize", 7);
}, },
@ -1596,7 +1653,7 @@ export default {
color: #ffffff; color: #ffffff;
font-size: 20px; font-size: 20px;
font-weight: bold; font-weight: bold;
&:hover { &:hover {
color: #f0f0f0; color: #f0f0f0;
} }
@ -1657,7 +1714,7 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
.summary-label { .summary-label {
font-size: 12px; font-size: 12px;
color: #5a7a8f; color: #5a7a8f;
@ -1679,7 +1736,7 @@ export default {
/deep/ .el-input-number { /deep/ .el-input-number {
width: 100%; width: 100%;
.el-input__inner { .el-input__inner {
text-align: left; text-align: left;
} }
@ -1705,7 +1762,7 @@ export default {
text-align: center; text-align: center;
background-color: #fafafa; background-color: #fafafa;
border-top: 1px solid #e8e8e8; border-top: 1px solid #e8e8e8;
.el-button { .el-button {
min-width: 120px; min-width: 120px;
height: 40px; height: 40px;

Loading…
Cancel
Save