浏览代码

线上支付逻辑优化

yuwenjun1997 2 年之前
父节点
当前提交
3e77888b72

+ 17 - 7
src/main/resources/static/js/pay/caimei-hlbpay.js

@@ -6,7 +6,6 @@ var payContainer = new Vue({
     mixins: [hlbPayMixin,cmSysVitaMixins],
     data: {
         isSubMitStatus:false,
-        B2BpayFlag:1,//企业网银支付开关
         payInfo:{
             payBankNum: '', //支付类型
             shopOrderId: '',  //订单ID
@@ -52,10 +51,12 @@ var payContainer = new Vue({
         invoiceStatus:false,
         isReceiptStatus:false,
         onlinePay:'',
-        weChatFlag: true, // 微信支付是否启用
+        B2BpayFlag: false,//企业网银支付开关
+        is_Wechat_bowcr:false, // 是否是微信浏览器
+        weChatFlag: false, // 微信支付开关
+        aliPayFlag: false, // 支付宝支付开关
         payStatusText:'使用任何一种线上支付方式支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。若着急发货,可以选择使用线下转账进行付款。',
         productID:'',//发布商品的ID
-        is_Wechat_bowcr:false,
         comboInfo: null, //选中的svip套餐信息
         vipRecordId: undefined,
         couponRecordId:undefined,
@@ -99,10 +100,8 @@ var payContainer = new Vue({
             var _self = this;
             PayApi.PayOrderCheckoutShoporders({shopOrderId:_self.payInfo.shopOrderId},function(response){
                 if(response.code == 0){
-                    // console.log(response);
+                    console.log(response);
                     var data = response.data; //金额初始化
-                    _self.B2BpayFlag = data.B2BpayFlag;
-                    console.log('B2BpayFlag',_self.B2BpayFlag);
                     _self.payInfo.payAmount = (data.shopOrder.realPay - data.shopOrder.receiptAmount).toFixed(2);
                     _self.discernReceiptList = data.discernReceipt;// 支付记录
                     _self.payInfo.obligation = data.shopOrder.obligation;
@@ -113,14 +112,25 @@ var payContainer = new Vue({
                     _self.payAmount =  (_self.payableAmount - _self.receiptAmount).toFixed(2);
                     _self.paySuccessCounter = data.shopOrder.paySuccessCounter;
                     _self.onlinePay = data.onlinePay;
-                    _self.weChatFlag = data.weChatFlag === '1' // 微信支付
                     _self.isRequest = true;
+                    // 支付方式配置
+                    _self.checkPayMode(data.onlinePayWays)
                     _self.PayOrderOnLineSwitch();
                 }else{
                     CAIMEI.Alert(response.msg,'确定',false);
                 }
             })
         },
+        // 校验支付模式
+        checkPayMode: function(range){
+            // test range = '4'
+            // 1微信 2支付宝 3个人网银 4企业网银
+            this.weChatFlag = range.indexOf('1') > -1
+            this.aliPayFlag = range.indexOf('2') > -1
+            this.B2BpayFlag = range.indexOf('4') > -1
+            // 设置默认支付方式
+            this.mobileTabIndex = this.aliPayFlag ? 0 : this.weChatFlag ? 1 : this.B2BpayFlag ? 2 : 3
+        },
         getBankList:function () {// 获取网银支付银行列表
             var _self = this;
             PayApi.PayGetBankCode({},function(response){

+ 2 - 2
src/main/resources/templates/pay/caimei-hlbpay.html

@@ -99,7 +99,7 @@
                         </template>
                         <div class="pay-bank">
                             <div class="bank-list" id="mobileContent">
-                                <a v-if="!is_Wechat_bowcr" href="javascript:void(0);" class="bank-a mIcon" @click="checkMobilePay(0,'ALIPAY')" :class="{ active: mobileTabIndex === 0 }">
+                                <a v-if="!is_Wechat_bowcr && aliPayFlag" href="javascript:void(0);" class="bank-a mIcon" @click="checkMobilePay(0,'ALIPAY')" :class="{ active: mobileTabIndex === 0 }">
                                     <img src="/img/pay/iconbank-ali@2x.png" alt="支付宝支付">
                                 </a>
                                 <!-- 只有开启了微信支付才会显示 -->
@@ -111,7 +111,7 @@
                                         <img src="/img/pay/iconbank-wx@2x.png" alt="微信支付">
                                     </a>
                                 </template>
-                                <a v-if="B2BpayFlag === 1" href="javascript:void(0);" class="bank-a mIcon" @click="checkMobilePay(2,'ICBC_B2B')" :class="{ active: mobileTabIndex === 2 }">
+                                <a v-if="B2BpayFlag" href="javascript:void(0);" class="bank-a mIcon" @click="checkMobilePay(2,'ICBC_B2B')" :class="{ active: mobileTabIndex === 2 }">
                                     <img src="/img/pay/iconbank-B2Bbank@2x.png" alt="企业网银">
                                 </a>
                                 <a href="javascript:void(0);" class="bank-a mIcon" @click="checkMobilePay(3,'ICBC_B2C')" :class="{ active: mobileTabIndex === 3 }">