/** *Created by ZHJY on 2020/7/14. */ var payContainer = new Vue({ el:"#payContainer", data: { isSubMitStatus:false, payInfo:{ PAY_BANK_NUM:'ICBC_B2B',//银行网管信息 PAY_CODE:'',//链接状态 PAY_ORDERID:'',//主订单ID PAY_UNPAIDAMOUNT:0,//本次支付金额 PAY_TIME:'',//链接失效时间 PAY_LINKLOGO:'', PAY_PAYLINKTYPE:'', PAY_USERTYPE:'',//网银支付类型 PAY_PAYLINKTYPETEXT:'',//文案 }, B2BbankData:[ {imgUrl:'/img/pay/iconbank-01@2x.png',bankName:'中国工商银行',B2bNum:'ICBC_B2B',B2cNum:'ICBC_B2C'}, {imgUrl:'/img/pay/iconbank-02@2x.png',bankName:'招商银行',B2bNum:'CMBCHINA_B2B',B2cNum:'CMBCHINA_B2C'}, {imgUrl:'/img/pay/iconbank-03@2x.png',bankName:'中国建设银行',B2bNum:'CCB_B2B',B2cNum:'CCB_B2C'}, {imgUrl:'/img/pay/iconbank-05@2x.png',bankName:'兴业银行',B2bNum:'CIB_B2B',B2cNum:'CIB_B2C'}, {imgUrl:'/img/pay/iconbank-06@2x.png',bankName:'中国民生银行',B2bNum:'CMBC_B2B',B2cNum:'CMBC_B2C'}, {imgUrl:'/img/pay/iconbank-07@2x.png',bankName:'中国光大银行',B2bNum:'CEB_B2B',B2cNum:'CEB_B2C'}, {imgUrl:'/img/pay/iconbank-08@2x.png',bankName:'中国银行',B2bNum:'BOC_B2B',B2cNum:'BOC_B2C'}, {imgUrl:'/img/pay/iconbank-09@2x.png',bankName:'平安银行',B2bNum:'SZPA_B2B',B2cNum:'SZPA_B2C'}, {imgUrl:'/img/pay/iconbank-10@2x.png',bankName:'中信银行',B2bNum:'ECITIC_B2B',B2cNum:'ECITIC_B2C'}, {imgUrl:'/img/pay/iconbank-11@2x.png',bankName:'上海浦东发展银行',B2bNum:'SPDB_B2B',B2cNum:'SPDB_B2C'}, {imgUrl:'/img/pay/iconbank-12@2x.png',bankName:'华夏银行',B2bNum:'HXB_B2B',B2cNum:'HXB_B2C'}, {imgUrl:'/img/pay/iconbank-13@2x.png',bankName:'北京银行',B2bNum:'BCCB_B2B',B2cNum:'BCCB_B2C'}, {imgUrl:'/img/pay/iconbank-14@2x.png',bankName:'中国农业银行',B2bNum:'ABC_B2B',B2cNum:'ABC_B2C'}, {imgUrl:'/img/pay/iconbank-15@2x.png',bankName:'中国邮政储蓄银行',B2bNum:'PSBC_B2B',B2cNum:'PSBC_B2C'}, {imgUrl:'/img/pay/iconbank-16@2x.png',bankName:'徽商银行',B2bNum:'HSB_B2B',B2cNum:'HSB_B2C'}, {imgUrl:'/img/pay/iconbank-17@2x.png',bankName:'青岛银行',B2bNum:'QDYH_B2B',B2cNum:'QDYH_B2C'}, {imgUrl:'/img/pay/iconbank-18@2x.png',bankName:'浙商银行',B2bNum:'CZ_B2B',B2cNum:'CZ_B2C'}, {imgUrl:'/img/pay/iconbank-19@2x.png',bankName:'齐鲁银行',B2bNum:'QLYH_B2B',B2cNum:'QLYH_B2C'}, {imgUrl:'/img/pay/iconbank-20@2x.png',bankName:'上海银行',B2bNum:'SHB_B2B',B2cNum:'SHB_B2C'}, {imgUrl:'/img/pay/iconbank-21@2x.png',bankName:'莱商银行',B2bNum:'ISBC_B2B',B2cNum:null}, {imgUrl:'/img/pay/iconbank-22@2x.png',bankName:'厦门银行',B2bNum:'XMCCB_B2B',B2cNum:null}, {imgUrl:'/img/pay/iconbank-23@2x.png',bankName:'晋商银行',B2bNum:null,B2cNum:'JSHB_B2C'} ], B2CbankData:[ {imgUrl:'/img/pay/iconbank-01@2x.png',bankName:'中国工商银行',B2bNum:'ICBC_B2B',B2cNum:'ICBC_B2C'}, {imgUrl:'/img/pay/iconbank-02@2x.png',bankName:'招商银行',B2bNum:'CMBCHINA_B2B',B2cNum:'CMBCHINA_B2C'}, {imgUrl:'/img/pay/iconbank-03@2x.png',bankName:'中国建设银行',B2bNum:'CCB_B2B',B2cNum:'CCB_B2C'}, {imgUrl:'/img/pay/iconbank-05@2x.png',bankName:'兴业银行',B2bNum:'CIB_B2B',B2cNum:'CIB_B2C'}, {imgUrl:'/img/pay/iconbank-06@2x.png',bankName:'中国民生银行',B2bNum:'CMBC_B2B',B2cNum:'CMBC_B2C'}, {imgUrl:'/img/pay/iconbank-07@2x.png',bankName:'中国光大银行',B2bNum:'CEB_B2B',B2cNum:'CEB_B2C'}, {imgUrl:'/img/pay/iconbank-08@2x.png',bankName:'中国银行',B2bNum:'BOC_B2B',B2cNum:'BOC_B2C'}, {imgUrl:'/img/pay/iconbank-09@2x.png',bankName:'平安银行',B2bNum:'SZPA_B2B',B2cNum:'SZPA_B2C'}, {imgUrl:'/img/pay/iconbank-10@2x.png',bankName:'中信银行',B2bNum:'ECITIC_B2B',B2cNum:'ECITIC_B2C'}, {imgUrl:'/img/pay/iconbank-11@2x.png',bankName:'上海浦东发展银行',B2bNum:'SPDB_B2B',B2cNum:'SPDB_B2C'}, {imgUrl:'/img/pay/iconbank-12@2x.png',bankName:'华夏银行',B2bNum:'HXB_B2B',B2cNum:'HXB_B2C'}, {imgUrl:'/img/pay/iconbank-13@2x.png',bankName:'北京银行',B2bNum:'BCCB_B2B',B2cNum:'BCCB_B2C'}, {imgUrl:'/img/pay/iconbank-14@2x.png',bankName:'中国农业银行',B2bNum:'ABC_B2B',B2cNum:'ABC_B2C'}, {imgUrl:'/img/pay/iconbank-15@2x.png',bankName:'中国邮政储蓄银行',B2bNum:'PSBC_B2B',B2cNum:'PSBC_B2C'}, {imgUrl:'/img/pay/iconbank-16@2x.png',bankName:'徽商银行',B2bNum:'HSB_B2B',B2cNum:'HSB_B2C'}, {imgUrl:'/img/pay/iconbank-17@2x.png',bankName:'青岛银行',B2bNum:'QDYH_B2B',B2cNum:'QDYH_B2C'}, {imgUrl:'/img/pay/iconbank-18@2x.png',bankName:'浙商银行',B2bNum:'CZ_B2B',B2cNum:'CZ_B2C'}, {imgUrl:'/img/pay/iconbank-19@2x.png',bankName:'齐鲁银行',B2bNum:'QLYH_B2B',B2cNum:'QLYH_B2C'}, {imgUrl:'/img/pay/iconbank-20@2x.png',bankName:'上海银行',B2bNum:'SHB_B2B',B2cNum:'SHB_B2C'}, {imgUrl:'/img/pay/iconbank-21@2x.png',bankName:'莱商银行',B2bNum:'ISBC_B2B',B2cNum:null}, {imgUrl:'/img/pay/iconbank-22@2x.png',bankName:'厦门银行',B2bNum:'XMCCB_B2B',B2cNum:null}, {imgUrl:'/img/pay/iconbank-23@2x.png',bankName:'晋商银行',B2bNum:null,B2cNum:'JSHB_B2C'} ], userName :'', goodList:'', freight :'', //运费 discountFee:'',//经理折扣 balancePayFee:'',//余额抵扣 payTotalFee: '', //合计 payableAmount:'',//本次支付金额 payment:'', //剩余支付金额 receiptAmount:'',//已支付金额 discernReceipt:'',//支付记录 discernReceiptList:[],//支付记录列表 orderProductList:[],//商品列表 paySuccessCounter:0, tabIndex:0, downHour:'00',//倒计时 downMinute:'00',//倒计分 downSecond:'00',//倒计秒 isSiled:false, mbOrderId:'', isRequest:false, isPayAlert:false, isErrorShow:false, iconErrorClass:'', iconErrorText:'', iconErrorMsgnone:'', organizeID:'', //组织机构id orderNo:'', //订单号 orderTotalFee:'', unpaidAmount:'' //真正的付款金额 }, filters: { NumFormat :function(value) { if(!value) return '0.00'; var intPart = Number(value) - Number(value)%1; //获取整数部分(这里是windy93的方法) var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //将整数部分逢三一断 var floatPart = ".00"; //预定义小数部分 var value2Array = value.toString().split("."); if(value2Array.length == 2) { //=2表示数据有小数位 floatPart = value2Array[1].toString(); //拿到小数部分 if(floatPart.length == 1) { //补0,实际上用不着 return intPartFormat + "." + floatPart + '0'; } else { return intPartFormat + "." + floatPart; } } else { return intPartFormat + floatPart; } } }, methods: { LinkInfoOrderBank:function(linkLogo){//初始化支付订单加密数据 var _self = this; PayApi.PayOrderLinkData({linkLogo:linkLogo},function(response){ if(response.code == 0){ var _data = response.data; console.log(_data); _self.payInfo.PAY_ORDERID = _data.orderPayLink.orderId; _self.payInfo.PAY_UNPAIDAMOUNT = _data.orderPayLink.unpaidAmount; _self.payInfo.PAY_TIME = decodeURI(_data.time); _self.payInfo.PAY_PAYLINKTYPE = _data.orderPayLink.payType; _self.payInfo.PAY_PAYLINKTYPETEXT = _self.payInfo.PAY_PAYLINKTYPE == '1' ? '企业网银' : '个人网银'; _self.payInfo.PAY_USERTYPE = _self.payInfo.PAY_PAYLINKTYPE == '1' ? 'ENTERPRISE' : 'USER'; _self.unpaidAmount = _data.orderPayLink.unpaidAmount; if(_data.code == 0){ setTimeout(function () { //支付倒计时 _self.countTime(_self.payInfo.PAY_TIME) }, 1000); _self.infoPayOrderCheckoutCounter(); }else{ _self.isErrorShow = true; _self.isRequest = true; switch (_self.payInfo.PAY_CODE) { case -2: _self.iconErrorClass = 'offline'; _self.iconErrorText = '订单已通过线下转账方式付款'; _self.iconErrorMsgnone = '不能再使用企业网银支付'; break; case -3: _self.iconErrorClass = 'fail'; _self.iconErrorText = '链接超过24小时未完成支付,已失效'; _self.iconErrorMsgnone = '请重新生成支付链接,继续支付'; break; case 5: _self.iconErrorClass = 'paid'; _self.iconErrorText = '款项已支付完成,无需重复支付'; _self.iconErrorMsgnone = ''; break; } } }else if(response.code == -1){ _self.isErrorShow = true; _self.isRequest = true; _self.iconErrorClass = 'again'; _self.iconErrorText = '链接已更新,请联系业务人员获取最新链接再进行支付'; _self.iconErrorMsgnone = ''; }else{ CAIMEI.Alert(response.msg,'确定',false); } }); }, infoPayOrderCheckoutCounter:function(){//初始化订单数据 var _self = this; PayApi.PayOrderCheckoutCounter({orderId:_self.payInfo.PAY_ORDERID},function(response){ console.log(response); if(response.code == 0){ var data = response.data; _self.discernReceiptList = data.discernReceipt; _self.orderProductList = data.orderProductList; _self.userName = data.userName; _self.freight = _self.freightText(data.order.freight); _self.discountFee = data.order.discountFee; _self.balancePayFee = data.order.balancePayFee; _self.payTotalFee = data.order.payTotalFee; _self.receiptAmount= data.order.receiptAmount; _self.payableAmount = _self.payInfo.PAY_UNPAIDAMOUNT; _self.organizeID = data.order.organizeID; _self.orderNo = data.order.orderNo; _self.orderTotalFee = data.order.orderTotalFee; if(data.order.status == '7'){ _self.payment = _self.toFixedFn(_self.payTotalFee - _self.payableAmount); }else{ _self.payment = _self.toFixedFn(_self.payTotalFee - _self.receiptAmount - _self.payableAmount); } _self.paySuccessCounter = data.order.paySuccessCounter; _self.isRequest = true; }else{ CAIMEI.Alert(response.msg,'确定',false); } }) }, PaySubmitFn:function(){//立即支付 var _self = this; if(_self.payInfo.PAY_BANK_NUM == ''){ layer.msg('请选择银行!'); return; } var params = { payWay:'UNIONPAY', payAmount: _self.payInfo.PAY_UNPAIDAMOUNT*100, bankCode:_self.payInfo.PAY_BANK_NUM, returnUrl:'https://www.caimei365.com/', orderId:_self.payInfo.PAY_ORDERID, userType:_self.payInfo.PAY_USERTYPE }; _self.PayOrderPcMallPay(params); }, PayOrderPcMallPay:function(params){//网银支付请求 var _self = this; _self.isSubMitStatus=true; PayApi.PayOrderPcMallPay(params,function(response){ if(response.code == 0){ _self.isPayAlert = true; _self.mbOrderId = response.data.data.mbOrderId; window.open(response.data.data.payUrl); _self.isSubMitStatus=false; }else{ CAIMEI.Alert(response.msg,'确定',false); _self.isSubMitStatus=false; } }) }, RefreshBody:function(){//刷新弹窗 var _self = this; _self.isPayAlert = false; PayApi.PayOrderFindOrderStatus({mbOrderId:_self.mbOrderId},function(response){ _self.isPayAlert = false; var data = response.data.data; if(data.status === '1'){ window.location.href = '/pay/success.html?pageType=wechat&type=success&payAmount='+ _self.payInfo.PAY_UNPAIDAMOUNT; }else{ window.location.href = '/pay/success.html?pageType=wechat&type=error&payAmount='+ _self.payInfo.PAY_UNPAIDAMOUNT; } }); }, changeTab:function(index,item){// 选择银行 this.tabIndex = index; if( this.payInfo.PAY_PAYLINKTYPE == '1'){ this.payInfo.PAY_BANK_NUM = item.B2bNum; }else{ this.payInfo.PAY_BANK_NUM = item.B2cNum; } }, slideToggleContent:function(){ this.isSiled = !this.isSiled; }, countTime:function(value){//支付链接倒计时 var _self = this; //获取当前时间 var date = new Date(); var now = date.getTime(); //设置截止时间 var endDate = new Date(value); var end = endDate.getTime(); //时间差 var differTime = end - now; //定义变量,h,m,s保存倒计时的时间 var h, m, s; if (differTime >= 0) { h = Math.floor(differTime / 1000 / 60 / 60); m = Math.floor(differTime / 1000 / 60 % 60); s = Math.floor(differTime / 1000 % 60); _self.downHour = h < 10 ? ("0" + h) : h; _self.downMinute = m < 10 ? ("0" + m) : m; _self.downSecond = s < 10 ? ("0" + s) : s; //递归调用函数所以是延时器不是定时器 setTimeout(function () { _self.countTime(value) }, 1000); } else { _self.downHour = '00'; _self.downMinute = '00'; _self.downSecond = '00'; } }, freightText:function (type) {//处理邮费显示 var text =""; if(type > 0){ text = '¥'+type.toFixed(2); }else if(type == -1){ text = '到付'; }else{ text = '包邮'; } return text }, payTypeText:function(state){//处理支付记录文字 var stateText = '', stateTextObject={ 12:'企业网银', 13:'微信支付', 14:'支付宝', 15:'微信支付', 16:'余额抵扣', }; Object.keys(stateTextObject).forEach(function(key) { if(key == state){ stateText = stateTextObject[key] } }); return stateText; }, toFixedFn:function(text){ return Number(text).toFixed(2); }, }, mounted: function () { var _self = this; _self.payInfo.PAY_LINKLOGO= CAIMEI.getUrlParam('linkLogo'); _self.LinkInfoOrderBank(_self.payInfo.PAY_LINKLOGO); } });