123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 |
- /**
- *Created by ZHJY on 2020/7/14.
- */
- var payContainer = new Vue({
- el:"#payContainer",
- data: {
- loginLoading:true,
- payInfo:{
- payType:'',//支付类型 WEIXIN 微信支付 ALIPAY 支付宝支付
- shopOrderId:'', //订单ID
- payAmount:0,
- payUnpaidAmount:0,//本次支付金额
- payMobileUrl:'',//URL
- },
- orderNo:'',//订单编号
- shopName:'',// 收款方
- payableAmount:'',//应付金额
- receiptAmount:'',//已支付金额
- balanceAmount:'',//应付剩余金额
- payAmount:'',//本次支付金额
- discernReceiptList:[],//支付记录列表
- tabIndex:0,//支付方式 0 移动支付 1网银支付 2线下转账
- paySuccessCounter:'',
- mobileTabIndex:0,
- bankTabIndex:0,
- isRequest:false,
- isRefresh:false,
- maxtime:300,
- pageType:'',//页面跳转类型
- productID:'',//商品ID
- duration: 0, // 购买的会员期限
- mbOrderId:0,
- orderFlag:1,// 是否是订单 0非订单 1订单
- couponRecordId:0,
- vipId: null, // vip套餐id
- vipRecordId: undefined,
- couponId:0,
- userId:0
- },
- 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: {
- infoPayOrderCheckoutCounter:function(){//初始化订单数据
- var _self = this;
- if( _self.pageType === '1' || _self.pageType === '2' || _self.pageType === '3'){
- console.log('1111111111111')
- setTimeout(function(){
- switch (_self.payInfo.payType) {
- case 'WEIXIN':
- _self.getWrchatQrcodeShow();
- break;
- case 'ALIPAY':
- _self.getAliPayQrcodeInfo();
- break;
- }
- }, 2000);
- } else {
- console.log('22222222222')
- PayApi.PayOrderCheckoutShoporders({shopOrderId:_self.payInfo.shopOrderId},function(response){
- if(response.code == 0){
- // console.log(response);
- var data = response.data;
- _self.orderNo = data.shopOrder.orderNo;
- _self.shopName = data.shopOrder.shopName;
- _self.paySuccessCounter = data.shopOrder.paySuccessCounter;
- _self.payInfo.payAmount = data.shopOrder.realPay - data.shopOrder.receiptAmount;
- switch (_self.payInfo.payType) {
- case 'WEIXIN':
- _self.getWrchatQrcodeShow();
- break;
- case 'ALIPAY':
- _self.getAliPayQrcodeInfo();
- break;
- }
- }else{
- CAIMEI.Alert(response.msg,'确定',false);
- }
- })
- }
- },
- getAliPayQrcodeInfo:function(){//生成支付宝二维码
- var _self = this;
- var qrcode = new QRCode(document.getElementById("ali_pay_container"), {
- render: "canvas", //也可以替换为table
- text: _self.payInfo.payMobileUrl,
- width: 220,
- height: 220,
- colorDark : "#000000",
- colorLight : "#ffffff",
- correctLevel : QRCode.CorrectLevel.H
- });
- _self.loginLoading = false;
- _self.isRequest = true;
- var timeClock = setInterval(function(){
- _self.maxtime--;
- if (_self.maxtime == 0) {
- clearInterval(timeClock);
- _self.isRefresh = true;
- }
- },1000);
- _self.setTimerAliPay();
- },
- getWrchatQrcodeShow:function(){//生成微信二维码
- var _self = this;
- var orderInfo = {};
- if( _self.pageType === '1'){
- orderInfo = {//二手微信二维码参数
- pageType:1,
- productId:_self.productID,
- payAmount:_self.payAmount
- };
- } else if (_self.pageType === '2') { // 微信支付会员
- console.log('微信支付会员');
- orderInfo = {
- pageType: 2,
- payAmount: _self.payAmount,
- vipId: _self.vipId,
- vipRecordId: _self.vipRecordId
- };
- } else if (_self.pageType === '3') { // 微信支付优惠券
- console.log('微信支付优惠券');
- orderInfo = {
- pageType: 3,
- payAmount: _self.payAmount,
- couponId: _self.couponId,
- couponRecordId:_self.couponRecordId,
- userId : _self.userId
- };
- } else {
- orderInfo = {//普通订单微信二维码参数
- pageType:0,
- shopOrderId:_self.payInfo.shopOrderId,
- payAmount:_self.payAmount
- };
- }
- // _self.payInfo.payMobileUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx91c4152b60ca91a3&redirect_uri=https://www-b.caimei365.com/pay/wechatpay.html&response_type=code&scope=snsapi_base&state="+JSON.stringify(orderInfo)+"#wechat_redirect";
- _self.payInfo.payMobileUrl = 'https://www-b.caimei365.com/wxcode.html?orderInfo='+encodeURIComponent(JSON.stringify(orderInfo));
- console.log(_self.payInfo.payMobileUrl);
- window.open(_self.payInfo.payMobileUrl)
- var qrcode = new QRCode(document.getElementById("wx_pay_container"), {
- render: "canvas", //也可以替换为table
- text: _self.payInfo.payMobileUrl,
- width: 220,
- height: 220,
- colorDark : "#000000",
- colorLight : "#ffffff",
- correctLevel : QRCode.CorrectLevel.H
- });
- _self.loginLoading = false;
- _self.isRequest = true;
- var timeClock = setInterval(function(){
- _self.maxtime--;
- if (_self.maxtime == 0) {
- clearInterval(timeClock);
- _self.isRefresh = true;
- }
- },1000);
- _self.setTimerWechatPay();
- },
- setTimerWechatPay:function () {//定时任务查询微信支付结果
- var _self = this;
- var timer;
- if(_self.pageType === '2'){//超级会员支付结果
- PayApi.PayOrderPayVipCheck({recordId : _self.vipRecordId},function(response){
- // console.log(response);
- if(response.code === 0){
- CAIMEI.dialog('支付成功');
- clearTimeout(timer); //清理定时任务
- setTimeout(function(){
- window.location.href = '/index.html';
- },2000);
- }else{
- timer = setTimeout(function(){
- _self.setTimerWechatPay()
- }, 1000*10);
- }
- });
- }else if(_self.pageType === '3'){//优惠券支付结果
- PayApi.PayOrderPayCouponCheck({ couponRecordId: _self.couponRecordId },function(response){
- // console.log(response);
- if(response.code === 0){
- CAIMEI.dialog('支付成功');
- clearTimeout(timer); //清理定时任务
- setTimeout(function(){
- window.location.href = '/index.html';
- },2000);
- }else{
- timer = setTimeout(function(){
- _self.setTimerWechatPay()
- }, 1000*10);
- }
- });
- }else{
- PayApi.PayOrderPayWhetherSuccess({orderId: _self.payInfo.shopOrderId, paySuccessCounter:_self.paySuccessCounter,shopOrderId:_self.payInfo.shopOrderId},function(response){
- // console.log(response);
- if(response.code === 0){
- CAIMEI.dialog('支付成功');
- clearTimeout(timer); //清理定时任务
- setTimeout(function(){
- window.location.href = '/index.html';
- },2000);
- }else{
- timer = setTimeout(function(){
- _self.setTimerWechatPay()
- }, 1000*10);
- }
- });
- }
- },
- setTimerAliPay:function () {//定时任务查询支付宝支付结果
- var _self = this;
- var timer;
- PayApi.PayOrderFindOrderStatus({mbOrderId:_self.mbOrderId,orderFlag:_self.orderFlag,shopOrderId:_self.payInfo.shopOrderId},function(response){
- var data = response.data;
- if(data.rt7_orderStatus === 'SUCCESS'){
- CAIMEI.dialog('支付成功');
- clearTimeout(timer); //清理定时任务
- setTimeout(function(){
- window.location.href = '/index.html';
- },3000);
- }else{
- timer = setTimeout(function(){
- _self.setTimerAliPay()
- }, 1000*10);
- }
- });
- },
- hidePayAlert:function(){//隐藏已支付弹窗
- var _self = this;
- _self.isPayAlert = false;
- },
- toFixedFn:function(text){//处理小数点后两位数
- return Number(text).toFixed(2);
- },
- },
- mounted: function () {
- var _self = this;
- var payData = JSON.parse(CAIMEI.Storage.getItem('payData'));
- _self.pageType = CAIMEI.getUrlParam('pageType');
- _self.duration = CAIMEI.getUrlParam('duration');
- if( _self.pageType === '1'){//二手
- console.log('二手商品');
- _self.payInfo.payType = payData.type;
- _self.orderFlag = 0;
- _self.productID = payData.productId;
- _self.payInfo.payMobileUrl = payData.url;
- _self.mbOrderId = payData.mbOrderId;
- _self.payAmount = _self.payableAmount = payData.amount;
- }else if(_self.pageType === '2'){// 超级会员
- _self.payInfo.payType = payData.type;
- _self.orderFlag = 0;
- _self.payAmount = _self.payableAmount = payData.amount;
- _self.mbOrderId = payData.mbOrderId;
- _self.payInfo.payMobileUrl = payData.url;
- _self.vipId = payData.vipId;
- _self.vipRecordId = payData.vipRecordId;
- if(!_self.duration) { // 微信支付获取会员开通月份
- _self.duration = payData.duration;
- }
- }else if(_self.pageType === '3'){// 优惠券
- _self.payInfo.payType = payData.type;
- _self.orderFlag = 0;
- _self.payAmount = _self.payableAmount = payData.amount;
- _self.mbOrderId = payData.mbOrderId;
- _self.couponRecordId = payData.couponRecordId;
- _self.payInfo.payMobileUrl = payData.url;
- _self.couponId = payData.couponId;
- _self.userId = payData.userId;
- }else{
- console.log('订单支付');
- _self.payInfo.payType = payData.type;
- _self.orderFlag = 1;
- _self.mbOrderId = payData.mbOrderId;
- _self.payInfo.shopOrderId = payData.shopOrderId;
- _self.payInfo.payUnpaidAmount = payData.amount;
- _self.payInfo.payMobileUrl = payData.url;
- _self.payAmount =_self.payableAmount = _self.payInfo.payUnpaidAmount;
- }
- console.log(_self.payInfo.payType);
- _self.infoPayOrderCheckoutCounter();
- }
- });
|