|
@@ -8,8 +8,8 @@ var payContainer = new Vue({
|
|
|
isSubMitStatus:false,
|
|
|
payInfo:{
|
|
|
payBankNum: 'ICBC_B2B', //支付类型
|
|
|
- payOrderId: '', //订单ID
|
|
|
- payUnpaidaMount: '', //待支付金额
|
|
|
+ shopOrderId: '', //订单ID
|
|
|
+ obligation: '', //待支付金额
|
|
|
payAmount: 0,//本次支付金额
|
|
|
payMobileUrl: '',//二维码生成链接
|
|
|
payData:{}, //支付数据
|
|
@@ -18,7 +18,8 @@ var payContainer = new Vue({
|
|
|
},
|
|
|
iframe:'',
|
|
|
couponInfo:{},
|
|
|
- bankListData:[],
|
|
|
+ bankListB2BData:[],// 企业网银银行列表
|
|
|
+ bankListB2CData:[],// 个人网银银行列表
|
|
|
methodTab:['线上支付','转账支付'],
|
|
|
mobileData:[
|
|
|
{imgUrl:'/img/pay/iconbank-ali@2x.png',bankName:'支付宝支付',bankNum:'ALIPAY'},
|
|
@@ -27,7 +28,7 @@ var payContainer = new Vue({
|
|
|
{imgUrl:'/img/pay/iconbank-B2Cbank@2x.png',bankName:'个人网银',bankNum:'ICBC_B2C'}
|
|
|
],
|
|
|
pageType:'',//页面跳转类型 1 二手支付
|
|
|
- paidAmount:'',//订单待付金额
|
|
|
+ obligation:'',//订单待付金额
|
|
|
payableAmount:'',//应付金额
|
|
|
receiptAmount:'',//已支付金额
|
|
|
balanceAmount:'',//应付剩余金额
|
|
@@ -46,8 +47,6 @@ var payContainer = new Vue({
|
|
|
isPaySwitch:false,
|
|
|
paySuccessCounter:'',
|
|
|
bankPayLink_url:'',
|
|
|
- orderIdentificationId:'',//订单标识
|
|
|
- receiptStatus:'',
|
|
|
invoiceStatus:false,
|
|
|
isReceiptStatus:false,
|
|
|
onlinePay:'',
|
|
@@ -93,30 +92,22 @@ var payContainer = new Vue({
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- infoPayOrderCheckoutCounter:function(){//初始化订单数据
|
|
|
+ infoPayOrderCheckoutCounter:function(){//初始化子订单数据
|
|
|
var _self = this;
|
|
|
- PayApi.PayOrderCheckoutCounter({orderId:_self.payInfo.payOrderId},function(response){
|
|
|
+ PayApi.PayOrderCheckoutShoporders({shopOrderId:_self.payInfo.shopOrderId},function(response){
|
|
|
if(response.code == 0){
|
|
|
// console.log(response);
|
|
|
var data = response.data; //金额初始化
|
|
|
- _self.payInfo.payUnpaidaMount = (data.order.payableAmount - data.order.receiptAmount).toFixed(2);
|
|
|
- _self.payInfo.payAmount = (data.order.payableAmount-data.order.receiptAmount).toFixed(2);
|
|
|
- _self.discernReceiptList = data.discernReceipt;
|
|
|
- _self.paidAmount = (data.order.payableAmount-data.order.receiptAmount).toFixed(2);
|
|
|
- _self.receiptAmount = data.order.receiptAmount;
|
|
|
- _self.payableAmount= data.order.payableAmount;
|
|
|
- _self.balanceAmount = ( _self.payableAmount - _self.receiptAmount).toFixed(2) - _self.payInfo.payAmount;
|
|
|
- _self.payAmount = (_self.payableAmount - _self.receiptAmount).toFixed(2);//本次支付金额
|
|
|
- _self.paySuccessCounter = data.order.paySuccessCounter;
|
|
|
- _self.receiptStatus = data.order.receiptStatus;
|
|
|
+ _self.payInfo.payAmount = (data.shopOrder.realPay - data.shopOrder.receiptAmount).toFixed(2);
|
|
|
+ _self.discernReceiptList = data.discernReceipt;// 支付记录
|
|
|
+ _self.payInfo.obligation = data.shopOrder.obligation;
|
|
|
+ _self.obligation = data.shopOrder.obligation;// 待付金额
|
|
|
+ _self.payableAmount = data.shopOrder.realPay;
|
|
|
+ _self.receiptAmount = data.shopOrder.receiptAmount;
|
|
|
+ _self.balanceAmount = ( _self.obligation - _self.receiptAmount).toFixed(2) - _self.payInfo.payAmount;
|
|
|
+ _self.payAmount = (_self.payableAmount - _self.receiptAmount).toFixed(2);
|
|
|
+ _self.paySuccessCounter = data.shopOrder.paySuccessCounter;
|
|
|
_self.onlinePay = data.onlinePay;
|
|
|
- if(_self.receiptAmount>0){
|
|
|
- _self.payStatusText = '使用任何一种线上支付方式支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。若着急发货,可以选择使用线下转账进行付款。';
|
|
|
- _self.isReceiptStatus = false;
|
|
|
- }else{
|
|
|
- _self.payStatusText = '使用任何一种线上支付方式支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。若着急发货,可以选择使用线下转账进行付款。';
|
|
|
- _self.isReceiptStatus = true;
|
|
|
- }
|
|
|
_self.isRequest = true;
|
|
|
_self.PayOrderOnLineSwitch();
|
|
|
}else{
|
|
@@ -128,7 +119,8 @@ var payContainer = new Vue({
|
|
|
var _self = this;
|
|
|
PayApi.PayGetBankCode({},function(response){
|
|
|
if(response.code == 0){
|
|
|
- _self.bankListData = response.data.list;
|
|
|
+ _self.bankListB2BData = response.data.B2B;
|
|
|
+ _self.bankListB2CData = response.data.B2C;
|
|
|
}else{
|
|
|
console.log('获取网银支付银行列表异常')
|
|
|
}
|
|
@@ -145,7 +137,7 @@ var payContainer = new Vue({
|
|
|
return;
|
|
|
}
|
|
|
CAIMEI.Alert('线上支付功能正在维护中,请前往订单详情页面查看线下转账方式后进行付款','确定',true,function(){
|
|
|
- window.location.href='/user/order/detail.html?orderId='+_self.payInfo.payOrderId;
|
|
|
+ window.location.href='/user/order/detail.html?orderId='+_self.payInfo.shopOrderId;
|
|
|
});
|
|
|
}
|
|
|
}else{
|
|
@@ -162,53 +154,49 @@ var payContainer = new Vue({
|
|
|
if(_self.pageType === '3'){// 移动支付优惠券
|
|
|
_self.PayCouponMiniPayFn();
|
|
|
}else{
|
|
|
- if(_self.onlinePay == 2){
|
|
|
- _self.layerConfirm();
|
|
|
- }else{
|
|
|
- if(_self.payInfo.payBankNum == ''){
|
|
|
- CAIMEI.dialog('请选择支付方式');
|
|
|
- return;
|
|
|
- }
|
|
|
- if(_self.payAmount == ''){
|
|
|
- CAIMEI.dialog('请输入本次支付金额');
|
|
|
- return;
|
|
|
- }
|
|
|
- if(_self.payAmount == 0){
|
|
|
- CAIMEI.dialog('本次支付金额不能为0');
|
|
|
- return;
|
|
|
- }
|
|
|
- if(_self.payAmount*100 < 2){
|
|
|
- CAIMEI.dialog('本次支付金额必须大于¥0.02');
|
|
|
- return;
|
|
|
+ if(_self.payInfo.payBankNum == ''){
|
|
|
+ CAIMEI.dialog('请选择支付方式');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(_self.payAmount == ''){
|
|
|
+ CAIMEI.dialog('请输入本次支付金额');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(_self.payAmount == 0){
|
|
|
+ CAIMEI.dialog('本次支付金额不能为0');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(_self.payAmount*100 < 2){
|
|
|
+ CAIMEI.dialog('本次支付金额必须大于¥0.02');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(_self.payAmount > _self.paymentIimit){
|
|
|
+ switch (_self.payInfo.payBankNum) {
|
|
|
+ case 'WEIXIN':
|
|
|
+ _self.paymentIimitText = '本次支付金额已超出微信支付限额,请输入小于5千的金额进行支付';
|
|
|
+ break;
|
|
|
+ case 'ALIPAY':
|
|
|
+ _self.paymentIimitText = '本次支付金额已超出支付宝限额,请输入小于5千的金额进行支付';
|
|
|
+ break;
|
|
|
}
|
|
|
- if(_self.payAmount > _self.paymentIimit){
|
|
|
- switch (_self.payInfo.payBankNum) {
|
|
|
- case 'WEIXIN':
|
|
|
- _self.paymentIimitText = '本次支付金额已超出微信支付限额,请输入小于5千的金额进行支付';
|
|
|
- break;
|
|
|
- case 'ALIPAY':
|
|
|
- _self.paymentIimitText = '本次支付金额已超出支付宝限额,请输入小于5千的金额进行支付';
|
|
|
- break;
|
|
|
- }
|
|
|
- CAIMEI.Alert(_self.paymentIimitText,'知道了');
|
|
|
- return;
|
|
|
+ CAIMEI.Alert(_self.paymentIimitText,'知道了');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(_self.payInfo.payBankNum == "WEIXIN"){// 微信
|
|
|
+ if(_self.pageType === '1'){ // 二手
|
|
|
+ _self.hlb_PaySecondMiniWxPay();
|
|
|
+ }else if(_self.pageType === '2'){ // 会员
|
|
|
+ _self.hlb_PayVipMiniWxPay();
|
|
|
+ }else{ // 正常订单
|
|
|
+ _self.hlb_PayOrderMiniWxPay();
|
|
|
}
|
|
|
- if(_self.payInfo.payBankNum == "WEIXIN"){// 微信
|
|
|
- if(_self.pageType === '1'){ // 二手
|
|
|
- _self.hlb_PaySecondMiniWxPay();
|
|
|
- }else if(_self.pageType === '2'){ // 会员
|
|
|
- _self.hlb_PayVipMiniWxPay();
|
|
|
- }else{ // 正常订单
|
|
|
- _self.hlb_PayOrderMiniWxPay();
|
|
|
- }
|
|
|
- }else if(_self.payInfo.payBankNum == "ALIPAY"){// 支付宝
|
|
|
- if(_self.pageType === '1'){// 二手
|
|
|
- _self.hlb_PayOrdersecondScanAliPay();
|
|
|
- }else if(_self.pageType === '2'){ // 会员
|
|
|
- _self.hlb_PayVipScanAliPay();
|
|
|
- }else{// 正常订单
|
|
|
- _self.hlb_PayOrderPcScanAliPay();
|
|
|
- }
|
|
|
+ }else if(_self.payInfo.payBankNum == "ALIPAY"){// 支付宝
|
|
|
+ if(_self.pageType === '1'){// 二手
|
|
|
+ _self.hlb_PayOrdersecondScanAliPay();
|
|
|
+ }else if(_self.pageType === '2'){ // 会员
|
|
|
+ _self.hlb_PayVipScanAliPay();
|
|
|
+ }else{// 正常订单
|
|
|
+ _self.hlb_PayOrderPcScanAliPay();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -222,24 +210,20 @@ var payContainer = new Vue({
|
|
|
if(_self.pageType === '3'){// 网银支付优惠券
|
|
|
_self.hlb_PayCouponUnionPayFn();
|
|
|
}else{
|
|
|
- if(_self.onlinePay == 2){
|
|
|
- _self.layerConfirm();
|
|
|
- }else{
|
|
|
- if(_self.payInfo.payBankNum == ''){
|
|
|
- CAIMEI.dialog('请选择银行!');
|
|
|
- return;
|
|
|
- }
|
|
|
- if(_self.payAmount <= 10){
|
|
|
- CAIMEI.dialog('网银支付的金额必须大于¥10.00');
|
|
|
- return;
|
|
|
- }
|
|
|
- if(_self.pageType === '1'){// 二手
|
|
|
- _self.hlb_PayOrdersecondUnion();
|
|
|
- } else if (_self.pageType === '2') { // 会员
|
|
|
- _self.hlb_PayVipPcMallPay();
|
|
|
- } else {// 正常订单
|
|
|
- _self.hlb_PayOrderPcMallPay();
|
|
|
- }
|
|
|
+ if(_self.payInfo.payBankNum == ''){
|
|
|
+ CAIMEI.dialog('请选择银行!');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(_self.payAmount <= 10){
|
|
|
+ CAIMEI.dialog('网银支付的金额必须大于¥10.00');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(_self.pageType === '1'){// 二手
|
|
|
+ _self.hlb_PayOrdersecondUnion();
|
|
|
+ } else if (_self.pageType === '2') { // 会员
|
|
|
+ _self.hlb_PayVipPcMallPay();
|
|
|
+ } else {// 正常订单
|
|
|
+ _self.hlb_PayOrderPcMallPay();
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -256,17 +240,17 @@ var payContainer = new Vue({
|
|
|
var value = event.target.value;
|
|
|
if(value == "" || value <0 ){//判断是否等于0 或者为空
|
|
|
_self.payAmount = '';
|
|
|
- _self.payInfo.payAmount = _self.payInfo.payUnpaidaMount;
|
|
|
- _self.balanceAmount = _self.toFixedFn(_self.payInfo.payUnpaidaMount);
|
|
|
+ _self.payInfo.payAmount = _self.payInfo.obligation;
|
|
|
+ _self.balanceAmount = _self.toFixedFn(_self.payInfo.obligation);
|
|
|
return;
|
|
|
- }else if(Number(value) > _self.payInfo.payUnpaidaMount){//判断大于应付金额
|
|
|
- _self.payAmount = _self.payInfo.payUnpaidaMount;
|
|
|
+ }else if(Number(value) > _self.payInfo.obligation){//判断大于应付金额
|
|
|
+ _self.payAmount = _self.payInfo.obligation;
|
|
|
_self.payInfo.payAmount = _self.payAmount;
|
|
|
- _self.balanceAmount = _self.toFixedFn(_self.payInfo.payUnpaidaMount-_self.payInfo.payAmount);
|
|
|
+ _self.balanceAmount = _self.toFixedFn(_self.payInfo.obligation-_self.payInfo.payAmount);
|
|
|
}else{
|
|
|
_self.payAmount = value;
|
|
|
_self.payInfo.payAmount = _self.payAmount;
|
|
|
- _self.balanceAmount = _self.toFixedFn(_self.payInfo.payUnpaidaMount-_self.payInfo.payAmount);
|
|
|
+ _self.balanceAmount = _self.toFixedFn(_self.payInfo.obligation-_self.payInfo.payAmount);
|
|
|
}
|
|
|
},
|
|
|
changePayAmountBlur:function(event){//失去焦点设置金额
|
|
@@ -294,11 +278,13 @@ var payContainer = new Vue({
|
|
|
_self.bankTabIndex = 0
|
|
|
_self.payInfo.payType = '1';
|
|
|
_self.payInfo.payUserType = 'B2B';
|
|
|
+ _self.payInfo.payBankNum = _self.bankListB2BData[0].b2B;
|
|
|
break;
|
|
|
case 3:// 个人网银
|
|
|
_self.bankTabIndex = 0
|
|
|
_self.payInfo.payType = '2';
|
|
|
_self.payInfo.payUserType = 'B2C';
|
|
|
+ _self.payInfo.payBankNum = _self.bankListB2CData[0].b2C;
|
|
|
break;
|
|
|
}
|
|
|
},
|
|
@@ -320,47 +306,33 @@ var payContainer = new Vue({
|
|
|
CAIMEI.dialog('支付系统遇到点小问题,请稍后重试', false);
|
|
|
return;
|
|
|
}
|
|
|
- if(_self.onlinePay == 2){
|
|
|
- _self.layerConfirm();
|
|
|
- }else{
|
|
|
- if(_self.payAmount == ''){
|
|
|
- CAIMEI.dialog('请输入本次支付金额');
|
|
|
- return;
|
|
|
- }
|
|
|
- if(_self.payAmount == 0){
|
|
|
- CAIMEI.dialog('本次支付金额不能为0');
|
|
|
- return;
|
|
|
- }
|
|
|
- if(_self.payAmount <= 10){
|
|
|
- CAIMEI.dialog('网银支付的金额必须大于¥12.00');
|
|
|
- return;
|
|
|
+ if(_self.payAmount == ''){
|
|
|
+ CAIMEI.dialog('请输入本次支付金额');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(_self.payAmount == 0){
|
|
|
+ CAIMEI.dialog('本次支付金额不能为0');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(_self.payAmount <= 10){
|
|
|
+ CAIMEI.dialog('网银支付的金额必须大于¥12.00');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var params = {};
|
|
|
+ if(_self.pageType == 2){
|
|
|
+ params = {
|
|
|
+ unpaidAmount:_self.payAmount,
|
|
|
+ vipRecordId: _self.vipRecordId,
|
|
|
+ payType:_self.payInfo.payType,
|
|
|
}
|
|
|
- var params = {};
|
|
|
- if(_self.pageType == 2){
|
|
|
- params = {
|
|
|
- unpaidAmount:_self.payAmount,
|
|
|
- vipRecordId: _self.vipRecordId,
|
|
|
- payType:_self.payInfo.payType,
|
|
|
- }
|
|
|
- }else{
|
|
|
- params = {
|
|
|
- unpaidAmount:_self.payAmount,
|
|
|
- orderId:_self.payInfo.payOrderId,
|
|
|
- payType:_self.payInfo.payType
|
|
|
- }
|
|
|
+ }else{
|
|
|
+ params = {
|
|
|
+ unpaidAmount:_self.payAmount,
|
|
|
+ shopOrderId:_self.payInfo.shopOrderId,
|
|
|
+ payType:_self.payInfo.payType
|
|
|
}
|
|
|
- _self.hlb_CopyLinkPaySubmitFn(params)
|
|
|
}
|
|
|
- },
|
|
|
- copyOrderBtnSubmitFn:function(){//复制订单标识
|
|
|
- var _self = this;
|
|
|
- var oInput = document.createElement("textarea");
|
|
|
- oInput.value = _self.orderIdentificationId;
|
|
|
- document.body.appendChild(oInput);
|
|
|
- oInput.select(); // 选择对象
|
|
|
- document.execCommand("Copy"); // 执行浏览器复制命令
|
|
|
- document.body.removeChild(oInput);
|
|
|
- CAIMEI.dialog('复制成功');
|
|
|
+ _self.hlb_CopyLinkPaySubmitFn(params)
|
|
|
},
|
|
|
hidePayAlert:function(){//隐藏已支付弹窗
|
|
|
var _self = this;
|
|
@@ -388,7 +360,7 @@ var payContainer = new Vue({
|
|
|
}
|
|
|
});
|
|
|
}else{
|
|
|
- PayApi.PayOrderPayWhetherSuccess({orderId: _self.payInfo.payOrderId, paySuccessCounter:_self.paySuccessCounter},function(response){
|
|
|
+ PayApi.PayOrderPayWhetherSuccess({orderId: _self.payInfo.shopOrderId, paySuccessCounter:_self.paySuccessCounter},function(response){
|
|
|
_self.isPayAlert = false;
|
|
|
if(response.code === 0){
|
|
|
_self.windowLocationHref('success');
|
|
@@ -420,7 +392,7 @@ var payContainer = new Vue({
|
|
|
},1000)
|
|
|
}else{
|
|
|
setTimeout(()=>{
|
|
|
- window.location.href = '/pay/success.html?pageType=unionPay&type=error&payAmount='+_self.payAmount+'&orderId='+_self.payInfo.payOrderId;
|
|
|
+ window.location.href = '/pay/success.html?pageType=unionPay&type=error&payAmount='+_self.payAmount+'&orderId='+_self.payInfo.shopOrderId;
|
|
|
},1000)
|
|
|
}
|
|
|
});
|
|
@@ -457,13 +429,6 @@ var payContainer = new Vue({
|
|
|
toFixedFn:function(text){//处理小数点后两位数
|
|
|
return Number(text).toFixed(2);
|
|
|
},
|
|
|
- layerConfirm:function(){
|
|
|
- var _self = this;
|
|
|
- CAIMEI.Alert('本次交易暂不支持线上支付,请使用线下转账方式付款。','知道了',true,function () {
|
|
|
- _self.payStatusText = '使用任何一种线上支付方式支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。若着急发货,可以选择使用线下转账进行付款。';
|
|
|
- _self.isReceiptStatus = true;
|
|
|
- });
|
|
|
- }
|
|
|
},
|
|
|
mounted: function () {
|
|
|
var _self = this;
|
|
@@ -491,15 +456,7 @@ var payContainer = new Vue({
|
|
|
this.PayOrderOnLineSwitch();
|
|
|
this.getBankList();
|
|
|
}else{
|
|
|
- var HrefType = CAIMEI.getUrlParam('type');
|
|
|
- if (HrefType == 'payfirm') {
|
|
|
- this.payInfo.payOrderId = CAIMEI.getUrlParam('orderId');
|
|
|
- this.orderIdentificationId = '#' + this.payInfo.payOrderId + '#';
|
|
|
- } else {
|
|
|
- var data = JSON.parse(localStorage.getItem("confirmOrderInfo"));
|
|
|
- this.payInfo.payOrderId = data.data.orderId;
|
|
|
- this.orderIdentificationId = '#' + this.payInfo.payOrderId + '#';
|
|
|
- }
|
|
|
+ this.payInfo.shopOrderId = CAIMEI.getUrlParam('shopOrderId');
|
|
|
// 获取银行列表
|
|
|
this.getBankList();
|
|
|
//正常订单初始化
|