Browse Source

2026-01-07

过站采集-》机台工作台-》材料清单增加打印功能
master
fengyuan_yang 6 days ago
parent
commit
bd1a669767
  1. 68
      src/views/modules/yieldReport/com_produce_report_normal.vue

68
src/views/modules/yieldReport/com_produce_report_normal.vue

@ -442,6 +442,7 @@
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <a class="customer-a" @click="deleteSfdcMaterialHist(scope.row)">删除</a>--> <!-- <a class="customer-a" @click="deleteSfdcMaterialHist(scope.row)">删除</a>-->
<a class="customer-a" @click="printMaterialLabel(scope.row)">打印</a>
<a class="customer-a" v-if="operatorData.operatorName != '' && scope.row.rollNo != '*' && scope.row.sAPBOMItemNo >= 0 <a class="customer-a" v-if="operatorData.operatorName != '' && scope.row.rollNo != '*' && scope.row.sAPBOMItemNo >= 0
&& scope.row.finishedFlag == 'N' && scope.row.histType == '发料'" && scope.row.finishedFlag == 'N' && scope.row.histType == '发料'"
@click="replaceMaterialModal(scope.row)">换料</a> @click="replaceMaterialModal(scope.row)">换料</a>
@ -4838,6 +4839,73 @@ export default {
} }
}, },
/**
* 打印材料清单中的卷标签
* @param {Object} row - 材料清单行数据
*/
async printMaterialLabel(row) {
try {
// 1. LODOP
const LODOP = getLodop();
if (!LODOP) {
this.$message.error('无法连接到打印控件,请确保已安装并启动 CLodop!');
return;
}
// 2.
const printerCount = LODOP.GET_PRINTER_COUNT();
if (printerCount <= 0) {
this.$message.error('未检测到打印机,请确保已安装并连接打印机!');
return;
}
// 3.
const params = {
site: this.scheduleData.site,
buNo: this.scheduleData.buNo,
menuID: '104003006',
relatedOrderNo: this.scheduleData.orderNo,
relatedOrderLineNo: this.scheduleData.seqNo,
documentNo: '',
partNo: row.partNo,
labelNo: '',
rollNo: row.rmRollNo
};
const {data: printData} = await callUspPartLabelTemplate(params);
if (printData && printData.code === 0 && printData.row) {
const labelData = printData.row;
//
LODOP.PRINT_INIT('材料卷标签打印_' + row.rollNo);
LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE", true);
// labelNo
if (labelData.labelNo === 'A001') {
await this.printLabelA001(LODOP, labelData, false);
} else if (labelData.labelNo === 'A002') {
this.printLabelA002(LODOP, labelData, false);
} else if (labelData.labelNo === 'A003') {
this.printLabelA003(LODOP, labelData, false);
} else if (labelData.labelNo === 'A004') {
this.printLabelA004(LODOP, labelData, false);
} else {
this.$message.warning(`未知的标签模板:${labelData.labelNo}`);
return;
}
//
LODOP.PRINT();
this.$message.success('打印任务已发送!');
} else {
this.$message.error(printData.msg || '获取打印参数失败');
}
} catch (error) {
console.error('打印材料标签失败:', error);
this.$message.error('打印失败: ' + (error.message || '请重试'));
}
},
/** /**
* 使用模板打印标签优化版 * 使用模板打印标签优化版
* @param {Array} printList - 打印数据列表 * @param {Array} printList - 打印数据列表

Loading…
Cancel
Save