var vm = new Vue({ el: '#app', data: function () { return { isLoading: false, userInfo: { "loginGuid": '', "loginAccount": '', }, modeInfo: { daa001: "", planNo: "" }, scanInfo: { barcodeNum: "", splitNum: "", barcode: "" }, ItemDetail: [], ip: "", port: "", oldBarInfo: [], cfBarInfo: [], selectKey: "",//查询关键字 actions: [],//列表的值 show: false,//列表展示 //isPrinterPopupVisible: false, // 控制弹窗显示/隐藏 //selectedPrinter: '', // 当前选择的打印机编号 //printerList: [ // { printerId: 'Printer1', ipAddress: '192.168.1.1' }, // { printerId: 'Printer2', ipAddress: '192.168.1.2' }, // { printerId: 'Printer3', ipAddress: '192.168.1.3' } //], // 打印机列表 } }, mounted() { var that = this; this.userInfo = { loginGuid: this.GetLoginInfor().loginGuid, loginAccount: this.GetLoginInfor().loginAccount, }; }, methods: { getModel() { var that = this; that.isLoading = true; that.AxiosHttp("post", 'Womdaa/GetItemsByDaa001', { daa001: that.modeInfo.daa001, userName: that.userInfo.loginAccount }, false) .then(function (res) { var json = res; if (json.status == 0) { that.ItemDetail = json.data.tbBillList; that.modeInfo.planNo = json.data.tbBillList.planNo; that.$refs.barcode.focus(); } else { that.$toast.fail(json.message); that.$refs.daa001.focus(); that.modeInfo.daa001 = ""; that.modeInfo.planNo = ""; that.ItemDetail = []; } that.isLoading = false; }) .catch(function (error) { that.isLoading = false; that.$toast.fail("网络错误,请重试!"); console.log(error); that.$refs.daa001.focus(); that.modeInfo.daa001 = ""; }); }, getScan() { if (this.isLoading) { return; } var that = this; if (that.modeInfo.daa001.length <= 0) { that.$toast.fail("工单单号不能为空!"); return; } if (that.scanInfo.barcode.length * 1 <= 0) { that.$toast.fail("物料条码不能为空!"); return; } that.isLoading = true; that.AxiosHttp("post", 'Womdaa/ScanCode', { daa001: that.modeInfo.daa001, userName: that.userInfo.loginAccount, barcode: that.scanInfo.barcode, }, false) .then(function (res) { var json = res; if (json.status == 0) { // that.scanInfo = json.data.tbBillList; that.$notify({ type: 'success', message: json.message }); that.$playSound('success'); that.getModel(); that.$refs.barcode.focus(); that.scanInfo.barcode = null; } else if (json.status == 2) { that.$refs.splitNum.focus(); that.scanInfo.splitNum = json.data.tbBillList.splitNum; that.scanInfo.barcodeNum = json.data.tbBillList.barcodeNum; } else { that.$toast.fail(json.message); that.$playSound('error'); that.$refs.barcode.focus(); } that.isLoading = false; }) .catch(function (error) { that.isLoading = false; that.$toast.fail("网络错误,请重试!"); that.$playSound('error'); that.$refs.barcode.focus(); }); }, getChaiFen() { //this.isPrinterPopupVisible = true; // 显示弹窗 if (this.isLoading) { return; } var that = this; if (that.modeInfo.daa001.length <= 0) { that.$toast.fail("工单单号不能为空!"); return; } if (that.scanInfo.splitNum * 1 <= 0) { that.$toast.fail("拆分数量不能为空!"); return; } if (that.scanInfo.barcode.length * 1 <= 0) { that.$toast.fail("物料条码不能为空!"); return; } //that.ip = ""; //that.prot = ""; //that.getPrintInfo(); //if (that.ip.length <= 0 || that.prot.length <= 0) { // alert(that.ip); // alert(that.prot); // return; //} that.isLoading = true; that.AxiosHttp("post", 'Womdaa/ScanCodeCF', { daa001: that.modeInfo.daa001, userName: that.userInfo.loginAccount, barcode: that.scanInfo.barcode, Num: that.scanInfo.splitNum, }, false) .then(function (res) { var json = res; if (json.status == 0) { // that.modeInfo = json.data.tbBillList; that.scanInfo.splitNum = null; that.scanInfo.barcodeNum = null; that.scanInfo.barcode = null; that.$notify({ type: 'success', message: json.message }); that.$playSound('success'); that.sendMessage(json.data.tbBillList); that.$refs.barcode.focus(); that.getModel(); } else { that.$toast.fail(json.message); that.$playSound('error'); } that.isLoading = false; }) .catch(function (error) { that.isLoading = false; that.$toast.fail("网络错误,请重试!"); that.$playSound('error'); }); }, sendMessage(tbBillList) { const cfDetails = tbBillList.cfBarInfo.map(item => { return "! 0 200 200 210 1\r\n" + "PAGE - WIDTH 700 \r\n" + "BOX 0 0 700 180 0 \r\n" + `T 16 0 10 10 物料编码:\r\n` + `T 55 3 120 10 ${item.iteM_NO}\r\n` + `T 16 0 310 10 ${item.item_name}\r\n` + "T 55 2 10 42 物料规格:\r\n" + `T 55 2 110 42 ${item.item_model}\r\n` + "T 16 0 10 78 数量:\r\n" + `T 0 5 90 78 ${item.quantity}\r\n` + `T 16 5 180 78 ${item.barType}\r\n` + `BARCODE 128 1 25 35 350 130 ${item.iteM_BARCODE}\r\n` + `T 0 1 350 130 ${item.iteM_BARCODE}\r\n` + "T 55 0 10 125 创建时间:\r\n" + `T 55 0 120 125 ${item.creatE_DATE}\r\n` + "T 55 0 10 150 打印时间:\r\n" + `T 55 0 120 150 ${item.print_date}\r\n` + "B QR 580 12 M 2 U 4\r\n" + `MA,${item.iteM_BARCODE}\r\n` + "ENDQR\r\nFORM\r\nPRINT\r\n"; }); //alert(cfDetails); let sendData = { Type: 'Bar', Barcode: tbBillList.cfBarInfo[0].iteM_BARCODE, Detail: cfDetails, Ip: tbBillList.printInfo[0].ip, Port: tbBillList.printInfo[0].port, } console.log('sendMessage 开始1:') console.log('sendMessage 开始2:' + JSON.stringify(sendData)) uni.webView.postMessage({ data: JSON.stringify(sendData) }) }, //getPrintInfo() { // var that = this; // that.AxiosHttp("post", 'MesPrint/getPrintInfo', { // userName: that.userInfo.loginAccount, // }, false) // .then(function (res) { // var json = res; // if (json.status == 0) { // alert(json.data.tbBillList[0].port); // alert(json.data.tbBillList[0].ip); // that.port = json.data.tbBillList[0].port; // that.ip = json.data.tbBillList[0].ip; // } // else { // that.$toast.fail(json.message); // that.$playSound('error'); // } // that.isLoading = false; // }) // .catch(function (error) { // that.isLoading = false; // that.$toast.fail("网络错误,请重试!"); // }); //}, //printCfBar(cfBar) { // var that = this; // that.AxiosHttp("post", 'MesPrint/getCfInfo', { // userName: that.userInfo.loginAccount, // cfBar: cfBar, // oldBar: that.scanInfo.barcode // }, false) // .then(function (res) { // var json = res; // if (json.status == 0) { // that.$notify({ type: 'success', message: '打印请求已发送' }); // that.$playSound('success'); // } // else { // that.$toast.fail(json.message); // that.$playSound('error'); // } // that.isLoading = false; // }) // .catch(function (error) { // that.isLoading = false; // that.$toast.fail("打印服务异常:" + error.message); // that.$playSound('error'); // }); //}, //打印机注释 //selectPrinter(printer) { // this.selectedPrinter = printer.printerId; // 更新选中的打印机编号 //}, //confirmSelection() { // if (this.selectedPrinter) { // alert(`您选择了打印机:${this.selectedPrinter}`); // // 在这里处理选择结果,例如调用接口或更新状态 // this.isPrinterPopupVisible = false; // 关闭弹窗 // } else { // alert('请选择一个打印机!'); // } //}, //onPrinterSelected(value) { // console.log('当前选中的打印机编号:', value); //}, //获取工单信息 getInfo() { this.show = true; var that = this; that.actions = []; that.isLoading = true; that.AxiosHttp("post", 'Womdaa/GetXcslDaa', { selectKey: that.selectKey, }, false) .then(function (res) { var json = res; if (json.status == 0) { if (json.data.tbBillList.length <= 0) { that.$toast.fail("没有可用的数据"); that.$playSound('error'); } else { that.itemInfo = json.data.tbBillList; that.actions = json.data.tbBillList.map(item => { return { name: item.daaInfo // 拼接字段 }; }); } } else { that.$toast.fail(json.message); that.$playSound('error'); } that.isLoading = false; }) .catch(function (error) { that.isLoading = false; that.$toast.fail("网络错误,请重试!"); that.$playSound('error'); console.log(error); }); }, onSelect(item) { // 默认情况下点击选项时不会自动收起 // 可以通过 close-on-click-action 属性开启自动收起 this.show = false; console.log(item); // 正则匹配第一个方括号内容 const regex = /\[([^\]]+)\]/; const matchResult = item.name.match(regex); if (matchResult && matchResult[1]) { this.modeInfo.daa001 = matchResult[1]; // PPBOM00000088-1 console.log('提取的DAA001:', this.modeInfo.daa001); } else { this.$toast.fail('工单号格式异常'); this.modeInfo.daa001 = ''; } this.getModel(); //this.$toast(item.name); }, } })