$(function () { openWebSocket(); queryAssistantInfo(); }); window.onbeforeunload = function(){ closeWebSocket(); } function calculateGoodsPrice(r){ var rMap = r.map; var barCode = r.goodsDetails.prodBarcode; var brand = r.goodsDetails.brand; console.log(rMap); if(rMap.yhq){ for(var i in rMap.yhq){ vm.coupons.set(i,rMap.yhq[i]); } } // 是否有满减活动 if(rMap.mj){ if(rMap.mj[barCode] && !vm.mj.get(barCode)){ // 该商品是否已经有过满减活动 vm.mj.set(barCode,rMap.mj[barCode]); }else if(rMap.mj[brand] && !vm.mj.get(brand)){ // 该品牌是否已经有过满减活动 vm.mj.set(brand,rMap.mj[brand]); } } if(rMap.mysy){ vm.mysy.push(rMap.mysy[barCode]); } if(rMap.mz){ if(rMap.mz[barCode] && !vm.mz.get(barCode)){ // 该商品是否已经有过满赠活动 vm.mz.set(barCode,rMap.mz[barCode]); }else if(rMap.mz[brand] && !vm.mz.get(brand)){ // 该品牌是否已经有过满赠活动 vm.mz.set(brand,rMap.mz[brand]); } } if(rMap.zhjsp){ // 遍历该商品所有可能的组合价商品类型 for(var data in rMap.zhjsp){ if(!vm.zhjsp.get(data)){ // 分割组合价商品的条码,并以 条码:0 放入map中 var barCodeArray = data.toString().split(":"); var dataMap = new Map(); console.log(rMap.zhjsp[data]); // dataMap.set(); for(var j = 0 ; j < barCodeArray.length ; j ++){ dataMap.set(barCodeArray[j],0); } vm.combinationPrice.set(data,rMap.zhjsp[data][0].combinedPrice) vm.zhjsp.set(data,dataMap); } } } calculateGoodsByMj(r.goodsDetails); calculateGoodsByMysy(r.goodsDetails); calculateGoodsByMz(r.goodsDetails); calculateGoodsByZhjsp(r); } // ==================== 满减========================== // 满减 function calculateGoodsByMj(goodsDetails){ if(vm.mj.get(goodsDetails.prodBarcode)){ fullReduction(goodsDetails,goodsDetails.prodBarcode); }else if(vm.mj.get(goodsDetails.brand)){ fullReduction(goodsDetails,goodsDetails.brand); } } // 满减的计算内容 function fullReduction(goodsDetails,key){ // 获取满减条件金额 var qualifiedAmount = vm.mj.get(key).qualifiedAmount; // 获取已累积金额 var money = vm.accumulatedAmount.get(key); if(isNaN(money)){ money = goodsDetails.retailPrice; }else{ money = money + goodsDetails.retailPrice; } if(money >= qualifiedAmount){ vm.reduceMoney += vm.mj.get(key).deductionAmount; // 达到满减金额,获取扣减的额度 vm.mj.delete(key); // 获取后删除该商品的满减 vm.accumulatedAmount.delete(key); // 删除满减的金额 }else{ vm.accumulatedAmount.set(key,money); } } // ============================= 满赠 ============================== // 满赠 function calculateGoodsByMz(goodsDetails){ // 1.满赠的商品是不是自己,遍历满赠商品数组 isSend(vm.fullGiftCode,goodsDetails,"满赠"); if(vm.mz.get(goodsDetails.prodBarcode)){ fullGift(goodsDetails,goodsDetails.prodBarcode); }else if(vm.mz.get(goodsDetails.brand)){ fullGift(goodsDetails,goodsDetails.brand); } } function fullGift(goodsDetails,key){ // 获取满赠条件金额 var qualifiedAmount = vm.mz.get(key).qualifiedAmount; // 获取已累积金额 var money = vm.accumulatedAmountForFullGift.get(key); if(isNaN(money)){ money = goodsDetails.retailPrice; }else{ money = money + goodsDetails.retailPrice; } // 达到满赠的要求 if(money >= qualifiedAmount){ // 将满赠的商品放入数组中,重置金额 vm.fullGiftCode.push(vm.mz.get(key).giftBarcode); vm.mz.delete(key); // 获取后删除该商品的满减 vm.accumulatedAmountForFullGift.delete(key); // 删除满减的金额 // 2.购物车的商品里面是否有满赠的商品 shopCartContain(vm.fullGiftCode,goodsDetails,"满赠"); }else{ vm.accumulatedAmountForFullGift.set(key,money); } } // 买一送一 function calculateGoodsByMysy(goodsDetails){ // 判断当前商品是否为赠品 isSend(vm.mysy,goodsDetails,"买一送一"); // 判断购物车里面是否有商品为赠品 shopCartContain(vm.mysy,goodsDetails,"买一送一"); } // 判断当前商品是否为赠品 function isSend(activity,goodsDetails,activityName){ if(activity.indexOf(goodsDetails.prodBarcode) >= 0){ // 如果符合条件,把赠送的条码给删除(一次性) var index = activity.indexOf(goodsDetails.prodBarcode); activity.splice(index,1); // 设置赠品的单价 goodsDetails.discountedPrice = goodsDetails.retailPrice; goodsDetails.actualPaymentAmount = 0; goodsDetails.activity = activityName; } } // 判断购物车里面是否有商品为赠品 function shopCartContain(activity,goodsDetails,activityName){ if(vm.goodsList && vm.goodsList.length > 0 ){ for(var i = 0 ; i < vm.goodsList.length ; i ++){ // 如果有商品为赠品,则把价格置位0并跳出循环 if(activity.indexOf(vm.goodsList[i].prodBarcode) >= 0 && vm.goodsList[i].actualPaymentAmount != 0){ // 如果符合条件,把赠送的条码给删除(一次性) var index = vm.mysy.indexOf(goodsDetails.prodBarcode); activity.splice(index,1); vm.goodsList[i].discountedPrice = vm.goodsList[i].retailPrice; vm.goodsList[i].actualPaymentAmount = 0; vm.goodsList[i].activity = activityName; vm.discountedPrice = vm.discountedPrice + vm.goodsList[i].retailPrice ; vm.actualPrice = vm.actualPrice - vm.goodsList[i].retailPrice ; break; } } } } // ======================= 组合价商品 ============================ // 组合价商品 function calculateGoodsByZhjsp(r){ var barCode = r.goodsDetails.prodBarcode; if(r.map.zhjsp){ // 将有组合的商品设置为1 ps:{"flag" => 0, "4005808550739" => 1, "4305615120454" => 0} vm.zhjsp.forEach(function(value,key,map){ // 将组合价中组合的产品出现的次数+1 value.forEach(function(v, k ,m){ if(k === barCode) m.set(k,v+1); }); var flag = 1; // 判断是否有商品成功组合 value.forEach(function(v, k ,m){ if(v === 0) flag = 0; }); if(flag === 1){ var combinationPrice = vm.combinationPrice.get(key); var barCodeArr = key.toString().split(":"); // 扫码的商品条码 barCode for(var i = 0 ; i < barCodeArr.length ; i ++){ var oldCode = barCodeArr[i]; if(oldCode === barCode){ continue; } if(vm.compareCombinationPrice.get(oldCode) && vm.compareCombinationPrice.get(oldCode) > combinationPrice){ // 获取原组合关系 var relationshipKey = vm.combinationRelationship.get(oldCode); // 将价格设置回原来的价格 var keyArr = relationshipKey.toString().split(":"); // 遍历原来的组合 for(var j = 0 ; j < keyArr.length ; j ++){ // 遍历购物车中原来的商品,替换价格 for(var k = 0 ; k < vm.goodsList.length ; k ++){ if(vm.goodsList[k].prodBarcode === keyArr[j] && vm.goodsList[k].activity == "组合价"){ vm.discountedPrice = vm.discountedPrice - vm.goodsList[k].discountedPrice ; vm.actualPrice = vm.actualPrice + vm.goodsList[k].discountedPrice ; vm.goodsList[k].discountedPrice = 0 ; // 优惠价格 vm.goodsList[k].actualPaymentAmount = vm.goodsList[k].retailPrice; // 实际支付价格 vm.goodsList[k].isCombination = 0; vm.goodsList[k].activity = ""; vm.compareCombinationPrice.delete(vm.goodsList[k].prodBarcode); vm.combinationRelationship.delete(vm.goodsList[k].prodBarcode); } } } } } for( var i = 0 ; i < barCodeArr.length ; i ++ ){ // 如果是扫描的产品,直接退出,因为购物车中无该产品 if(barCodeArr[i] == barCode){ r.goodsDetails.isCombination = 1; r.goodsDetails.discountedPrice = r.goodsDetails.retailPrice - combinationPrice; // 优惠价格 r.goodsDetails.actualPaymentAmount = combinationPrice; // 实际支付价格 r.goodsDetails.activity = "组合价"; vm.compareCombinationPrice.set(barCode,r.goodsDetails.actualPaymentAmount); vm.combinationRelationship.set(barCode,key); continue; } for(var j = 0 ; j < vm.goodsList.length ; j ++){ if(vm.goodsList[j].prodBarcode === barCodeArr[i] && !vm.goodsList[j].isCombination){ vm.goodsList[j].discountedPrice = vm.goodsList[j].retailPrice ; // 优惠价格 vm.goodsList[j].actualPaymentAmount = 0; // 实际支付价格 vm.goodsList[j].isCombination = 1; vm.goodsList[j].activity = "组合价"; vm.discountedPrice = vm.discountedPrice + vm.goodsList[j].retailPrice ; // 总的优惠金额 vm.actualPrice = vm.actualPrice - vm.goodsList[j].retailPrice ; // 总的实际支付金额 vm.compareCombinationPrice.set(vm.goodsList[j].prodBarcode,vm.goodsList[j].actualPaymentAmount); vm.combinationRelationship.set(vm.goodsList[j].prodBarcode,barCode,key); break; } } } // 扣减 var updateMap = map.get(key); updateMap.forEach(function(v, k ,m){ m.set(k,v-1); }); } }); } console.log(vm.compareCombinationPrice); } let vm = new Vue({ el: '#rrapp', data: { showList: true, goodsDetail:false, title: null, goods:{}, sysNotice: {}, goodsList:[], orderInfo:[], userInfo:{}, sysUserInfo:{}, storeName:null, prodBarcode:null, sessionId:null, pickUpCodeList:[], goodsDetailList:[], orderEntity:{}, orderProcessRecord:{}, tax:0, currentOrderNo:null, customname:'', customidcard:'', machineCode:'', storeId:null, index:0, max:0, totalPrice:0, discountedPrice:0, actualPrice:0, ruleValidate: { name: [ {required: true, message: '名称不能为空', trigger: 'blur'} ] }, q: { name: '' }, // 买一送一 mysy: [], // 组合价 zhjsp: new Map(), combinationPrice: new Map(), // 组合价商品的组合价 compareCombinationPrice: new Map(), // 用于比较组合价 combinationRelationship: new Map(), // 组合价格的组合关系 // 满减 mj: new Map(), accumulatedAmount: new Map(), // 累积金额(满减使用的) reduceMoney:0, // 满减金额 showReduceMoney:0, // 用于展示的满减金额 // 满赠 mz: new Map(), accumulatedAmountForFullGift: new Map(), // 累积金额(满赠使用的) fullGiftCode:[],// 满赠商品条码 // 优惠券 coupons: new Map(), }, methods: { query: function () { vm.storeId = sessionStorage.getItem("storeId");; var thisGoods = {}; $.get("../goods/details/"+vm.prodBarcode+"/"+vm.storeId, function (r) { if (r.code == 0) { // r.goodsDetails.discountedPrice = 0; // r.goodsDetails.actualPaymentAmount = r.goodsDetails.retailPrice; calculateGoodsPrice(r); vm.goodsDetail = true; // thisGoods.name = r.goodsDetails.name;// thisGoods.primaryPicUrl = r.goodsDetails.primaryPicUrl; // thisGoods.retailPrice = r.goodsDetails.retailPrice;// thisGoods.specification = r.goodsDetails.specification; // thisGoods.prodBarcode = r.goodsDetails.prodBarcode;// thisGoods.stockNum = r.goodsDetails.stockNum;// thisGoods.goodsDesc = r.goodsDetails.goodsDesc;// thisGoods.sellVolume = 1;// thisGoods.id = vm.index++; r.goodsDetails.sellVolume = 1; r.goodsDetails.id = vm.index++; if(!vm.goodsList[vm.index]){ vm.index = vm.max; } vm.max++; r.goodsDetails.goodsDesc = ""; r.goodsDetails.discountedPrice = Math.round(r.goodsDetails.discountedPrice * 100) / 100; r.goodsDetails.actualPaymentAmount = Math.round(r.goodsDetails.actualPaymentAmount * 100) / 100; // r.goodsDetails.primaryPicUrl = ""; var data = Object.assign({}, JSON.parse(JSON.stringify(r.goodsDetails))); vm.goodsList.push(data); vm.goods = r.goodsDetails; vm.totalPrice = (vm.totalPrice + r.goodsDetails.retailPrice); if(vm.reduceMoney > 0){ vm.discountedPrice = vm.discountedPrice + r.goodsDetails.discountedPrice + vm.reduceMoney; vm.actualPrice = vm.actualPrice + r.goodsDetails.actualPaymentAmount - vm.reduceMoney; vm.showReduceMoney = vm.showReduceMoney + vm.reduceMoney; vm.reduceMoney = 0; }else{ vm.discountedPrice = vm.discountedPrice + r.goodsDetails.discountedPrice ; vm.actualPrice = vm.actualPrice + r.goodsDetails.actualPaymentAmount ; } // 处理精度 vm.totalPrice = Math.round(vm.totalPrice * 100) / 100; vm.discountedPrice = Math.round(vm.discountedPrice * 100) / 100; vm.actualPrice = Math.round(vm.actualPrice * 100) / 100; vm.showReduceMoney = Math.round(vm.showReduceMoney * 100) / 100; } else { alert(r.msg); } }); }, add:function(value){ // 增加数量 for(var i = 0 ; i < this.goodsList.length ; i++){ if(this.goodsList[i].id == value){ var goods = this.goodsList[i]; goods.sellVolume = goods.sellVolume + 1; vm.totalPrice = vm.totalPrice + goods.retailPrice; break; } } }, minus:function(value){ // 减少数量 for(var i = 0 ; i < this.goodsList.length ; i++){ if(this.goodsList[i].id == value){ var goods = this.goodsList[i]; if(goods.sellVolume === 1){ alert("数量至少为1个"); return ; } goods.sellVolume = goods.sellVolume - 1; vm.totalPrice = vm.totalPrice - goods.retailPrice; break; } } }, deleteItem:function(value){ console.log(value); // 删除这条记录 for(var i = 0 ; i < this.goodsList.length ; i++){ if(this.goodsList[i].id == value){ var goods = this.goodsList[i]; vm.totalPrice = vm.totalPrice - (goods.retailPrice * goods.sellVolume); this.goodsList.splice(i,1); break; } } this.index = value; }, clearGoodsList:function(){ this.goodsList = []; vm.totalPrice = 0; }, toOrderSubmit:function(){ if(this.goodsList.length == 0){ alert("请选择商品"); return; } $('#myModal').modal('show') }, submitOrder:function(){ $('#payCode').unbind('keydown').keydown(function(event){}); vm.machineCode = sessionStorage.getItem("machineCode"); console.log(vm.machineCode); var param = {'userInfo':vm.userInfo,'payCode':this.$refs.payCode.currentValue,'goodsList':vm.goodsList,'sessionId':vm.sessionId,'machineCode':vm.machineCode}; console.log(JSON.stringify(param)); this.$refs.payCode.currentValue = ''; $.ajax({ type: "POST", url: "../order/orderConfirm", contentType: "application/json", data: JSON.stringify(param), success: function (r) { console.log(r); if (r.code == 0) { if (r.resultObj != null) { $(".form-group input[type=text]").each(function(){ this.value = ''; }) // 打印取货码小票 var content = getPrintContent(r.resultObj); printArea2(content); vm.goodsList = []; vm.customname = '' ; vm.customidcard = ''; vm.totalPrice = 0; vm.discountedPrice = 0; vm.actualPrice = 0; // 买一送一 vm.mysy = []; // 组合价 vm.zhjsp = new Map(); vm.combinationPrice = new Map(); // 组合价商品的组合价 // 满减 vm.mj = new Map(); vm.accumulatedAmount = new Map();// 累积金额(满减使用的) vm.reduceMoney = 0; // 满减金额 vm.showReduceMoney = 0; // 用于展示的满减金额 // 满赠 vm.mz = new Map(); vm.accumulatedAmountForFullGift = new Map(); // 累积金额(满赠使用的) vm.fullGiftCode = [];// 满赠商品条码 // 优惠券 vm.coupons = new Map(); // alert('打印小票完成'); }else{ // alert("打印小票失败"); } } else { alert(r.msg); } } }); }, getIDCardInfo: function(){ $.get("../order/getIdCardInfo", function (r){ if(r.code === 0){ if(!r.info){ alert("请连接设备或设备有问题,请联系管理员!"); return ; } var data = JSON.parse(r.info); vm.$refs.customName.value = data.rows[0].data.name; vm.$refs.customIDCard.value = data.rows[0].data.id_no; }else{ alter("请连接设备或设备有问题,请联系管理员!"); } }); }, submitCustomInfo:function(){ this.userInfo.customName = this.$refs.customName.value ; this.userInfo.customIDCard = this.$refs.customIDCard.value ; this.userInfo.customPhone = this.$refs.customPhone.value; if(this.$refs.couponSn) this.userInfo.couponSn = this.$refs.couponSn.value; var idcardReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/; if(!this.userInfo.customName){ alert("姓名不能为空!"); return ; } if(!idcardReg.test(this.userInfo.customIDCard)){ alert("请输入正确的身份证号"); return ; } if(!(/^1[3456789]\d{9}$/.test(this.userInfo.customPhone))){ alert("手机号码有误,请重填"); return ; } if(this.userInfo.couponSn){ var coupon = vm.coupons.get(this.userInfo.couponSn); if(coupon == null){ alert("请输入正确的优惠券码"); return ; } } $("#Send").attr("data-dismiss","modal"); $('#payModal').modal('show'); $("#payCode").keydown(function(e){ if(e.keyCode==13){ $("#submitOrder").click(); event.preventDefault(); } }); $('body').on('hidden.bs.modal', '.modal', function () { $(this).removeData(); }); }, queryOrderDetail:function(orderSn){ var storeId = sessionStorage.getItem("storeId");; $.get("../order/orderDetail/"+orderSn, function (r) { if (r.code == 0) { vm.orderProcessRecord = r.resultObj.orderProcessRecordEntity; vm.orderEntity = r.resultObj.orderEntity; vm.goodsDetailList = r.resultObj.goodsList; vm.currentOrderNo = r.resultObj.orderEntity.id; vm.tax = r.resultObj.tax; if(vm.orderProcessRecord.eleOrderStartTime){ vm.orderProcessRecord.eleOrderStartTime = parsedate(vm.orderProcessRecord.eleOrderStartTime); } if(vm.orderProcessRecord.paymentStartTime){ vm.orderProcessRecord.paymentStartTime = parsedate(vm.orderProcessRecord.paymentStartTime); } if(vm.orderProcessRecord.waybillStartTime){ vm.orderProcessRecord.waybillStartTime = parsedate(vm.orderProcessRecord.waybillStartTime); } if(vm.orderProcessRecord.customsSuccTime){ vm.orderProcessRecord.customsSuccTime = parsedate(vm.orderProcessRecord.customsSuccTime); } if(vm.orderProcessRecord.addOrderStartTime){ vm.orderProcessRecord.addOrderStartTime = parsedate(vm.orderProcessRecord.addOrderStartTime); } } }); }, verification:function(){ if(vm.orderProcessRecord.isCustomsSend != 1){ alert("请等待清关完成"); return ; } confirm('确认核销吗?', function () { $.ajax({ type: "POST", url: "../order/printMsgAndChangeCode", contentType: "application/json", data: JSON.stringify({'id':vm.currentOrderNo,'sessionId':vm.sessionId}), success: function (r) { if (r.ticket != null) { // printArea(r.ticket); var content = getPrintContentOrder(r.ticket); printArea(content); alert('打印小票完成'); }else{ alert("打印小票失败"); } } }); }) }, refundOrder:function(){ confirm('确认退款吗?', function () { $.ajax({ type: "POST", url: "../order/orderRefund", contentType: "application/json", data: JSON.stringify({'orderId':9000,'sessionId':vm.sessionId}), success: function (r) { if (r.code == 0) { alert("退款成功") }else{ alert("退款失败,请联系管理员"); } } }); }) }, retrySendOrder:function(){ }, getInfo: function (id) { $.get("../sys/notice/info/" + id, function (r) { vm.sysNotice = r.sysNotice; }); }, reload: function (event) { vm.showList = false; vm.showViewList = true; vm.showSaveSupplierGoods = true; var page = $("#jqGrid").jqGrid('getGridParam', 'page'); $("#jqGrid").jqGrid('setGridParam', { postData: { storeId: vm.q.storeId, goodsName: vm.q.goodsName, goodsSn: vm.q.goodsSn, productSn: vm.q.productSn, category: vm.q.category, categoryTwo: vm.q.categoryTwo, goodsBizType:vm.q.goodsBizType, thirdPartyMerchCode: vm.q.thirdPartyMerchCode }, page: page }).trigger("reloadGrid"); vm.handleReset('formValidate'); }, handleSubmit: function (name) { handleSubmitValidate(this, name, function () { vm.saveOrUpdate() }); }, handleReset: function (name) { handleResetForm(this, name); }, logout: function () { confirm('注:您确定要安全退出本次登录吗?', function () { dialogLoading(true); setTimeout(function () { toUrl('../logout?_' + $.now()); }, 500); }); } } }); function getPrintContent(ticket) { var content = "
"; //小票头 content += "
"; content += ticket.shopName content += "
"; content += "
--------------------------------------------------
"; content += "
"; /*content += "收银机号:" + ticket.salesNo; content += "
"; content += "
";*/ content += "收银员:" + ticket.userName; content += "
"; content += "
"; content += "取货码:" + ticket.code; content += "
"; content += "
"; content += "订单编号:" + ticket.orderNo; content += "
"; content += "
"; content += "打印日期:" + ticket.time; content += "
"; content += "
"; content += "该取货单号只有当天有效" content += "
"; return content; } var printAreaCount = 0; function printArea(content) { var idPrefix = "printArea_"; removePrintArea(idPrefix + printAreaCount); printAreaCount++; var iframeId = idPrefix + printAreaCount; var iframeStyle = 'width:0px;height:0px;left:0px;top:0px;'; iframe = document.createElement('IFRAME'); $(iframe).attr({ style: iframeStyle, id: iframeId }); document.body.appendChild(iframe); var doc = iframe.contentWindow.document; doc.open(); //$(document).find("link").filter(function () { //return $(this).attr("rel").toLowerCase() == "stylesheet"; //}).each( //function () { //doc.write(''); //}); doc.write('
' + content + '
'); doc.close(); var frameWindow = iframe.contentWindow; frameWindow.close(); frameWindow.focus(); // frameWindow.print(); frameWindow.print(); } function printArea2(content) { var idPrefix = "printArea_"; removePrintArea(idPrefix + printAreaCount); printAreaCount++; var iframeId = idPrefix + printAreaCount; var iframeStyle = 'width:0px;height:0px;left:0px;top:0px;'; iframe = document.createElement('IFRAME'); $(iframe).attr({ style: iframeStyle, id: iframeId }); document.body.appendChild(iframe); var doc = iframe.contentWindow.document; doc.open(); //$(document).find("link").filter(function () { //return $(this).attr("rel").toLowerCase() == "stylesheet"; //}).each( //function () { //doc.write(''); //}); doc.write('
' + content + '
'); doc.close(); var frameWindow = iframe.contentWindow; frameWindow.close(); frameWindow.focus(); frameWindow.print(); frameWindow.print(); } var removePrintArea = function (id) { $("iframe#" + id).remove(); }; var webSocket; function openWebSocket() { var storeId = sessionStorage.getItem("storeId"); if ("WebSocket" in window) { console.log("当前浏览器支持WebSocket"); //实现化WebSocket对象 //指定要连接的服务器地址与端口建立连接 //注意ws、wss使用不同的端口。我使用自签名的证书测试, //无法使用wss,浏览器打开WebSocket时报错 //ws对应http、wss对应https。 // webSocket = new WebSocket("ws://183.62.225.124:8080/ws/server/"+storeId); webSocket = new WebSocket("ws://localhost:8080//ws/server/"+storeId); if (webSocket.readyState === webSocket.CONNECTING) { console.log('1.连接正在打开......'); } // ---------- WebSocket 对象注册事件 ---------- //连接打开事件 webSocket.onopen = function () { if (webSocket.readyState === webSocket.OPEN) { console.log('2.连接已打开'); } console.log('2.向服务端发送测试消息......'); // webSocket.send("2.client发测试消息:Client sent test msg。"); }; //收到消息事件 webSocket.onmessage = function (msg) { var data = Object.assign({}, JSON.parse(msg.data)); vm.sessionId = data.sessionId; vm.pickUpCodeList = []; if(data.pickUpCodeList.length > 0){ for(var i = 0 ; i < data.pickUpCodeList.length ; i++){ console.log(data.pickUpCodeList[i].storeId); if(data.pickUpCodeList[i].storeId === storeId){ vm.pickUpCodeList.push(data.pickUpCodeList[i]); } } } // vm.pickUpCodeList = vm.pickUpCodeList.concat(data.pickUpCodeList); // console.log(vm.pickUpCodeList); // webSocket.send("2.client发测试消息:Client sent test msg。"); }; //连接关闭事件 webSocket.onclose = function () { if (!webSocket) { console.log('4.Socket连接已关闭'); } }; //发生了错误事件 webSocket.onerror = function () { console.log("5.Socket发生了错误"); } } else { console.log("当前浏览器不支持WebSocket"); return false; } } function sendMessage() { if(webSocket && webSocket.readyState === webSocket.OPEN) { webSocket.send("client manual send message.") } else { console.log('6.未创建WebSocket连接'); } } function closeWebSocket() { if (webSocket != null) { webSocket.close(); webSocket = null; } console.log("关闭WebSocket"); } //窗口关闭时,关闭连接 window.unload = function () { webSocket.close(); }; function parsedate(value){ var date = new Date(value); var year = date.getFullYear(); var month = date.getMonth()+1; //月份+1 var day = date.getDate(); var hour = date.getHours(); var minutes = date.getMinutes(); var second = date.getSeconds(); return year+"-"+month+"-"+day+" "+hour+":"+minutes +":"+second; } function getPrintContentOrder(ticket) { var content = "
"; //小票头 content += "
"; content += ticket.ticketHead.title; content += "
"; /*content += "
"; content += "会员:" + ticket.ticketHead.memberId; content += "
";*/ content += "
"; content += "订单号:" + ticket.ticketHead.orderId; content += "
"; content += "
"; content += "交易时间:" + ticket.ticketHead.tradeTime; content += "
"; content += "
--------------------------------------------------
"; //商品信息 content += ""; content += ""; content += ""; content += ""; content += ""; content += ""; content += ""; content += "
商品名称单价数量小计
"; content += "
--------------------------------------------------
"; content += ""; for (var i=0;i< ticket.goods.length;i++){ content += ""; content += ""; content += ""; content += ""; content += ""; content += ""; } content += "
"; content += ""; content += ""; content += ""; content += ""; content += ""; content += "
#" + ticket.goods[i].gname + "
"; content += "
" + ticket.goods[i].uprice + "" + ticket.goods[i].num + "" + ticket.goods[i].subtotal + "元
"; content += "
--------------------------------------------------
"; //收银信息 content += "
"; content += "商品合计:"; content += "" + ticket.cashInfo.goodsTotal + "件"; content += "" + ticket.cashInfo.total + "元"; content += "
"; content += "
"; content += "实收:"; content += "" + ticket.cashInfo.receipts + "元"; content += "
"; content += "
"; content += "找零:"; content += "" + ticket.cashInfo.oddChange + "元"; content += "
"; content += "
"; content += "优惠券:"; content += "" + ticket.cashInfo.coupon + "元"; content += "
"; content += "
"; content += "运费:"; content += "" + ticket.cashInfo.freight + "元"; content += "
"; content += "
"; content += "支付渠道:"; content += "" + ticket.cashInfo.paymentMode + ""; content += "
"; content += "
--------------------------------------------------
"; //海关清单信息 content += "
"; content += "订单号:" + ticket.cusListing.orderId; content += "
"; content += "
"; content += "运单编号:" + ticket.cusListing.waybillId; content += "
"; content += "
"; content += "海关清单号:" + ticket.cusListing.invtNo; content += "
"; content += "
"; content += "收货人:" + ticket.cusListing.consignee; content += "
"; content += "
"; content += "收货人电话:" + ticket.cusListing.consigneeTel; content += "
"; content += "
"; content += "始发地:" + ticket.cusListing.originAddress; content += "
"; content += "
"; content += "交货地:" + ticket.cusListing.deliveryAddress; content += "
"; content += "
--------------------------------------------------
"; content += "
"; content += ticket.ticketFoot.summary; content += "
"; content += "
"; content += "客服电话:" + ticket.ticketFoot.serviceTel; content += "
"; content += "
"; content += "网址:" + ticket.ticketFoot.url1; content += "
"; content += "
"; content += ticket.ticketFoot.welcome; content += "
"; return content; } function queryAssistantInfo(){ $.get("../sys/user/info", function (r) { if(r.code == 0){ vm.sysUserInfo = r.user; $.get("../store/getStoresByMerch?merchSn="+r.user.merchSn+"&_=1590374349985",function(result){ if(result.code == 0){ for(var i = 0 ;i < result.list.length; i++){ if(result.list[i].id == r.user.storeId){ vm.storeName = result.list[i].storeName; break; } } } }); } }); }