Browse Source

24-03-21 出库扫描报表

master
zelian_wu 2 years ago
parent
commit
803a9fab86
  1. 119
      src/views/modules/print/print_package_label-NOOREVIEW.js
  2. 88
      src/views/modules/production/bagLabels.vue

119
src/views/modules/print/print_package_label-NOOREVIEW.js

@ -0,0 +1,119 @@
/*调用js打印标签*/
import getLodop from '@/utils/LodopFuncs.js'
/*打印材料卷标签*/
export function printPackageLabelNoPreview(printList) {
const LODOP = getLodop()
if (LODOP) {
//LODOP.SET_LICENSES("", "AF8A5800B84BCC5218BCF67B92627BEA", "", "");
LODOP.SET_LICENSES("", "AF8A5800B823CC8E18BCF67B925E7BF0", "", "");
// LODOP.SET_PRINTER_INDEXA("小标签打印机");
//循环调用打印机
for(let i = 0; i < printList.length; i++){
let printData = printList[i];
LODOP.NewPage();
LODOP.SET_PRINT_PAGESIZE(0,1000,700,"");
// LODOP.ADD_PRINT_BARCODE(133,286,130,88,"QRCode",printData.partSpec);
LODOP.ADD_PRINT_BARCODE(133,286,130,88,"QRCode",`${printData.site};${printData.partNo};${printData.unitQty}` );
LODOP.ADD_PRINT_TEXT(93,18,123,25,"Product No:");
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(94,141,241,25,printData.partSpec);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(153,18,128,24,"Cust.P/O:");
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(153,141,145,25,printData.orderRef4);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(115,18,123,25,"FQC:");
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(115,141,111,25,printData.inspector);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(175,18,125,25,"MFG Lot:");
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(175,141,142,25,printData.batchNo);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(67,18,121,25,"Product Desc:");
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(67,141,243,24,printData.partDesc);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.SET_PRINT_STYLEA(0,"LineSpacing",-5);
LODOP.ADD_PRINT_TEXT(197,18,128,25,"MFG Date:");
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(197,141,144,25,printData.receiveDate);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(216,18,191,19,"Manufactured by "+printData.keyInfoStr2);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",7);
LODOP.ADD_PRINT_TEXT(24,212,149,20,"IATF:16949 Certified");
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",7);
LODOP.SET_PRINT_STYLEA(0,"Alignment",3);
LODOP.ADD_PRINT_TEXT(135,18,58,25,"Q.T.Y:");
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_LINE(37,12,36,364,0,1);
LODOP.ADD_PRINT_LINE(216,12,215,364,0,1);
LODOP.ADD_PRINT_TEXT(135,141,120,25,printData.unitQty + printData.umid);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(217,243,130,20,"Vendor I.D.:"+printData.siteName);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",7);
LODOP.ADD_PRINT_TEXT(228,18,348,30,printData.siteAdress);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",7);
LODOP.ADD_PRINT_TEXT(250,18,351,20,printData.sitePhone);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",7);
LODOP.ADD_PRINT_TEXT(41,18,143,25,"Product Code:");
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(113,229,144,26,"Job No:"+printData.seqNo);
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Alignment",3);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
if(printData.code=='CODE128') {
LODOP.ADD_PRINT_BARCODE(40,143,236,23, "128A",printData.partSpec);
}else {
LODOP.ADD_PRINT_BARCODE(40,143,236,23, "Code39",printData.partSpec);
}
LODOP.SET_PRINT_STYLEA(0,"ShowBarText",0);
// LODOP.ADD_PRINT_IMAGE(4,18,114,31,"<img src='http://192.168.1.83:81/upload/AMLogo.jpg'/>");
LODOP.ADD_PRINT_IMAGE(4,18,114,31,`<img src='http://192.168.2.172:80/print/${printData.keyInfoStr1}'/>`);
// LODOP.ADD_PRINT_IMAGE(4,18,114,31,`<img src='http://192.168.1.83:81/upload/${printData.keyInfoStr1}'/>`);
LODOP.SET_PRINT_STYLEA(0,"Stretch",1);
}
// LODOP.PRINT_DESIGN();
// LODOP.PREVIEW();v
LODOP.PRINT();
console.log("操作成功!")
}
}

88
src/views/modules/production/bagLabels.vue

@ -4,7 +4,7 @@ import {
getPackagePrintDataList,
getSOScheduleRoutingDataPrint
} from "../../../api/production/generateReport";
import {printPackageLabel} from "../print/print_package_label";
import {printPackageLabelNoPreview} from "../print/print_package_label-NOOREVIEW";
export default {
data(){
return{
@ -12,6 +12,8 @@ export default {
seqNo:undefined,
flag:'',
},
number:1,
flag:false,
soScheduleRouting:{
}
@ -56,10 +58,17 @@ export default {
this.soScheduleRouting = data.rows.find((item)=>item.site===this.$store.state.user.site && item.seqNo === this.searchData.seqNo)
this.checkIsPacking()
}
this.soScheduleRouting.qtyBag = data.row.qtyBag
this.soScheduleRouting.bag = data.row.bag
this.soScheduleRouting.qty = data.row.qty
this.soScheduleRouting.carton = data.row.carton
if (data.row){
this.soScheduleRouting.qtyBag = data.row[0].qtyBag
this.soScheduleRouting.bag = data.row[0].bag
this.soScheduleRouting.qty = data.row[0].qty
this.soScheduleRouting.carton = data.row[0].carton
}
if (data.data){
this.soScheduleRouting.sScheduledDate2 = data.data.sScheduledDate;
this.soScheduleRouting.operatorName2 = data.data.operatorName;
this.soScheduleRouting.approveQty2 = data.data.qtyApprove;
}
}else {
this.$message.warning(data.msg)
}
@ -73,10 +82,10 @@ export default {
workCenterNo:this.soScheduleRouting.sWorkCenterNo,
}
checkIsPacking(params).then(({data})=>{
this.soScheduleRouting={};
if (data && data.code === 0){
}else {
this.soScheduleRouting={};
this.$message.warning(data.msg)
this.searchData = {
seqNo: undefined,
@ -97,28 +106,22 @@ export default {
this.$message.warning("请先扫描派工单号")
return
}
if (this.soScheduleRouting.qtyBag === null || this.soScheduleRouting.qtyBag === undefined){
this.$message.warning("未维护每袋数量")
return;
}
let params = {
previousSeqNo:this.soScheduleRouting.previousSeqNo,
site:this.soScheduleRouting.site,
orderNo:this.soScheduleRouting.orderNo
}
if (this.searchData.flag === 'Y'){
this.$prompt('请输入数量', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /^(0|[1-9][0-9]*)(\.\d+)?$/,
inputErrorMessage: '请输入正数'
}).then(({ value }) => {
params.number = value;
this.printPackageLabel(params)
}).catch(() => {
this.searchData.flag = '';
});
this.flag = true;
return;
}
this.printPackageLabel(params)
this.printPackageLabelNoPreview(params)
},
printPackageLabel(params){
printPackageLabelNoPreview(params){
if (!params){
this.$message.warning("参数为空")
return
@ -126,7 +129,7 @@ export default {
//
getPackagePrintDataList(params).then(({data})=>{
if (data && data.code === 0){
printPackageLabel(data.rows);
printPackageLabelNoPreview(data.rows);
this.searchData.flag = '';
}else {
this.$message.warning(data.msg)
@ -134,6 +137,15 @@ export default {
}).catch((error)=>{
this.$message.error(error)
})
},
printLabelEntity(){
let params = {
previousSeqNo:this.soScheduleRouting.previousSeqNo,
site:this.soScheduleRouting.site,
orderNo:this.soScheduleRouting.orderNo
}
params.number = this.number;
this.printPackageLabelNoPreview(params)
}
},
}
@ -199,6 +211,26 @@ export default {
<el-input v-model="soScheduleRouting.sScheduledDate" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="检验工单号">
<el-input v-model="soScheduleRouting.previousSeqNo" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="检验日期">
<el-input v-model="soScheduleRouting.sScheduledDate2" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="检验员">
<el-input v-model="soScheduleRouting.operatorName2" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="检验合格数量">
<el-input v-model="soScheduleRouting.approveQty2" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="工序号">
<el-input v-model="soScheduleRouting.itemNo" readonly></el-input>
@ -258,6 +290,22 @@ export default {
</el-form>
</el-card>
</div>
<el-dialog title="提示" :visible.sync="flag" @open="()=>{
this.$refs.dialogInput.focus();
}" @close="()=>{
this.number = 1
}" width="15vw" top="30vh">
<el-form label-position="top" class="title">
<el-form-item label="零数量">
<el-input-number size="medium" style="width: 100%;text-align: left" :controls="false" ref="dialogInput" :min="1" v-model="number" @keyup.enter.native="selectBySeqNo"></el-input-number>
</el-form-item>
</el-form>
<div style="height: 20px;width: 100%"></div>
<div style="text-align: center;margin-bottom: 5px">
<el-button type="primary" @click="printLabelEntity">确定</el-button>
</div>
<div style="height: 5px;width: 100%"></div>
</el-dialog>
</div>
</template>

Loading…
Cancel
Save