Browse Source

2026-01-08

工单材料上机记录,在行操作上加一个【打印】操作
master
fengyuan_yang 4 days ago
parent
commit
b11a5bebb1
  1. 67
      src/views/modules/schedule/searchMaterialOnMachineRecord.vue

67
src/views/modules/schedule/searchMaterialOnMachineRecord.vue

@ -191,10 +191,11 @@
<el-table-column
header-align="center"
align="center"
width="100"
width="120"
fixed="left"
label="操作">
<template slot-scope="scope">
<el-link style="cursor: pointer; margin-right: 8px" @click="printMaterialLabel(scope.row)">打印</el-link>
<el-link style="cursor: pointer" v-if="scope.row.finishedFlag == 'N' && scope.row.histType == '发料'" @click="showReturnMaterialDialog(scope.row)">异常退料</el-link>
</template>
</el-table-column>
@ -362,6 +363,7 @@ import {
materialReturnDuringProduction
} from '@/api/schedule/materialOnMachineRecord.js';
import {getSiteList } from "@/api/report/partTemplateStatus.js";
import { callUspPartLabelTemplate } from '@/api/wms/wms';
import getLodop from '@/utils/LodopFuncs.js';
import labelPrintTemplates from '@/mixins/labelPrintTemplates.js';
@ -642,6 +644,69 @@ export default {
this.returnLoading = false;
});
},
//
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: row.site,
buNo: '',
menuID: '104003006',
relatedOrderNo: row.orderNo,
relatedOrderLineNo: row.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.rmRollNo);
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 || '请重试'));
}
},
//
executePrint(printDataList) {
try {

Loading…
Cancel
Save