Browse Source

线上支付

zhengjinyi 5 years ago
parent
commit
8ec653e432

+ 2 - 0
pages/user/order/create-order.vue

@@ -159,8 +159,10 @@
 					this.hanldFreight = response.data.freight
 					this.hanldFreight = response.data.freight
 					if(this.hanldFreePostFlag == 1){
 					if(this.hanldFreePostFlag == 1){
 						this.payAllPrice = this.allPrice + response.data.freight
 						this.payAllPrice = this.allPrice + response.data.freight
+						this.attributePallPrice()
 					}else{
 					}else{
 						this.payAllPrice = this.allPrice
 						this.payAllPrice = this.allPrice
+						this.attributePallPrice()
 					}
 					}
 				})
 				})
 			},
 			},

+ 30 - 16
pages/user/order/order-pay.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-	<view class="container cashier"  @touchmove.stop.prevent="discard" @tap="hideKeyboard" v-show="isRepuest">
+	<view class="container cashier"  v-show="isRepuest">
 		<cu-custom :navbar-data='nvabarData' @navigateBack="hanldNavigateBack"></cu-custom>
 		<cu-custom :navbar-data='nvabarData' @navigateBack="hanldNavigateBack"></cu-custom>
 		<view class="container-cash clearfix" :style="{marginTop:CustomBar+'px'}">
 		<view class="container-cash clearfix" :style="{marginTop:CustomBar+'px'}">
 			<view class="container-wrapper">
 			<view class="container-wrapper">
@@ -7,16 +7,16 @@
 					<view class="pay-top">
 					<view class="pay-top">
 						<view class="pay-paid">
 						<view class="pay-paid">
 							<text class="txt-m">待付金额</text>
 							<text class="txt-m">待付金额</text>
-							<text class="txt-b"><text class="small">¥</text>{{payableAmount|NumFormat}}</text>
+							<text class="txt-b"><text class="small">¥</text>{{payableAmount | NumFormat}}</text>
 						</view>
 						</view>
 						<view class="pay-payd">
 						<view class="pay-payd">
 							<view class="pay-paids">
 							<view class="pay-paids">
 								<text class="txt-m">应付总额</text>
 								<text class="txt-m">应付总额</text>
-								<text class="txt-b">¥{{payTotalFee|NumFormat}}</text>
+								<text class="txt-b">¥{{payableAmount | NumFormat}}</text>
 							</view>
 							</view>
 							<view class="pay-paids">
 							<view class="pay-paids">
 								<text class="txt-m">已支付金额</text>
 								<text class="txt-m">已支付金额</text>
-								<text class="txt-b">¥{{receiptAmount|NumFormat}}</text>
+								<text class="txt-b">¥{{receiptAmount | NumFormat}}</text>
 							</view>
 							</view>
 						</view>
 						</view>
 					</view>
 					</view>
@@ -41,7 +41,7 @@
 						</view>
 						</view>
 					</view>
 					</view>
 				</view>
 				</view>
-				<view class="pay-record">
+				<view class="pay-record" :style="{paddingBottom:isIphoneX ? '156rpx' : '112rpx'}">
 					<view class="record-title"><text>支付记录</text></view>
 					<view class="record-title"><text>支付记录</text></view>
 					<view class="record-list">
 					<view class="record-list">
 						<view class="list-main" v-if="discernReceipt.length>0">
 						<view class="list-main" v-if="discernReceipt.length>0">
@@ -55,7 +55,7 @@
 					</view>
 					</view>
 				</view>
 				</view>
 			</view>
 			</view>
-			<view class="pay-button">
+			<view class="pay-button" :style="{paddingBottom:isIphoneX ? '68rpx' : '24rpx'}">
 				<view class="btn" @click.stop="buttonSubMit" :style="{'background':btnColor}">{{buttonText}}</view>
 				<view class="btn" @click.stop="buttonSubMit" :style="{'background':btnColor}">{{buttonText}}</view>
 			</view>
 			</view>
 		</view>
 		</view>
@@ -98,6 +98,7 @@
 			return{
 			return{
 				orderID:'',
 				orderID:'',
 				payType:'',
 				payType:'',
+				payWay:'',
 				isRepuest:false,
 				isRepuest:false,
 				payableAmount:0,
 				payableAmount:0,
 				receiptAmount:0,
 				receiptAmount:0,
@@ -155,10 +156,12 @@
 				this.orderID = e.orderID
 				this.orderID = e.orderID
 				switch(this.payType){
 				switch(this.payType){
 					case '0':
 					case '0':
+						this.payWay = 'WEIXIN'
 						this.btnColor="#09BB07"
 						this.btnColor="#09BB07"
 						this.buttonText = '去支付'
 						this.buttonText = '去支付'
 						break;
 						break;
 					case '1':
 					case '1':
+						this.payWay = 'UNIONPAY'
 						this.btnColor="#034582"
 						this.btnColor="#034582"
 						this.buttonText = '生成支付链接'
 						this.buttonText = '生成支付链接'
 						break;
 						break;
@@ -169,11 +172,11 @@
 				this.PayService.PayOrderCheckoutCounter({orderId:this.orderID}).then(response =>{
 				this.PayService.PayOrderCheckoutCounter({orderId:this.orderID}).then(response =>{
 					this.isRepuest = true
 					this.isRepuest = true
 					this.discernReceipt = response.data.discernReceipt 		//支付记录
 					this.discernReceipt = response.data.discernReceipt 		//支付记录
-					this.payTotalFee = response.data.order.payTotalFee  //已付金
+					this.payTotalFee = response.data.order.payTotalFee  //订单总
 					this.receiptAmount = response.data.order.receiptAmount  //已付金额
 					this.receiptAmount = response.data.order.receiptAmount  //已付金额
-					this.payableAmount = (response.data.order.payableAmount - this.receiptAmount).toFixed(2)//待付金额
-					this.payAmount = this.payableAmount	//自定义金额
-					this.balanceAmount = (this.payableAmount - this.payAmount).toFixed(2)// 计算剩余支付金额
+					this.payableAmount = response.data.order.payableAmount - this.receiptAmount//已付金额
+					this.payAmount = this.toFixedFn(this.payableAmount)	//自定义金额
+					this.balanceAmount = this.payableAmount - this.payAmount// 计算剩余支付金额
 				}).catch(error =>{
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
 					this.$util.msg(error.msg,2000)
 				})
 				})
@@ -189,6 +192,10 @@
 				}
 				}
 			},
 			},
 			BuildCatenate(){
 			BuildCatenate(){
+				if(this.payAmount == 0){
+					this.$util.msg("请输入本次支付的金额",2000)
+					return
+				}
 				if(this.payAmount <=10){
 				if(this.payAmount <=10){
 					this.$util.msg("企业网银支付的金额必须大于¥10.00",2000)
 					this.$util.msg("企业网银支付的金额必须大于¥10.00",2000)
 					return
 					return
@@ -200,6 +207,10 @@
 			},
 			},
 			MiniWxPayFor(){
 			MiniWxPayFor(){
 				authorize.getCode('weixin').then(wechatcode =>{
 				authorize.getCode('weixin').then(wechatcode =>{
+					if(this.payAmount > 50000){
+						this.$util.modal('','本次支付金额已超出微信支付限额,请输入小于5万的金额进行支付','知道了','',false,() =>{})
+						return
+					}
 					if(this.payAmount == 0){
 					if(this.payAmount == 0){
 						this.$util.msg("请输入本次支付的金额",2000)
 						this.$util.msg("请输入本次支付的金额",2000)
 						return
 						return
@@ -262,12 +273,12 @@
 				if(value == "" || value <0 ){
 				if(value == "" || value <0 ){
 					this.payAmount = '';
 					this.payAmount = '';
 					this.balanceAmount = this.payableAmount;
 					this.balanceAmount = this.payableAmount;
-				}else if( value >this.payableAmount){
-					this.payAmount = this.payableAmount.toFixed(2)
-					this.balanceAmount = (this.payableAmount - this.payAmount).toFixed(2)
+				}else if( value > this.payableAmount){
+					this.payAmount = this.toFixedFn(this.payableAmount)
+					this.balanceAmount = this.toFixedFn(this.payableAmount - this.payAmount)
 				}else{
 				}else{
-					this.payAmount =Number(value).toFixed(2)
-					this.balanceAmount = this.payableAmount - this.payAmount
+					this.payAmount = this.toFixedFn(value)
+					this.balanceAmount = this.toFixedFn(this.payableAmount - this.payAmount)
 				}
 				}
 			},
 			},
 			hanldNavigateBack(){//页面返回
 			hanldNavigateBack(){//页面返回
@@ -502,8 +513,11 @@
 		}
 		}
 		.pay-button{
 		.pay-button{
 			width: 100%;
 			width: 100%;
+			background-color: #FFFFFF;
 			position: fixed;
 			position: fixed;
-			bottom: 80rpx;
+			height: 88rpx;
+			padding-top: 24rpx;
+			bottom: 0;
 			.btn{
 			.btn{
 				width: 702rpx;
 				width: 702rpx;
 				height: 88rpx;
 				height: 88rpx;

+ 10 - 8
pages/user/order/order-payment.vue

@@ -51,7 +51,7 @@
 					</view>
 					</view>
 				</view>
 				</view>
 			</view>
 			</view>
-			<view class="pay-bring clearfix" :style="{bottom:isIphoneX ? '68rpx' : '24rpx'}" @click.stop="showTips" v-if="isReceiptStatus">
+			<view class="pay-bring clearfix" :style="{paddingBottom:isIphoneX ? '68rpx' : '24rpx'}" @click.stop="showTips" v-if="isReceiptStatus">
 				<view class="pay-bring-line"><text class="line"></text></view>
 				<view class="pay-bring-line"><text class="line"></text></view>
 				<view class="pay-bring-content" v-if="!isShowTip">
 				<view class="pay-bring-content" v-if="!isShowTip">
 					<view class="text bg-color">查看转账信息</view>
 					<view class="text bg-color">查看转账信息</view>
@@ -99,7 +99,7 @@
 				buttonText:'使用微信支付',
 				buttonText:'使用微信支付',
 				btnColor:'#09BB07',
 				btnColor:'#09BB07',
 				receiptStatus:'',
 				receiptStatus:'',
-				invoiceStatus:true,
+				invoiceStatus:false,
 				onlinePayFlag:'',
 				onlinePayFlag:'',
 				payStatusText:'使用微信和企业网银支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。若着急发货,可以选择使用线下转账进行付款。'
 				payStatusText:'使用微信和企业网银支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。若着急发货,可以选择使用线下转账进行付款。'
 			}
 			}
@@ -148,7 +148,7 @@
 				this.payOrderId ='#'+e.orderID+'#';
 				this.payOrderId ='#'+e.orderID+'#';
 				this.PayService.PayOrderCheckoutCounter({orderId:this.orderID}).then(response =>{
 				this.PayService.PayOrderCheckoutCounter({orderId:this.orderID}).then(response =>{
 					let data = response.data.order
 					let data = response.data.order
-					this.payableAmount = (data.payableAmount - data.receiptAmount).toFixed(2)  //待付金额
+					this.payableAmount = data.payableAmount - data.receiptAmount  //待付金额
 					this.receiptStatus =  data.receiptStatus
 					this.receiptStatus =  data.receiptStatus
 					this.invoiceStatus = data.invoiceStatus
 					this.invoiceStatus = data.invoiceStatus
 					this.onlinePayFlag = data.onlinePayFlag
 					this.onlinePayFlag = data.onlinePayFlag
@@ -165,7 +165,9 @@
 			},
 			},
 			goOrderCash(){
 			goOrderCash(){
 				if(this.invoiceStatus){
 				if(this.invoiceStatus){
-					this.$util.modal('','订单内包含不确定能否开发票的商品,目前仅支持线下转账付款','知道了','',false,() =>{})
+					this.$util.modal('','本次交易暂不支持线上支付开票,请使用线下转账的方式付款','知道了','',false,() =>{})
+					this.payStatusText = '使用微信和企业网银支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。若着急发货,可以选择使用线下转账进行付款。'
+					this.isReceiptStatus = true
 				}else{
 				}else{
 					switch(this.tabCurrentIndex){
 					switch(this.tabCurrentIndex){
 						case 0:
 						case 0:
@@ -403,15 +405,15 @@
 			}
 			}
 		}
 		}
 		.pay-bring{
 		.pay-bring{
-			width: 702rpx;
+			width: 100%;
 			min-height: 190rpx;
 			min-height: 190rpx;
 			padding: 24rpx 0;
 			padding: 24rpx 0;
 			background-color: #FFFFFF;
 			background-color: #FFFFFF;
 			box-shadow:0px 3px 6px rgba(0,0,0,0.16);
 			box-shadow:0px 3px 6px rgba(0,0,0,0.16);
 			position: fixed;
 			position: fixed;
-			bottom: 24rpx;
-			left: 24rpx;
-			border-radius: 14rpx;
+			bottom: 0;
+			left: 0;
+			border-radius: 30rpx 30rpx 0 0;
 			display: flex;
 			display: flex;
 			align-items: center;
 			align-items: center;
 			flex-direction: column;
 			flex-direction: column;