Ver Fonte

银联转账支付

zhengjinyi há 2 semanas atrás
pai
commit
9110830926

+ 1 - 1
components/cm-module/headerNavbar/header-back.vue

@@ -1,7 +1,7 @@
 <template name="headerNavbar">
 	<!-- 自定义导航栏 -->
 	<view class='navbar-wrap' :style="{height:navbarHeight+'px',paddingTop:statusBarHeight+'px'}"> 
-	  	<view class="navbar-text" :style="{lineHeight:(navbarHeight - statusBarHeight)+'px;',fontSize:fontSizeSetting+'px;'}" :class="platformClass">
+	  	<view class="navbar-text center" :style="{lineHeight:(navbarHeight - statusBarHeight)+'px;',fontSize:fontSizeSetting+'px;'}">
 	    	{{navbarData.title ? navbarData.title : " "}}
 	  	</view>
 	  	<view class="navbar-icon" v-if="navbarData.showCapsule == 1 ? true : false" 

+ 2 - 3
pages/seller/club/club-active-details.vue

@@ -48,7 +48,7 @@
                                 <view class="list-ntel" v-if="listQuery.type === 6">
                                 	<text class="list-link">分配时间:{{ club.providerTime | dateConversion }}</text>
                                 </view>
-								<view class="list-tags">
+								<!-- <view class="list-tags">
 									<text
 										class="tags"
 										@click.stop="
@@ -65,8 +65,7 @@
 									>
 										{{ club.customerValue }} <text class="iconfont icon-xiayibu"></text>
 									</text>
-								</view>
-								
+								</view> -->
 							</view>
 						</view>
 					</view>

+ 8 - 5
pages/seller/club/list.vue

@@ -70,10 +70,10 @@
                             </view>
                             <view class="list-content">
                                 <view class="list-name">
-                                    <text class="list-name-text">{{ club.userIdentity === 2 ? club.name : club.linkMan }}</text>
+                                    <text class="tags xf" v-if="club.newDeal === 1">新分配</text>
                                     <text class="tags" v-if="club.vipFlag == 0 && club.userIdentity === 2">VIP</text>
                                     <text class="tags sv" v-if="club.vipFlag == 1">SVIP</text>
-                                    <text class="tags xf" v-if="club.newDeal === 1">新分配</text>
+                                    <text class="list-name-text">{{ club.userIdentity === 2 ? club.name : club.linkMan }}</text>
                                 </view>
                                 <view class="list-ntel" v-if="tabSmallCurrentIndex === 1">
                                     <text class="list-link">销售:{{ club.serviceName ? club.serviceName : '' }}</text>
@@ -769,8 +769,11 @@ page {
 					height: 50rpx;
 					float: left;
 					line-height: 50rpx;
+                    display: flex;
+                    justify-content: flex-start;
+                    align-items: center;
                     .list-name-text{
-                        width: 310rpx;
+                        width: 360rpx;
                         text-align: left;
                         text-overflow: ellipsis;
                         overflow: hidden;
@@ -780,10 +783,10 @@ page {
                         -webkit-box-orient: vertical;
                         font-size: $font-size-26;
                         color: #333333;
-                        float: left;
+                        margin-left: 10rpx;
                     }
 					.tags {
-						display: inline-block;
+						display: flex;
 						height: 36rpx;
 						box-sizing: border-box;
 						padding: 0 10rpx;

+ 255 - 247
pages/seller/order/components/cm-details-button.vue

@@ -1,247 +1,255 @@
-<template name="button">
-	<view class="button-template" :style="{ paddingBottom: isIphoneX ? '68rpx' : '0rpx' }">
-		<!-- 底部按钮 -->
-		<view class="button-content">
-			<view
-				class="btn btn-cancel"
-				v-if="secondHandOrderFlag != 1 && !rechargeGoods"
-				@click.stop="btnConfirm('again', order)"
-				>再来一单</view
-			>
-			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel', order)"
-				>取消订单</view
-			>
-			<!-- <view class="btn btn-cancel" v-if="btnState.isDelete"  @click.stop="btnConfirm('delete',order)">删除订单</view> -->
-			<template>
-				<view class="btn btn-share" v-if="btnState.isPay" @click.stop="onShareCode(1)">
-					<view class="tips" v-if="shareCode">分享码:{{ shareCode }}</view> 分享支付
-				</view>
-				<view class="btn btn-share" v-else @click.stop="onShareCode(2)">
-					<view class="tips" v-if="shareCode">分享码:{{ shareCode }}</view> 分享订单
-				</view>
-			</template>
-<!-- 			<view class="btn btn-color" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm', order)"
-				>确认订单</view
-			> -->
-			<view
-				class="btn btn-query"
-				v-if="btnState.isQuery && order.secondHandOrderFlag != 1"
-				@click.stop="btnConfirm('query', order)"
-				>查看物流</view
-			>
-			<view
-				class="btn btn-color"
-				v-if="btnState.isPay && ableUserMoney > 0 && !rechargeGoods"
-				@click.stop="btnConfirm('balance', order)"
-				>余额抵扣</view
-			>
-		</view>
-	</view>
-</template>
-
-<script>
-export default {
-	name: 'button',
-	props: {
-		status: {
-			type: Number
-		},
-		order: {
-			type: Object
-		},
-		ableUserMoney: {
-			type: Number
-		},
-		rechargeGoods: {
-			type: Boolean
-		},
-		shareCode: {
-			type: String
-		},
-		secondHandOrderFlag: {
-			type: String
-		}
-	},
-	watch: {
-		status: {
-			handler: function(val) {
-				this.initData(val)
-			},
-			deep: true //对象内部的属性监听,也叫深度监听
-		}
-	},
-	data() {
-		return {
-			btnState: this.initStatus(),
-			isIphoneX: this.$store.state.isIphoneX,
-			invoiceStatus: false,
-			mapStateArr: [
-				{ label: 'isQuery', val: [2, 3, 5, 6, 12, 13, 22, 23, 32, 33], status: true },
-				{ label: 'isDelete', val: [4], status: true },
-				{ label: 'isCancel', val: [0, 11], status: true },
-				{ label: 'isConfirm', val: [0], status: true },
-				{ label: 'isPay', val: [11, 12, 13, 21, 22, 23], status: true }
-			]
-		}
-	},
-	created() {
-		console.log(this.rechargeGoods)
-		this.initData(this.status)
-	},
-	computed: {},
-	methods: {
-		initData(resVal) {
-			/**
-			 * @分享按钮统一显示
-			 * @按钮根据状态显示
-			 * @(2,3,5,6,12,13,22,23,32,33)显示[查看物流]按钮,其他隐藏
-			 * @(4)显示[删除订单],其他隐藏
-			 * @(0、11)显示[取消订单],其他隐藏
-			 * @(13,33)显示[确认收货]和[查看物流]
-			 */
-			this.btnState = this.initStatus()
-			this.mapStateArr.forEach(el => {
-				el.val.forEach(value => {
-					if (resVal === value) {
-						this.btnState[el.label] = el.status
-						//console.log(this.btnState[el.label]);
-					}
-				})
-			})
-		},
-		initStatus() {
-			let btnState = {
-				isQuery: false,
-				isDelete: false,
-				isCancel: false,
-				isConfirm: false,
-				isPay: false
-			}
-			return btnState
-		},
-		getShareCode(code) {
-			this.shareCode = code
-		},
-		onShareCode(type) {
-			if (this.order.onlinePay === 2) {
-				this.$util.modal(
-					'提示',
-					'本订单不能进行线上支付,请让客户选择线下转账方式付款',
-					'继续分享',
-					'知道了',
-					true,
-					() => {
-						this.$parent.isShareModal = true
-					}
-				)
-			} else {
-				this.$parent.isShareModal = true
-				this.$parent.isShareType = type
-			}
-		},
-		btnConfirm(type, order) {
-			let data = {
-				type: type,
-				shopOrderId: order.shopOrderId,
-				order: order
-			}
-			this.$emit('buttonConfirm', data)
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-.button-template {
-	width: 100%;
-	height: auto;
-	position: fixed;
-	bottom: 0;
-	left: 0;
-	background: #ffffff;
-	.button-content {
-		padding: 0 24rpx;
-		height: auto;
-		float: right;
-		position: relative;
-		margin: 20rpx 0;
-		.share-code {
-			width: 200rpx;
-			height: 64rpx;
-			line-height: 64rpx;
-			color: #2a45ff;
-			text-align: left;
-			position: absolute;
-			font-size: $font-size-28;
-			font-weight: bold;
-			left: 24rpx;
-			top: 24rpx;
-		}
-		.btn {
-			width: 160rpx;
-			height: 64rpx;
-			// margin:22rpx;
-			line-height: 64rpx;
-			font-size: $font-size-26;
-			color: #ffffff;
-			text-align: center;
-			border-radius: 34rpx;
-			float: right;
-		}
-		.btn-color {
-			background: $btn-confirm;
-		}
-		.btn-cancel {
-			background: #ffffff;
-			color: #666666;
-			float: left;
-			// margin: 22rpx 0;
-			margin-right: 15rpx;
-			border: 2rpx solid #999999;
-		}
-		.btn-delete {
-			background: linear-gradient(315deg, rgba(255, 163, 3, 1) 0%, rgba(255, 53, 1, 1) 100%);
-		}
-		.btn-query {
-			background: linear-gradient(135deg, rgba(255, 212, 129, 1) 0%, rgba(198, 129, 0, 1) 100%);
-		}
-		.btn-confirm {
-			background: linear-gradient(315deg, rgba(231, 0, 0, 1) 0%, rgba(255, 104, 1, 1) 100%);
-		}
-		.btn-share {
-			background: #ffffff;
-			color: #666666;
-			float: left;
-			// margin: 22rpx 0;
-			margin-right: 15rpx;
-			border: 2rpx solid #999999;
-			position: relative;
-			.tips {
-				width: 160rpx;
-				height: 34rpx;
-				padding: 10rpx 10rpx;
-				background: #ff5b00;
-				border-radius: 8rpx;
-				position: absolute;
-				color: #ffffff;
-				line-height: 34rpx;
-				font-size: $font-size-24;
-				text-align: left;
-				right: 0;
-				top: -69rpx;
-				&:before {
-					content: '';
-					width: 25rpx;
-					height: 25rpx;
-					background: #ff5b00;
-					position: absolute;
-					bottom: -8rpx;
-					left: 30rpx;
-					z-index: -1;
-					transform: rotate(45deg);
-				}
-			}
-		}
-	}
-}
-</style>
+<template name="button">
+    <view class="button-template" :style="{ paddingBottom: isIphoneX ? '68rpx' : '0rpx' }">
+        <!-- 底部按钮 -->
+        <view class="button-content">
+            <view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel', order)">取消订单</view>
+            <view class="btn btn-cancel" v-if="secondHandOrderFlag != 1 && !rechargeGoods"
+                @click.stop="btnConfirm('again', order)">再来一单</view>
+            <!-- <view class="btn btn-cancel" v-if="btnState.isDelete"  @click.stop="btnConfirm('delete',order)">删除订单</view> -->
+            <template>
+                <view class="btn btn-share" v-if="btnState.isPay && order.onlinePay === 1"
+                    @click.stop="onSharePay(order.shopOrderId)">
+                    <view class="tips" v-if="shareCode">分享码:{{ shareCode }}</view> 分享支付
+                </view>
+                <view class="btn btn-share" v-else @click.stop="onShareCode(2)">
+                    <view class="tips" v-if="shareCode">分享码:{{ shareCode }}</view> 分享订单
+                </view>
+            </template>
+            <!-- 			<view class="btn btn-color" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm', order)"
+				>确认订单</view
+			> -->
+            <view class="btn btn-query" v-if="btnState.isQuery && order.secondHandOrderFlag != 1"
+                @click.stop="btnConfirm('query', order)">查看物流</view>
+            <!-- 			<view
+				class="btn btn-color"
+				v-if="btnState.isPay && ableUserMoney > 0 && !rechargeGoods"
+				@click.stop="btnConfirm('balance', order)"
+				>余额抵扣</view>
+			 -->
+        </view>
+    </view>
+</template>
+
+<script>
+    import orderBtnMixins from '../mixins/orderBtnMixins.js'
+    export default {
+        mixins: [orderBtnMixins],
+        name: 'button',
+        props: {
+            status: {
+                type: Number
+            },
+            order: {
+                type: Object
+            },
+            ableUserMoney: {
+                type: Number
+            },
+            rechargeGoods: {
+                type: Boolean
+            },
+            shareCode: {
+                type: String
+            },
+            secondHandOrderFlag: {
+                type: String
+            }
+        },
+        watch: {
+            status: {
+                handler: function(val) {
+                    this.initData(val)
+                },
+                deep: true //对象内部的属性监听,也叫深度监听
+            }
+        },
+        data() {
+            return {
+                btnState: this.initStatus(),
+                isIphoneX: this.$store.state.isIphoneX,
+                invoiceStatus: false,
+                mapStateArr: [
+                    { label: 'isQuery', val: [2, 3, 5, 6, 12, 13, 22, 23, 32, 33], status: true },
+                    { label: 'isDelete', val: [4], status: true },
+                    { label: 'isCancel', val: [0, 11], status: true },
+                    { label: 'isConfirm', val: [0], status: true },
+                    { label: 'isPay', val: [11, 12, 13, 21, 22, 23], status: true }
+                ]
+            }
+        },
+        created() {
+            console.log(this.rechargeGoods)
+            this.initData(this.status)
+        },
+        computed: {},
+        methods: {
+            initData(resVal) {
+                /**
+                 * @分享按钮统一显示
+                 * @按钮根据状态显示
+                 * @(2,3,5,6,12,13,22,23,32,33)显示[查看物流]按钮,其他隐藏
+                 * @(4)显示[删除订单],其他隐藏
+                 * @(0、11)显示[取消订单],其他隐藏
+                 * @(13,33)显示[确认收货]和[查看物流]
+                 */
+                this.btnState = this.initStatus()
+                this.mapStateArr.forEach(el => {
+                    el.val.forEach(value => {
+                        if (resVal === value) {
+                            this.btnState[el.label] = el.status
+                            //console.log(this.btnState[el.label]);
+                        }
+                    })
+                })
+            },
+            initStatus() {
+                let btnState = {
+                    isQuery: false,
+                    isDelete: false,
+                    isCancel: false,
+                    isConfirm: false,
+                    isPay: false
+                }
+                return btnState
+            },
+            getShareCode(code) {
+                this.shareCode = code
+            },
+            // 分享支付
+            onSharePay(shopOrderId) {
+                this.getPayOrderInfo(shopOrderId)
+            },
+            onShareCode(type) {
+                if (this.order.onlinePay === 2) {
+                    this.$util.modal(
+                        '提示',
+                        '本订单不能进行线上支付,请让客户选择线下转账方式付款',
+                        '继续分享',
+                        '知道了',
+                        true,
+                        () => {
+                            this.$parent.isShareModal = true
+                        }
+                    )
+                } else {
+                    this.$parent.isShareModal = true
+                    this.$parent.isShareType = type
+                }
+            },
+            btnConfirm(type, order) {
+                let data = {
+                    type: type,
+                    shopOrderId: order.shopOrderId,
+                    order: order
+                }
+                this.$emit('buttonConfirm', data)
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+    .button-template {
+        width: 100%;
+        height: auto;
+        position: fixed;
+        bottom: 0;
+        left: 0;
+        background: #ffffff;
+
+        .button-content {
+            padding: 0 24rpx;
+            height: auto;
+            float: right;
+            position: relative;
+            margin: 20rpx 0;
+
+            .share-code {
+                width: 200rpx;
+                height: 64rpx;
+                line-height: 64rpx;
+                color: #2a45ff;
+                text-align: left;
+                position: absolute;
+                font-size: $font-size-28;
+                font-weight: bold;
+                left: 24rpx;
+                top: 24rpx;
+            }
+
+            .btn {
+                width: 160rpx;
+                height: 64rpx;
+                // margin:22rpx;
+                line-height: 64rpx;
+                font-size: $font-size-26;
+                color: #ffffff;
+                text-align: center;
+                border-radius: 34rpx;
+                float: right;
+            }
+
+            .btn-color {
+                background: $btn-confirm;
+            }
+
+            .btn-cancel {
+                background: #ffffff;
+                color: #666666;
+                float: left;
+                // margin: 22rpx 0;
+                margin-left: 10rpx;
+                border: 2rpx solid #999999;
+            }
+
+            .btn-delete {
+                background: linear-gradient(315deg, rgba(255, 163, 3, 1) 0%, rgba(255, 53, 1, 1) 100%);
+            }
+
+            .btn-query {
+                background: linear-gradient(135deg, rgba(255, 212, 129, 1) 0%, rgba(198, 129, 0, 1) 100%);
+            }
+
+            .btn-confirm {
+                background: linear-gradient(315deg, rgba(231, 0, 0, 1) 0%, rgba(255, 104, 1, 1) 100%);
+            }
+
+            .btn-share {
+                background: #ffffff;
+                color: #666666;
+                float: left;
+                // margin: 22rpx 0;
+                margin-left: 10rpx;
+                border: 2rpx solid #999999;
+                position: relative;
+
+                .tips {
+                    width: 160rpx;
+                    height: 34rpx;
+                    padding: 10rpx 10rpx;
+                    background: #ff5b00;
+                    border-radius: 8rpx;
+                    position: absolute;
+                    color: #ffffff;
+                    line-height: 34rpx;
+                    font-size: $font-size-24;
+                    text-align: left;
+                    right: 0;
+                    top: -69rpx;
+
+                    &:before {
+                        content: '';
+                        width: 25rpx;
+                        height: 25rpx;
+                        background: #ff5b00;
+                        position: absolute;
+                        bottom: -8rpx;
+                        left: 30rpx;
+                        z-index: -1;
+                        transform: rotate(45deg);
+                    }
+                }
+            }
+        }
+    }
+</style>

+ 246 - 237
pages/seller/order/components/cm-list-button.vue

@@ -1,237 +1,246 @@
-<template name="button">
-	<view class="button-template">
-		<!-- 底部按钮 -->
-		<view class="button-content">
-			<view
-				class="btn btn-cancel"
-				v-if="secondHandOrderFlag != 1 && !rechargeGoods"
-				@click.stop="btnConfirm('again', shopOrderId)"
-				>再来一单</view
-			>
-			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel', shopOrderId)"
-				>取消订单</view
-			>
-			<!-- <view class="btn btn-cancel" v-if="btnState.isDelete" @click.stop="btnConfirm('delete',orderId)">删除订单</view> -->
-			<template>
-				<view class="btn btn-cancel" v-if="btnState.isPay" @click.stop="onShareCode(shopOrderId, userId, 1)"
-					>分享支付</view
-				>
-				<view class="btn btn-cancel" v-else @click.stop="onShareCode(shopOrderId, userId, 2)">分享订单</view>
-			</template>
-			<view
-				class="btn btn-query"
-				v-if="btnState.isQuery && order.secondHandOrderFlag != 1"
-				@click.stop="btnConfirm('query', shopOrderId)"
-				>查看物流</view
-			>
-<!-- 			<view class="btn btn-color" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm', shopOrderId)"
-				>确认订单</view
-			> -->
-		</view>
-	</view>
-</template>
-
-<script>
-export default {
-	name: 'button',
-	props: {
-		status: {
-			type: Number
-		},
-		order: {
-			type: Object
-		},
-		shopOrderId: {
-			type: Number
-		},
-		userId: {
-			type: Number
-		},
-		rechargeGoods: {
-			type: Boolean
-		},
-		serviceProviderId: {
-			type: Number
-		},
-		secondHandOrderFlag: {
-			type: String
-		}
-	},
-	data() {
-		return {
-			isShare: true,
-			shareCode: '',
-			btnState: this.initStatus(),
-			mapStateArr: [
-				{ label: 'isQuery', val: [2, 3, 5, 6, 12, 13, 22, 23, 32, 33], status: true },
-				{ label: 'isDelete', val: [4], status: true },
-				{ label: 'isCancel', val: [0, 11], status: true },
-				{ label: 'isConfirm', val: [0], status: true },
-				{ label: 'isPay', val: [11, 12, 13, 21, 22, 23], status: true }
-			]
-		}
-	},
-	created() {
-		this.initData(this.status)
-	},
-	computed: {},
-	watch: {
-		status: {
-			handler: function(val) {
-				this.initData(val)
-			},
-			deep: true //对象内部的属性监听,也叫深度监听
-		}
-	},
-	methods: {
-		initData(resVal) {
-			/**
-			 * @分享按钮统一显示
-			 * @按钮根据状态显示
-			 * @(4、5、7、12、22、23、32)显示[查看物流]按钮,其他隐藏
-			 * @(6)显示[删除订单],其他隐藏
-			 * @(0、111)显示[取消订单],其他隐藏
-			 * @(21,31)只显示分享
-			 * @(13,33)显示[确认收货]和[查看物流]
-			 */
-			this.btnState = this.initStatus()
-			this.mapStateArr.forEach(el => {
-				el.val.forEach(value => {
-					if (resVal === value) {
-						this.btnState[el.label] = el.status
-					}
-				})
-			})
-		},
-		initStatus() {
-			let btnState = {
-				isDelete: false,
-				isCancel: false,
-				isConfirm: false,
-				isShare: true
-			}
-			return btnState
-		},
-		getShareCode(code) {
-			this.shareCode = code
-		},
-		onShareCode(shopOrderId, userId, type) {
-			if (this.order.onlinePay === 2) {
-				this.$util.modal(
-					'提示',
-					'本订单不能进行线上支付,请让客户选择线下转账方式付款',
-					'继续分享',
-					'知道了',
-					true,
-					() => {
-						this.$parent.isShareModal = true
-						;(this.$parent.handleShopOrderId = shopOrderId), (this.$parent.btnClubUserId = userId)
-						this.$parent.isShareType = type
-						this.$emit('shareConfirm')
-					}
-				)
-			} else {
-				this.$parent.isShareModal = true
-				;(this.$parent.handleShopOrderId = shopOrderId), (this.$parent.btnClubUserId = userId)
-				this.$parent.isShareType = type
-				this.$emit('shareConfirm')
-			}
-		},
-		btnConfirm(type, shopOrderId) {
-			let data = {
-				type: type,
-				shopOrderId: shopOrderId
-			}
-			this.$emit('buttonConfirm', data)
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-.button-template {
-	width: 100%;
-	height: auto;
-	float: left;
-	background: #ffffff;
-	.button-content {
-		height: auto;
-		float: right;
-		position: relative;
-		margin: 20rpx 0;
-		.share-code {
-			width: 200rpx;
-			height: 64rpx;
-			line-height: 64rpx;
-			color: #2a45ff;
-			text-align: left;
-			position: absolute;
-			font-size: $font-size-28;
-			font-weight: bold;
-			left: 24rpx;
-			top: 24rpx;
-		}
-		.btn {
-			width: 160rpx;
-			height: 64rpx;
-			line-height: 64rpx;
-			font-size: $font-size-26;
-			color: #ffffff;
-			text-align: center;
-			border-radius: 34rpx;
-			// float: right;
-			display: inline-block;
-		}
-		.btn-color {
-			background: $btn-confirm;
-			// margin: 22rpx 0 22rpx 22rpx;
-		}
-		.btn-cancel {
-			border: 2rpx solid #999999;
-			background: #ffffff;
-			color: #666666;
-			// float: left;
-			margin-right: 15rpx;
-		}
-		.btn-delete {
-			background: linear-gradient(315deg, rgba(255, 163, 3, 1) 0%, rgba(255, 53, 1, 1) 100%);
-		}
-		.btn-query {
-			background: linear-gradient(135deg, rgba(255, 212, 129, 1) 0%, rgba(198, 129, 0, 1) 100%);
-		}
-		.btn-confirm {
-			background: linear-gradient(315deg, rgba(231, 0, 0, 1) 0%, rgba(255, 104, 1, 1) 100%);
-		}
-		.btn-share {
-			background: linear-gradient(315deg, rgba(0, 212, 150, 1) 0%, rgba(126, 243, 174, 1) 100%);
-			margin-right: 0;
-			position: relative;
-			.tips {
-				width: 160rpx;
-				height: 34rpx;
-				padding: 10rpx 10rpx;
-				background: #ff5b00;
-				border-radius: 8rpx;
-				position: absolute;
-				color: #ffffff;
-				line-height: 34rpx;
-				font-size: $font-size-24;
-				text-align: left;
-				right: 0;
-				top: -65rpx;
-				&:before {
-					content: '';
-					width: 25rpx;
-					height: 25rpx;
-					background: #ff5b00;
-					position: absolute;
-					bottom: -8rpx;
-					left: 30rpx;
-					z-index: -1;
-					transform: rotate(45deg);
-				}
-			}
-		}
-	}
-}
-</style>
+<template name="button">
+    <view class="button-template">
+        <!-- 底部按钮 -->
+        <view class="button-content">
+            <view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel', shopOrderId)">取消订单
+            </view>
+            <view class="btn btn-cancel" v-if="secondHandOrderFlag != 1 && !rechargeGoods"
+                @click.stop="btnConfirm('again', shopOrderId)">再来一单</view>
+            <!-- <view class="btn btn-cancel" v-if="btnState.isDelete" @click.stop="btnConfirm('delete',orderId)">删除订单</view> -->
+            <template>
+                <view class="btn btn-cancel" v-if="btnState.isPay && order.onlinePay === 1" @click.stop="onSharePay(shopOrderId, userId)">
+                    分享支付</view>
+                <view class="btn btn-cancel" v-else @click.stop="onShareCode(shopOrderId, userId, 2)">分享订单</view>
+            </template>
+            <view class="btn btn-query" v-if="btnState.isQuery && order.secondHandOrderFlag != 1"
+                @click.stop="btnConfirm('query', shopOrderId)">查看物流</view>
+            <!-- 			<view class="btn btn-color" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm', shopOrderId)"
+				>确认订单</view
+			> -->
+        </view>
+    </view>
+</template>
+
+<script>
+    import orderBtnMixins from '../mixins/orderBtnMixins.js'
+    export default {
+        mixins: [orderBtnMixins],
+        name: 'button',
+        props: {
+            status: {
+                type: Number
+            },
+            order: {
+                type: Object
+            },
+            shopOrderId: {
+                type: Number
+            },
+            userId: {
+                type: Number
+            },
+            rechargeGoods: {
+                type: Boolean
+            },
+            serviceProviderId: {
+                type: Number
+            },
+            secondHandOrderFlag: {
+                type: String
+            }
+        },
+        data() {
+            return {
+                isShare: true,
+                shareCode: '',
+                btnState: this.initStatus(),
+                mapStateArr: [
+                    { label: 'isQuery', val: [2, 3, 5, 6, 12, 13, 22, 23, 32, 33], status: true },
+                    { label: 'isDelete', val: [4], status: true },
+                    { label: 'isCancel', val: [0, 11], status: true },
+                    { label: 'isConfirm', val: [0], status: true },
+                    { label: 'isPay', val: [11, 12, 13, 21, 22, 23], status: true }
+                ]
+            }
+        },
+        created() {
+            this.initData(this.status)
+        },
+        computed: {},
+        watch: {
+            status: {
+                handler: function(val) {
+                    this.initData(val)
+                },
+                deep: true //对象内部的属性监听,也叫深度监听
+            }
+        },
+        methods: {
+            initData(resVal) {
+                /**
+                 * @分享按钮统一显示
+                 * @按钮根据状态显示
+                 * @(4、5、7、12、22、23、32)显示[查看物流]按钮,其他隐藏
+                 * @(6)显示[删除订单],其他隐藏
+                 * @(0、111)显示[取消订单],其他隐藏
+                 * @(21,31)只显示分享
+                 * @(13,33)显示[确认收货]和[查看物流]
+                 */
+                this.btnState = this.initStatus()
+                this.mapStateArr.forEach(el => {
+                    el.val.forEach(value => {
+                        if (resVal === value) {
+                            this.btnState[el.label] = el.status
+                        }
+                    })
+                })
+            },
+            initStatus() {
+                let btnState = {
+                    isDelete: false,
+                    isCancel: false,
+                    isConfirm: false,
+                    isShare: true
+                }
+                return btnState
+            },
+            getShareCode(code) {
+                this.shareCode = code
+            },
+            // 分享支付
+            onSharePay(shopOrderId) {
+                this.getPayOrderInfo(shopOrderId)
+            },
+            onShareCode(shopOrderId, userId, type) {
+                if (this.order.onlinePay === 2) {
+                    this.$util.modal(
+                        '提示',
+                        '本订单不能进行线上支付,请让客户选择线下转账方式付款',
+                        '继续分享',
+                        '知道了',
+                        true,
+                        () => {
+                            this.$parent.isShareModal = true
+                            this.$parent.handleShopOrderId = shopOrderId
+                            this.$parent.btnClubUserId = userId
+                            this.$parent.isShareType = type
+                            this.$emit('shareConfirm')
+                        }
+                    )
+                } else {
+                    this.$parent.isShareModal = true
+                    this.$parent.handleShopOrderId = shopOrderId
+                    this.$parent.btnClubUserId = userId
+                    this.$parent.isShareType = type
+                    this.$emit('shareConfirm')
+                }
+            },
+            btnConfirm(type, shopOrderId) {
+                let data = {
+                    type: type,
+                    shopOrderId: shopOrderId
+                }
+                this.$emit('buttonConfirm', data)
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+    .button-template {
+        width: 100%;
+        height: auto;
+        float: left;
+        background: #ffffff;
+
+        .button-content {
+            height: auto;
+            float: right;
+            position: relative;
+            margin: 20rpx 0;
+
+            .share-code {
+                width: 200rpx;
+                height: 64rpx;
+                line-height: 64rpx;
+                color: #2a45ff;
+                text-align: left;
+                position: absolute;
+                font-size: $font-size-28;
+                font-weight: bold;
+                left: 24rpx;
+                top: 24rpx;
+            }
+
+            .btn {
+                width: 160rpx;
+                height: 64rpx;
+                line-height: 64rpx;
+                font-size: $font-size-26;
+                color: #ffffff;
+                text-align: center;
+                border-radius: 34rpx;
+                // float: right;
+                display: inline-block;
+            }
+
+            .btn-color {
+                background: $btn-confirm;
+                // margin: 22rpx 0 22rpx 22rpx;
+            }
+
+            .btn-cancel {
+                border: 2rpx solid #999999;
+                background: #ffffff;
+                color: #666666;
+                // float: left;
+                margin-left: 10rpx;
+            }
+
+            .btn-delete {
+                background: linear-gradient(315deg, rgba(255, 163, 3, 1) 0%, rgba(255, 53, 1, 1) 100%);
+            }
+
+            .btn-query {
+                background: linear-gradient(135deg, rgba(255, 212, 129, 1) 0%, rgba(198, 129, 0, 1) 100%);
+            }
+
+            .btn-confirm {
+                background: linear-gradient(315deg, rgba(231, 0, 0, 1) 0%, rgba(255, 104, 1, 1) 100%);
+            }
+
+            .btn-share {
+                background: linear-gradient(315deg, rgba(0, 212, 150, 1) 0%, rgba(126, 243, 174, 1) 100%);
+                margin-right: 0;
+                position: relative;
+
+                .tips {
+                    width: 160rpx;
+                    height: 34rpx;
+                    padding: 10rpx 10rpx;
+                    background: #ff5b00;
+                    border-radius: 8rpx;
+                    position: absolute;
+                    color: #ffffff;
+                    line-height: 34rpx;
+                    font-size: $font-size-24;
+                    text-align: left;
+                    right: 0;
+                    top: -65rpx;
+
+                    &:before {
+                        content: '';
+                        width: 25rpx;
+                        height: 25rpx;
+                        background: #ff5b00;
+                        position: absolute;
+                        bottom: -8rpx;
+                        left: 30rpx;
+                        z-index: -1;
+                        transform: rotate(45deg);
+                    }
+                }
+            }
+        }
+    }
+</style>

+ 170 - 0
pages/seller/order/components/cm-pay-popup.vue

@@ -0,0 +1,170 @@
+<template name="cm-product-modal">
+    <!-- 设备详情可见度弹窗提醒 -->
+    <view>
+        <!--大额转账弹窗  -->
+        <tui-modal :show="showModal" :padding="'30rpx 30rpx'" @cancel="hideMobel" :custom="true" fadeIn>
+            <view class="tui-modal-custom">
+                <view class="tui-prompt-title">
+                    银联转账信息
+                    <text class="iconfont icon-iconfontguanbi" @click.stop="hideMobel"></text>
+                </view>
+                <view class="tui-prompt-text">
+                    <view class="tui-prompt-tips">注:请复制以下银联转账信息发送给机构,让机构进行银联转账。(付款成功后系统稍后会更新订单状态)</view>
+                    <view class="tui-prompt-item">
+                        <text class="text">订单编号:</text>
+                        {{ bigPayInfo.orderNo }}({{ bigPayInfo.shopOrderId }})
+                    </view>
+                    <view class="tui-prompt-item">
+                        <text class="text">收款账户名:</text>
+                        {{ bigPayInfo.receiverName }}
+                    </view>
+                    <view class="tui-prompt-item">
+                        <text class="text">收款账号:</text>
+                        {{ bigPayInfo.bankNumber }}
+                    </view>
+                    <view class="tui-prompt-item">
+                        <text class="text">收款机构:</text>
+                        广州合利宝支付科技有限公司({{ bigPayInfo.bankName }})
+                    </view>
+                </view>
+                <view class="tui-prompt-flex">
+                    <view class="btn btn-confirm" @click="copyClipboard">
+                        <text class="iconfont icon-fuzhi_o"></text>
+                        复制账号信息
+                    </view>
+                </view>
+            </view>
+        </tui-modal>
+    </view>
+</template>
+
+<script>
+    import { mapState } from 'vuex'
+    import thorui from '@/components/clipboard/clipboard.thorui.js'
+    export default {
+        name: 'cm-pay-modal',
+        props: {
+            showModal: {
+                type: Boolean,
+                default: false
+            },
+            payInfo: {
+                type: Object
+            }
+        },
+        data() {
+            return {
+                bigPayInfo: {},
+            }
+        },
+        computed: {
+            ...mapState(['hasLogin'])
+        },
+        created() {
+            this.initModal()
+        },
+        methods: {
+            initModal() {
+                this.bigPayInfo = this.payInfo
+            },
+            copyClipboard() {
+                //复制账号
+                const data =
+                    `订单编号:${ this.bigPayInfo.orderNo }(${ this.bigPayInfo.shopOrderId })\n收款账户名:${this.bigPayInfo.receiverName}\n收款账号:${this.bigPayInfo.bankNumber}\n收款机构:广州合利宝支付科技有限公司(${ this.bigPayInfo.bankName })`
+                thorui.getClipboardData(data, res => {
+                    if (res) {
+                        this.$util.msg('已复制', 2000)
+                    } else {
+                        this.$util.msg('复制失败', 2000)
+                    }
+                })
+            },
+            hideMobel() {
+                this.$parent.isBigPayModal = false
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+    .tui-prompt-title {
+        width: 100%;
+        height: 44rpx;
+        line-height: 44rpx;
+        padding: 10rpx 0;
+        text-align: center;
+        color: #333333;
+        font-weight: 600;
+        position: relative;
+
+        .icon-iconfontguanbi {
+            width: 68rpx;
+            height: 68rpx;
+            text-align: center;
+            line-height: 68rpx;
+            position: absolute;
+            right: 0;
+            top: 0;
+            font-size: $font-size-36;
+            color: #999999;
+        }
+    }
+
+    .tui-prompt-text {
+        padding-top: 20rpx;
+
+        .tui-prompt-tips {
+            width: 100%;
+            line-height: 36rpx;
+            font-size: $font-size-26;
+            color: #ff5b00;
+            text-align: justify;
+            margin-bottom: 30rpx;
+        }
+
+        .tui-prompt-item {
+            width: 100%;
+            line-height: 60rpx;
+            color: #333333;
+            font-size: $font-size-28;
+            position: relative;
+
+            .text {
+                font-weight: bold;
+            }
+        }
+    }
+
+    .tui-prompt-flex {
+        width: 100%;
+        height: auto;
+        margin: 40rpx 0 20rpx 0;
+        box-sizing: border-box;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+
+        .btn {
+            padding: 0 44rpx;
+            line-height: 66rpx;
+            font-size: $font-size-26;
+            text-align: center;
+            color: #ffffff;
+            border-radius: 40rpx;
+            box-sizing: border-box;
+            margin-left: 12rpx;
+
+            &.btn-cancel {
+                background: #ffffff;
+                color: #333333;
+                border: 1px solid #979797;
+            }
+
+            &.btn-confirm {
+                background: #ffffff;
+                color: #333333;
+                border: 1px solid #979797;
+            }
+        }
+    }
+</style>

+ 69 - 0
pages/seller/order/mixins/orderBtnMixins.js

@@ -0,0 +1,69 @@
+import Vue from 'vue'
+const orderMixins = {
+    data() {
+        return {
+            params: {
+                payType:'LARGE',
+                payAmount:'',
+                shopOrderId:0, 
+                orderId: 0, 
+                userId: 0 ,
+            },
+            bigPayInfo: { // 银联转账信息
+                orderNo: '',// 订单编号
+                shopOrderId: '',// 子订单编号
+                bankName: '',// 收款网点
+                bankNumber: '',// 收款账号
+                receiverName: '' // 收款账户名
+            },
+            obligation:''
+        }
+    },
+    computed: {
+       
+    },
+    methods: {
+        async getPayOrderInfo(shopOrderId) {
+            //初始化支付信息
+            try {
+                const { data } = await this.PayService.PayOrderCheckoutShoporders({ shopOrderId: shopOrderId })
+                this.obligation = data.shopOrder.obligation // 待付金额
+                this.params.shopOrderId = this.bigPayInfo.shopOrderId = shopOrderId // 子订单Id
+                this.params.userId = data.shopOrder.userId // 子订单Id
+                this.params.orderId = data.shopOrder.orderId // 主订单Id
+                this.bigPayInfo.orderNo = data.shopOrder.orderNo
+                this.params.payAmount = this.toFixedFn(this.obligation) // 自定义金额
+                if (data.bankInfo) {
+                    this.bigPayInfo.bankNumber = data.bankInfo.bankNumber
+                    this.bigPayInfo.receiverName = data.bankInfo.receiverName
+                    this.bigPayInfo.bankName = data.bankInfo.bankName
+                    this.$parent.isBigPayModal = true
+                    this.$parent.bigPayInfo = this.bigPayInfo
+                }else{
+                    this.PayOrderLarge()
+                }
+            } catch (error) {
+                console.log(error)
+            }
+        },
+        // 调用获取银联转账账号
+        async PayOrderLarge(){
+            try {
+                const { data } = await this.PayService.PayOrderLarge(this.params)
+                this.bigPayInfo.bankNumber = data.rt9_largePaymentNo
+                this.bigPayInfo.receiverName = data.rt10_receiverName
+                this.bigPayInfo.bankName = data.rt11_bankName
+                this.$parent.bigPayInfo = this.bigPayInfo
+                this.$parent.isBigPayModal = true
+            } catch (error) {
+                console.log(error)
+            }
+        },
+        toFixedFn(value) {
+            //处理小数点后两位数
+            return Number(value).toFixed(2)
+        },
+    }
+}
+
+export default orderMixins

+ 12 - 0
pages/seller/order/order-details.vue

@@ -103,6 +103,8 @@
 			v-if="isShareModal"
 			@shareConfirm="onShareAppMessage"
 		/>
+        <!-- 支付弹窗 -->
+        <cm-pay-popup v-if="isBigPayModal" :showModal="isBigPayModal" :payInfo="bigPayInfo" />
 		<!-- 促销活动弹窗 -->
 		<cm-promote-popup :Promotion="handlerPros" :popupShow="popupShow" />
 		<!-- 再来一单 -->
@@ -147,6 +149,7 @@ import cmVoucherTemp from './components/details/cm-voucher-temp' //退款记录
 import cmDetailsButton from './components/cm-details-button' //底部按钮
 import cmSharePopup from './components/cm-share-popup' //分享弹窗
 import cmOrderpayPopup from './components/cm-orderpay-popup' //付款弹窗
+import cmPayPopup from './components/cm-pay-popup' //分享支付
 import cmPromotePopup from './components/details/cm-promote-popup' //促销活动弹窗
 
 export default {
@@ -162,6 +165,7 @@ export default {
 		cmDetailsButton,
 		cmSharePopup,
 		cmOrderpayPopup,
+        cmPayPopup,
 		cmPromotePopup
 	},
 	data() {
@@ -184,6 +188,14 @@ export default {
 			isOrderShare: false,
 			isShareModal: false,
 			isShareType: 2,
+            isBigPayModal: false, //控制分享支付
+            bigPayInfo: { // 银联转账信息
+                orderNo: '',// 订单编号
+                shopOrderId: '',// 子订单编号
+                bankName: '',// 收款网点
+                bankNumber: '',// 收款账号
+                receiverName: '' // 收款账户名
+            },
 			isPayModel: false,
 			modelType: 0,
 			ableUserMoney: '', //机构余额

+ 13 - 1
pages/seller/order/order-historylist.vue

@@ -240,6 +240,8 @@
 			v-if="isShareModal"
 			@shareConfirm="onShareAppMessage"
 		/>
+        <!-- 支付弹窗 -->
+        <cm-pay-popup v-if="isBigPayModal" :showModal="isBigPayModal" :payInfo="bigPayInfo" />
 		<!-- 再来一单弹窗 -->
 		<view class="aganBj" v-show="showAgan">
 			<view class="alertAgan">
@@ -279,6 +281,7 @@ import modalLayer from '@/components/modal-layer'
 import empty from '@/components/empty'
 import cmListButton from './components/cm-list-button' //操作按钮
 import cmSharePopup from './components/cm-share-popup' //分享弹窗
+import cmPayPopup from './components/cm-pay-popup' //分享支付
 import orderMixins from './mixins/orderMixins.js'
 
 export default {
@@ -289,6 +292,7 @@ export default {
 		modalLayer,
 		cmListButton,
 		cmSharePopup,
+        cmPayPopup
 	},
 	data() {
 		return {
@@ -323,6 +327,14 @@ export default {
 			isClickChange: false,
 			isShareModal: false, //控制分享弹窗
 			isShareType:2,
+            isBigPayModal: false, //控制分享支付
+            bigPayInfo: { // 银联转账信息
+                orderNo: '',// 订单编号
+                shopOrderId: '',// 子订单编号
+                bankName: '',// 收款网点
+                bankNumber: '',// 收款账号
+                receiverName: '' // 收款账户名
+            },
 			isModalLayer: false,
 			loadding: false,
 			pullUpOn: true,
@@ -649,7 +661,7 @@ page {
 	display: flex;
 	flex-direction: column;
 	width: 100%;
-	padding: 0rpx 24rpx 0 24rpx;
+	padding: 0rpx 20rpx;
 	background: #fff;
     box-sizing: border-box;
     border-radius: 16rpx;

+ 13 - 1
pages/seller/order/order-list.vue

@@ -275,6 +275,8 @@
 			v-if="isShareModal"
 			@shareConfirm="onShareAppMessage"
 		/>
+        <!-- 支付弹窗 -->
+        <cm-pay-popup v-if="isBigPayModal" :showModal="isBigPayModal" :payInfo="bigPayInfo" />
 		<!-- 透明模态层 -->
 		<modal-layer v-if="isModalLayer" />
 		<view class="aganBj" v-show="showAgan">
@@ -320,6 +322,7 @@ import modalLayer from '@/components/modal-layer'
 import empty from '@/components/empty'
 import cmListButton from './components/cm-list-button' //操作按钮
 import cmSharePopup from './components/cm-share-popup' //分享弹窗
+import cmPayPopup from './components/cm-pay-popup' //分享支付
 import cmOrderDrawer from '../components/cm-order-drawer' //筛选抽屉
 import orderMixins from './mixins/orderMixins.js'
 
@@ -331,6 +334,7 @@ export default {
 		modalLayer,
 		cmListButton,
 		cmSharePopup,
+        cmPayPopup,
 		cmOrderDrawer
 	},
 	data() {
@@ -374,6 +378,14 @@ export default {
 			isClickChange: false,
 			isShareModal: false, //控制分享弹窗
 			isShareType: 2,
+            isBigPayModal: false, //控制分享支付
+            bigPayInfo: { // 银联转账信息
+                orderNo: '',// 订单编号
+                shopOrderId: '',// 子订单编号
+                bankName: '',// 收款网点
+                bankNumber: '',// 收款账号
+                receiverName: '' // 收款账户名
+            },
 			isModalLayer: false,
 			loadding: false,
 			pullUpOn: true,
@@ -748,7 +760,7 @@ page {
 	display: flex;
 	flex-direction: column;
 	width: 100%;
-	padding: 0rpx 24rpx 0 24rpx;
+	padding: 0rpx 20rpx;
 	background: #fff;
     box-sizing: border-box;
     border-radius: 16rpx;

+ 1 - 1
pages/seller/order/order-team-list.vue

@@ -681,7 +681,7 @@ page {
 	display: flex;
 	flex-direction: column;
 	width: 702rpx;
-	padding: 0rpx 24rpx 0 24rpx;
+	padding: 0rpx 20rpx;
 	background: #fff;
     margin-bottom: 20rpx;
 }

+ 12 - 0
pages/seller/order/search-order.vue

@@ -217,6 +217,8 @@
 			v-if="isShareModal"
 			@shareConfirm="onShareAppMessage"
 		/>
+        <!-- 支付弹窗 -->
+        <cm-pay-popup v-if="isBigPayModal" :showModal="isBigPayModal" :payInfo="bigPayInfo" />
 		<!-- 再来一单弹窗 -->
 		<view class="aganBj" v-show="showAgan">
 			<view class="alertAgan">
@@ -254,6 +256,7 @@ import modalLayer from '@/components/modal-layer'
 import empty from '@/components/empty'
 import cmListButton from './components/cm-list-button' //操作按钮 
 import cmSharePopup from './components/cm-share-popup' //分享弹窗
+import cmPayPopup from './components/cm-pay-popup' //分享支付
 import orderMixins from './mixins/orderMixins.js'
 
 const defaultListQuery = {
@@ -268,6 +271,7 @@ export default {
 		empty,
 		cmListButton,
 		cmSharePopup,
+        cmPayPopup
 	},
 	data() {
 		return {
@@ -291,6 +295,14 @@ export default {
 			isShowDelModal: false, //控制删除订单弹窗
 			isModalLayer: false,
 			isShareType: 2,
+            isBigPayModal: false, //控制分享支付
+            bigPayInfo: { // 银联转账信息
+                orderNo: '',// 订单编号
+                shopOrderId: '',// 子订单编号
+                bankName: '',// 收款网点
+                bankNumber: '',// 收款账号
+                receiverName: '' // 收款账户名
+            },
 			loadding: false,
 			pullUpOn: true,
 			hasNextPage: false,

+ 2 - 1
pages/user/order/order-details.vue

@@ -243,7 +243,8 @@ export default {
 		this.shopOrderId = option.shopOrderId
 		if (this.shareType === 'share') {
 			this.state = 0
-			this.isOrderShare = true
+			this.isOrderShare = true
+            
 		} else if (option.type === 'confim' || option.type === 'search') {
 			this.state = 0
 		} else {

+ 7 - 3
pages/user/order/order-sharelogin.vue

@@ -29,7 +29,8 @@
 	</view>
 </template>
 <script>
-import authorize from '@/common/config/authorize.js'
+import authorize from '@/common/config/authorize.js'
+import wxLogin from '@/common/config/wxLogin.js'
 export default {
 	data() {
 		return {
@@ -59,7 +60,8 @@ export default {
 		this.params.userId = e.userId
 		if (e.serviceProviderId) {
 			this.params.serviceProviderId = e.serviceProviderId
-		}
+		}
+        wxLogin.wxLoginAuthorize()
 		this.initQueryUser()
 	},
 	methods: {
@@ -148,7 +150,9 @@ export default {
 				})
 		}
 	},
-	onShow() {}
+	onShow() {
+         
+    }
 }
 </script>
 

+ 1213 - 1029
pages/user/pay/card-order.vue

@@ -1,1030 +1,1214 @@
-<template>
-	<view class="container cashier">
-		<tui-skeleton
-			v-if="skeletonShow"
-			backgroundColor="#fafafa"
-			borderRadius="10rpx"
-			:isLoading="true"
-			:loadingType="5"
-		/>
-		<template v-else>
-			<cu-custom :navbar-data="nvabarData" @navigateBack="hanldNavigateBack"></cu-custom>
-			<view class="container-cash clearfix" :style="{ marginTop: CustomBar + 'px' }">
-				<view class="container-wrapper">
-					<view class="pay-content">
-						<view class="pay-top">
-							<view class="pay-paid">
-								<text class="txt-m">待付金额</text>
-								<text class="txt-b"><text class="small">¥</text>{{ obligation | NumFormat }}</text>
-							</view>
-							<view class="pay-payd">
-								<view class="pay-paids">
-									<text class="txt-m">应付总额</text>
-									<text class="txt-b">¥{{ payableAmount | NumFormat }}</text>
-								</view>
-								<view class="pay-paids">
-									<text class="txt-m">已支付金额</text>
-									<text class="txt-b">¥{{ receiptAmount | NumFormat }}</text>
-								</view>
-							</view>
-						</view>
-						<view class="pay-bot">
-							<view class="bot-title"><text>本次支付金额</text></view>
-							<view class="bot-input">
-								<text>¥</text>
-								<input
-									class="input"
-									type="digit"
-									v-model="payAmount"
-									@focus="focusInput"
-									@blur="blurInput"
-									placeholder="输入金额不能大于待付金额"
-									placeholder-class="placeholder"
-								/>
-							</view>
-							<view class="bot-resid">
-								<text class="bot-resid-le">应付剩余¥{{ balanceAmount | NumFormat }}</text>
-								<text class="bot-resid-ri" @click="hanldeShowPopup(0)"
-									>支付记录 <text class="iconfont icon-xiayibu"></text>
-								</text>
-							</view>
-						</view>
-					</view>
-					<view class="pay-checked">
-						<template v-if="showQuickpayMode">
-							<view class="pay-card-main" v-if="cardsList.length > 0">
-								<view class="pay-item-cell" @click="tabClick(3)">
-									<view class="item-icon">
-										<image
-											:src="
-												'https://static.caimei365.com/app/img/pay/icon_' +
-													defaultCards.bankCode +
-													'_@2x.png'
-											"
-										></image>
-									</view>
-									<view class="item-texts"
-										>{{ defaultCards.bankName }}(
-										{{ defaultCards.quickPayBankNumber | bankNumeberFilter }} )</view
-									>
-									<view class="item-checked">
-										<text
-											class="iconfont"
-											:class="[tabCurrentIndex === 3 ? 'icon-yixuanze3' : 'icon-weixuanze']"
-										></text>
-									</view>
-								</view>
-								<view class="pay-item-cell add" @click="hanldeShowPopup(1)">
-									<view class="item-texts add"><text>查看全部银行卡 / 添加新卡支付</text></view>
-									<view class="item-checked"> <text class="iconfont icon-xiayibu"></text> </view>
-								</view>
-							</view>
-							<view class="pay-item" @click="handleAddCard(2)" v-else>
-								<view class="pay-item-cell">
-									<view class="item-texts add"><text>添加银行卡快捷付款</text></view>
-									<view class="item-checked"> <text class="iconfont icon-xiayibu"></text> </view>
-								</view>
-							</view>
-						</template>
-<!-- 						<view class="pay-item" @click="tabClick(0)" v-if="showWeChatPayMode">
-							<view class="pay-item-cell">
-								<view class="item-icon"><text class="iconfont icon-weixinzhifu"></text></view>
-								<view class="item-texts"><text>微信支付</text></view>
-								<view class="item-checked">
-									<text
-										class="iconfont"
-										:class="[tabCurrentIndex === 0 ? 'icon-yixuanze3' : 'icon-weixuanze']"
-									></text>
-								</view>
-							</view>
-						</view> -->
-						<view class="pay-item" @click="tabClick(1)" v-if="showB2BpayMode">
-							<view class="pay-item-cell">
-								<view class="item-icon"><text class="iconfont icon-qiyewangyinzhifu"></text></view>
-								<view class="item-texts"><text>企业网银支付</text></view>
-								<view class="item-checked">
-									<text
-										class="iconfont"
-										:class="[tabCurrentIndex === 1 ? 'icon-yixuanze3' : 'icon-weixuanze']"
-									></text>
-								</view>
-							</view>
-						</view>
-						<view class="pay-item" @click="tabClick(2)">
-							<view class="pay-item-cell">
-								<view class="item-icon"><text class="iconfont icon-gerenwangyinzhifu"></text></view>
-								<view class="item-texts"><text>个人网银支付</text></view>
-								<view class="item-checked">
-									<text
-										class="iconfont"
-										:class="[tabCurrentIndex === 2 ? 'icon-yixuanze3' : 'icon-weixuanze']"
-									></text>
-								</view>
-							</view>
-						</view>
-					</view>
-					<view class="pay-statustext">
-						<view class="pay-statustext-inner">
-							<view class="pay-icon"> <text class="iconfont icon-gantanhao-yuankuang"></text> </view>
-							<view class="pay-text">
-								<view
-									>使用任何一种线上支付方式支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。</view
-								>
-							</view>
-						</view>
-					</view>
-				</view>
-				<view class="pay-button" :style="{ paddingBottom: isIphoneX ? '68rpx' : '24rpx' }">
-					<view class="btn" @click.stop="buttonSubMit" :class="isSubLoding ? 'disabled' : ''" :style="{ background: btnColor }">{{
-						buttonText
-					}}</view>
-				</view>
-			</view>
-		</template>
-		<!-- 支付链接弹窗 -->
-		<view class="alert spec" v-if="isShowTip">
-			<!-- 选择支付弹窗说明 -->
-			<view class="freight-alert" @tap="hideTips">
-				<view class="content">
-					<view class="title">
-						<text>支付链接</text> <text class="iconfont icon-iconfontguanbi" @click.stop="hideTips"></text>
-					</view>
-					<view class="text-content">
-						<view class="text"
-							>请复制以下链接,并发送至电脑端,在浏览器访问该链接并选择银行尽快完成支付</view
-						>
-						<view class="text-p">{{ payHttpUrl }}</view> <view class="text-b">链接有效期为72小时</view>
-					</view>
-					<view class="text-button" @click.stop="clipboard(payHttpUrl)">复制链接</view>
-				</view>
-			</view>
-		</view>
-		<!-- 支付记录 -->
-		<cm-record :show="popupShow" :list="discernReceipt" v-if="popupShow" />
-		<!-- 选择快捷支付银行 -->
-		<cm-cards
-			:show="popupShow1"
-			:list="cardsList"
-			@handleChoiceaCards="handleChoiceaCards"
-			@addCards="handleAddCard"
-			v-if="popupShow1"
-		/>
-		<!-- 弹窗提示 -->
-		<tui-modal
-			:show="modal"
-			@click="handleClick"
-			:content="contentModalText"
-			:button="modalButton"
-			color="#333"
-			:size="32"
-			shape="circle"
-			:maskClosable="false"
-		>
-		</tui-modal>
-	</view>
-</template>
-
-<script>
-import authorize from '@/common/config/authorize.js'
-import thorui from '@/components/clipboard/clipboard.thorui.js'
-import payMixins from '@/mixins/payMixins.js'
-import cardMixins from './mixins/cardMixins.js'
-import cmCards from './components/cm-cards-popup'
-import cmRecord from './components/cm-record-popup'
-export default {
-	mixins: [payMixins, cardMixins],
-	components: {
-		cmRecord,
-		cmCards
-	},
-	data() {
-		return {
-			skeletonShow: true,
-			orderId: 0,
-			shopOrderId: 0,
-			shopOrderInfo: {},
-			payType: '',
-			realPay: 0, //应付金额
-			payableAmount: 0, // 应付总额
-			receiptAmount: 0, // 已付金额
-			obligation: 0, //待付金额
-			balanceAmount: 0,
-			payAmount: 0,
-			nvabarData: {
-				//顶部自定义导航
-				showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
-				showSearch: 0,
-				title: '收银台', // 导航栏 中间的标题
-				haveBack: true,
-				textLeft: this.$store.state.isIphone
-			},
-			idCardList: [],
-			isIphoneX: this.$store.state.isIphoneX,
-			CustomBar: this.CustomBar, // 顶部导航栏高度
-			isShowTip: false,
-			discernReceipt: [],
-			showDigitKeyboard: false,
-			payHttpUrl: '',
-			mbOrderId: 0, // 支付记录订单Id
-			modal: false,
-			contentModalText: '本次支付金额已超出微信支付限额,请输入小于20万的金额。', //操作文字提示语句
-			modalButton: [
-				{
-					text: '知道了',
-					customStyle: {
-						color: '#fff',
-						bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
-					},
-					plain: false
-				}
-			],
-			quickParams: {
-			    userId: 0, 					//机构UserId
-			    quickPayBankNumber: '', 	//快捷支付用户银行卡号/信用卡号
-			    quickPayMobile: '', 		//快捷支付银行卡绑定手机号
-			    quickPayBankExpireTime: '', //快捷支付信用卡过期时间,只包含年月,格式yy-MM
-			    quickPayUserName: '', 		//快捷支付用户姓名
-			    idCard: '', 				//身份证号
-			    cvvCode: '',				//信用卡安全码
-			    quickPayFlag: 1,
-			    payAmount: 0,
-			    shopOrderId: 0
-			},
-			isSubLoding:false
-		}
-	},
-	onLoad(option) {
-		this.initData(option)
-	},
-	filters: {
-		NumFormat(value) {
-			if (!value) return '0.00'
-			/*原来用的是Number(value).toFixed(0),这样取整时有问题,例如0.51取整之后为1,感谢Nils指正*/
-			/*后来改成了 Number(value)|0,但是输入超过十一位就为负数了,具体见评论 */
-			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('.')
-			//=2表示数据有小数位
-			if (value2Array.length == 2) {
-				floatPart = value2Array[1].toString() //拿到小数部分
-				if (floatPart.length == 1) {
-					//补0,实际上用不着
-					return intPartFormat + '.' + floatPart + '0'
-				} else {
-					return intPartFormat + '.' + floatPart
-				}
-			} else {
-				return intPartFormat + floatPart
-			}
-		}
-	},
-	methods: {
-		initData(e) {
-			this.shopOrderId = e.shopOrderId
-			this.GetPayOrderInfo()
-			this.GetUserClubBanks()
-		},
-		GetPayOrderInfo() {
-			//初始化支付信息
-			this.PayService.PayOrderCheckoutShoporders({ shopOrderId: this.shopOrderId })
-				.then(response => {
-					let data = response.data
-					this.discernReceipt = data.discernReceipt // 支付记录
-					this.shopOrderInfo = data.shopOrder // 子订单
-					this.obligation = data.shopOrder.obligation // 待付金额
-					this.orderId = data.shopOrder.orderId // 主订单Id
-					this.receiptAmount = data.shopOrder.receiptAmount // 已付金额
-					this.payableAmount = data.shopOrder.realPay // 应付金额
-					this.payAmount = this.toFixedFn(this.obligation) // 自定义金额
-					this.balanceAmount = this.obligation - this.payAmount // 计算剩余支付金额
-					// 支付方式配置
-                    this.checkPayMode(data.onlinePayWays,data.weChatFlag)
-					setTimeout(() => {
-						this.skeletonShow = false
-					}, 500)
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		async GetUserClubBanks() {
-		    //获取列表
-		    try {
-		        const user = await this.$api.getStorage()
-		        const res = await this.UserService.userClubBanks({ userId:user.userId })
-		        this.cardsList = res.data
-		        this.defaultCards = this.cardsList[0]
-		        this.quickParams.userId = user.userId 
-		        this.quickParams.shopOrderId = Number(this.shopOrderId)
-		        this.quickParams.quickPayBankNumber = this.defaultCards.quickPayBankNumber 
-		        this.quickParams.quickPayMobile = this.defaultCards.quickPayMobile 
-		        this.quickParams.quickPayBankExpireTime = this.defaultCards.quickPayBankExpireTime ? this.defaultCards.quickPayBankExpireTime : ''
-		        this.quickParams.quickPayUserName = this.defaultCards.quickPayUserName 
-		        this.quickParams.idCard = this.defaultCards.idCard 
-		        this.quickParams.cvvCode = this.defaultCards.cvvCode ? this.defaultCards.cvvCode : '' 
-		    } catch (error) {
-		        console.log(error)
-		    }
-		},
-		handleAddCard(index) {
-			//跳转添加卡号支付
-			//quickPayFlag 1普通订单 ,payAmount 支付金额,单位元,shopOrderId 子订单Id
-			const data = {
-				payData: {
-					quickPayFlag: 1,
-					payAmount: this.payAmount,
-					shopOrderId: Number(this.shopOrderId)
-				},
-				orderId: this.orderId
-			}
-			this.$api.navigateTo(`/pages/user/pay/card-comfirm?type=${index}&data=${JSON.stringify(data)}`)
-		},
-		buttonSubMit() {
-			if(this.isSubLoding){ return }
-			switch (this.tabCurrentIndex) {
-				case 0: // 微信支付
-					this.handleUmTrackEvent('Um_Event_ConfirmWechatPay', '微信支付')
-					this.MiniWxPayFor()
-					break
-				case 1: // 企业网银
-					this.payType = '1'
-					this.handleUmTrackEvent('Um_Event_ConfirmEbankPay', '企业网银')
-					this.handlePayOrderPayLink()
-					break
-				case 2: // 个人网银
-					this.payType = '2'
-					this.handleUmTrackEvent('Um_Event_ConfirmAbankPay', '个人网银')
-					this.handlePayOrderPayLink()
-					break
-				case 3: // 快捷支付
-					this.handleUmTrackEvent('Um_Event_ConfirmAbankPay', '快捷支付')
-                    if(!this.quickParams.quickPayBankNumber){
-                        this.$util.msg('请先添加快捷支付银行卡', 2000)
+<template>
+    <view class="container cashier">
+        <tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading="true"
+            :loadingType="5" />
+        <template v-else>
+            <cu-custom :navbar-data="nvabarData" @navigateBack="hanldNavigateBack"></cu-custom>
+            <view class="container-cash clearfix" :style="{ marginTop: CustomBar + 'px' }">
+                <view class="container-wrapper">
+                    <view class="pay-content">
+                        <view class="pay-top">
+                            <view class="pay-paid">
+                                <text class="txt-m">待付金额</text>
+                                <text class="txt-b"><text class="small">¥</text>{{ obligation | NumFormat }}</text>
+                            </view>
+                            <view class="pay-payd">
+                                <view class="pay-paids">
+                                    <text class="txt-m">应付总额</text>
+                                    <text class="txt-b">¥{{ payableAmount | NumFormat }}</text>
+                                </view>
+                                <view class="pay-paids">
+                                    <text class="txt-m">已支付金额</text>
+                                    <text class="txt-b">¥{{ receiptAmount | NumFormat }}</text>
+                                </view>
+                            </view>
+                        </view>
+                        <view class="pay-bot">
+                            <view class="bot-title"><text>本次支付金额</text></view>
+                            <view class="bot-input">
+                                <text>¥</text>
+                                <input class="input" type="digit" v-model="payAmount" @focus="focusInput"
+                                    @blur="blurInput" placeholder="输入金额不能大于待付金额" placeholder-class="placeholder" />
+                            </view>
+                            <view class="bot-resid">
+                                <text class="bot-resid-le">应付剩余¥{{ balanceAmount | NumFormat }}</text>
+                                <text class="bot-resid-ri" @click="hanldeShowPopup(0)">支付记录 <text
+                                        class="iconfont icon-xiayibu"></text>
+                                </text>
+                            </view>
+                        </view>
+                    </view>
+                    <view class="pay-checked">
+                        <template v-if="!isBigReaFlag">
+                            <template v-if="showQuickpayMode">
+                                <view class="pay-card-main" v-if="cardsList.length > 0">
+                                    <view class="pay-item-cell" @click="tabClick(3)">
+                                        <view class="item-icon">
+                                            <image :src="
+                            												'https://static.caimei365.com/app/img/pay/icon_' +
+                            													defaultCards.bankCode +
+                            													'_@2x.png'
+                            											"></image>
+                                        </view>
+                                        <view class="item-texts">{{ defaultCards.bankName }}(
+                                            {{ defaultCards.quickPayBankNumber | bankNumeberFilter }} )
+                                        </view>
+                                        <view class="item-checked">
+                                            <text class="iconfont"
+                                                :class="[tabCurrentIndex === 3 ? 'icon-yixuanze3' : 'icon-weixuanze']"></text>
+                                        </view>
+                                    </view>
+                                    <view class="pay-item-cell add" @click="hanldeShowPopup(1)">
+                                        <view class="item-texts add"><text>查看全部银行卡 / 添加新卡支付</text></view>
+                                        <view class="item-checked"> <text class="iconfont icon-xiayibu"></text> </view>
+                                    </view>
+                                </view>
+                                <view class="pay-item" @click="handleAddCard(2)" v-else>
+                                    <view class="pay-item-cell">
+                                        <view class="item-texts add"><text>添加银行卡快捷付款</text></view>
+                                        <view class="item-checked"> <text class="iconfont icon-xiayibu"></text> </view>
+                                    </view>
+                                </view>
+                            </template>
+                            <!-- 						<view class="pay-item" @click="tabClick(0)" v-if="showWeChatPayMode">
+                            							<view class="pay-item-cell">
+                            								<view class="item-icon"><text class="iconfont icon-weixinzhifu"></text></view>
+                            								<view class="item-texts"><text>微信支付</text></view>
+                            								<view class="item-checked">
+                            									<text
+                            										class="iconfont"
+                            										:class="[tabCurrentIndex === 0 ? 'icon-yixuanze3' : 'icon-weixuanze']"
+                            									></text>
+                            								</view>
+                            							</view>
+                            						</view> -->
+                            <view class="pay-item" @click="tabClick(1)" v-if="showB2BpayMode">
+                                <view class="pay-item-cell">
+                                    <view class="item-icon"><text class="iconfont icon-qiyewangyinzhifu"></text></view>
+                                    <view class="item-texts"><text>企业网银支付</text></view>
+                                    <view class="item-checked">
+                                        <text class="iconfont"
+                                            :class="[tabCurrentIndex === 1 ? 'icon-yixuanze3' : 'icon-weixuanze']"></text>
+                                    </view>
+                                </view>
+                            </view>
+                            <view class="pay-item" @click="tabClick(2)">
+                                <view class="pay-item-cell">
+                                    <view class="item-icon"><text class="iconfont icon-gerenwangyinzhifu"></text></view>
+                                    <view class="item-texts"><text>个人网银支付</text></view>
+                                    <view class="item-checked">
+                                        <text class="iconfont"
+                                            :class="[tabCurrentIndex === 2 ? 'icon-yixuanze3' : 'icon-weixuanze']"></text>
+                                    </view>
+                                </view>
+                            </view>
+                        </template>
+                        <view class="pay-item" @click="tabClick(4)">
+                            <view class="pay-item-cell">
+                                <view class="item-icon"><text class="iconfont icon-daewangyinzhuanzhang"></text></view>
+                                <view class="item-texts"><text>银联转账支付</text></view>
+                                <view class="item-checked">
+                                    <text class="iconfont"
+                                        :class="[isBigReaFlag || tabCurrentIndex === 4 ? 'icon-yixuanze3' : 'icon-weixuanze']"></text>
+                                </view>
+                            </view>
+                        </view>
+                    </view>
+                    <view class="pay-statustext">
+                        <view class="pay-statustext-inner">
+                            <view class="pay-icon"> <text class="iconfont icon-gantanhao-yuankuang"></text> </view>
+                            <view class="pay-text">
+                                <view>使用任何一种线上支付方式支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。</view>
+                            </view>
+                        </view>
+                    </view>
+                </view>
+                <view class="pay-button" :style="{ paddingBottom: isIphoneX ? '68rpx' : '24rpx' }">
+                    <view class="btn" @click.stop="buttonSubMit" :class="isSubLoding ? 'disabled' : ''"
+                        :style="{ background: btnColor }">{{
+						buttonText
+					}}</view>
+                </view>
+            </view>
+        </template>
+        <!-- 支付链接弹窗 -->
+        <view class="alert spec" v-if="isShowTip">
+            <!-- 选择支付弹窗说明 -->
+            <view class="freight-alert" @tap="hideTips">
+                <view class="content">
+                    <view class="title">
+                        <text>支付链接</text> <text class="iconfont icon-iconfontguanbi" @click.stop="hideTips"></text>
+                    </view>
+                    <view class="text-content">
+                        <view class="text">请复制以下链接,并发送至电脑端,在浏览器访问该链接并选择银行尽快完成支付</view>
+                        <view class="text-p">{{ payHttpUrl }}</view>
+                        <view class="text-b">链接有效期为72小时</view>
+                    </view>
+                    <view class="text-button" @click.stop="clipboard(payHttpUrl)">复制链接</view>
+                </view>
+            </view>
+        </view>
+        <!--大额转账弹窗  -->
+        <tui-modal :show="bigPaymodal" :padding="'30rpx 30rpx'" @cancel="hideMobel" :custom="true" fadeIn>
+            <view class="tui-modal-custom">
+                <view class="tui-prompt-title">
+                    银联转账信息
+                    <text class="iconfont icon-iconfontguanbi" @click.stop="hideMobel"></text>
+                </view>
+                <view class="tui-prompt-text">
+                    <view class="tui-prompt-tips">注:请使用手机银行app或者网银等转账方式选择转账付款,填写以下信息进行银联转账。(付款成功后系统稍后会更新订单信息)</view>
+                    <view class="tui-prompt-item">
+                        <text class="text">收款账户名:</text>
+                        {{ bigPayInfo.receiverName }}
+                    </view>
+                    <view class="tui-prompt-item">
+                        <text class="text">收款账号:</text>
+                        {{ bigPayInfo.bankNumber }}
+                    </view>
+                    <view class="tui-prompt-item">
+                        <text class="text">收款机构:</text>
+                        广州合利宝支付科技有限公司/
+                        {{ bigPayInfo.bankName }}
+                    </view>
+                </view>
+                <view class="tui-prompt-flex">
+                    <view class="btn btn-confirm" @click="copyClipboard">
+                        <text class="iconfont icon-fuzhi_o"></text>
+                        复制账号信息
+                    </view>
+
+                </view>
+            </view>
+        </tui-modal>
+        <!-- 支付记录 -->
+        <cm-record :show="popupShow" :list="discernReceipt" v-if="popupShow" />
+        <!-- 选择快捷支付银行 -->
+        <cm-cards :show="popupShow1" :list="cardsList" @handleChoiceaCards="handleChoiceaCards"
+            @addCards="handleAddCard" v-if="popupShow1" />
+        <!-- 弹窗提示 -->
+        <tui-modal :show="modal" @click="handleClick" :content="contentModalText" :button="modalButton" color="#333"
+            :size="32" shape="circle" :maskClosable="false">
+        </tui-modal>
+    </view>
+</template>
+
+<script>
+    import authorize from '@/common/config/authorize.js'
+    import thorui from '@/components/clipboard/clipboard.thorui.js'
+    import payMixins from '@/mixins/payMixins.js'
+    import cardMixins from './mixins/cardMixins.js'
+    import cmCards from './components/cm-cards-popup'
+    import cmRecord from './components/cm-record-popup'
+    export default {
+        mixins: [payMixins, cardMixins],
+        components: {
+            cmRecord,
+            cmCards
+        },
+        data() {
+            return {
+                skeletonShow: true,
+                orderId: 0,
+                shopOrderId: 0,
+                shopOrderInfo: {},
+                payType: '',
+                realPay: 0, //应付金额
+                payableAmount: 0, // 应付总额
+                receiptAmount: 0, // 已付金额
+                obligation: 0, //待付金额
+                balanceAmount: 0,
+                payAmount: 0,
+                isBigReaFlag: false, // 判断是否使用过银联转账
+                bigPayInfo: { // 银联转账信息
+                    bankName: '', // 收款网点
+                    bankNumber: '', // 收款账号
+                    receiverName: '' // 收款账户名
+                },
+                nvabarData: {
+                    //顶部自定义导航
+                    showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
+                    showSearch: 0,
+                    title: '收银台', // 导航栏 中间的标题
+                    haveBack: true,
+                    textLeft: this.$store.state.isIphone
+                },
+                idCardList: [],
+                isIphoneX: this.$store.state.isIphoneX,
+                CustomBar: this.CustomBar, // 顶部导航栏高度
+                isShowTip: false,
+                discernReceipt: [],
+                showDigitKeyboard: false,
+                payHttpUrl: '',
+                mbOrderId: 0, // 支付记录订单Id
+                modal: false,
+                bigPaymodal: false,
+                contentModalText: '本次支付金额已超出微信支付限额,请输入小于20万的金额。', //操作文字提示语句
+                modalButton: [{
+                    text: '知道了',
+                    customStyle: {
+                        color: '#fff',
+                        bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
+                    },
+                    plain: false
+                }],
+                quickParams: {
+                    userId: 0, //机构UserId
+                    quickPayBankNumber: '', //快捷支付用户银行卡号/信用卡号
+                    quickPayMobile: '', //快捷支付银行卡绑定手机号
+                    quickPayBankExpireTime: '', //快捷支付信用卡过期时间,只包含年月,格式yy-MM
+                    quickPayUserName: '', //快捷支付用户姓名
+                    idCard: '', //身份证号
+                    cvvCode: '', //信用卡安全码
+                    quickPayFlag: 1,
+                    payAmount: 0,
+                    shopOrderId: 0
+                },
+                isSubLoding: false
+            }
+        },
+        onLoad(option) {
+            this.initData(option)
+        },
+        filters: {
+            NumFormat(value) {
+                if (!value) return '0.00'
+                /*原来用的是Number(value).toFixed(0),这样取整时有问题,例如0.51取整之后为1,感谢Nils指正*/
+                /*后来改成了 Number(value)|0,但是输入超过十一位就为负数了,具体见评论 */
+                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('.')
+                //=2表示数据有小数位
+                if (value2Array.length == 2) {
+                    floatPart = value2Array[1].toString() //拿到小数部分
+                    if (floatPart.length == 1) {
+                        //补0,实际上用不着
+                        return intPartFormat + '.' + floatPart + '0'
+                    } else {
+                        return intPartFormat + '.' + floatPart
+                    }
+                } else {
+                    return intPartFormat + floatPart
+                }
+            }
+        },
+        methods: {
+            initData(e) {
+                this.shopOrderId = e.shopOrderId
+                this.GetPayOrderInfo()
+                this.GetUserClubBanks()
+            },
+            async GetPayOrderInfo() {
+                //初始化支付信息
+                try {
+                    const { data } = await this.PayService.PayOrderCheckoutShoporders({ shopOrderId: this
+                            .shopOrderId })
+                    this.discernReceipt = data.discernReceipt // 支付记录
+                    this.shopOrderInfo = data.shopOrder // 子订单
+                    this.obligation = data.shopOrder.obligation // 待付金额
+                    this.orderId = data.shopOrder.orderId // 主订单Id
+                    this.receiptAmount = data.shopOrder.receiptAmount // 已付金额
+                    this.payableAmount = data.shopOrder.realPay // 应付金额
+                    this.payAmount = this.toFixedFn(this.obligation) // 自定义金额
+                    this.balanceAmount = this.obligation - this.payAmount // 计算剩余支付金额
+                    // 支付方式配置
+                    this.checkPayMode(data.onlinePayWays, data.weChatFlag)
+                    if (data.bankInfo) {
+                        this.bigPayInfo.bankNumber = data.bankInfo.bankNumber
+                        this.bigPayInfo.receiverName = data.bankInfo.receiverName
+                        this.bigPayInfo.bankName = data.bankInfo.bankName
+                        this.tabCurrentIndex = 4
+                        this.isBigReaFlag = true
+                    }
+                    setTimeout(() => {
+                        this.skeletonShow = false
+                    }, 500)
+                } catch (error) {
+                    console.log(error)
+                }
+            },
+            async GetUserClubBanks() {
+                //获取列表
+                try {
+                    const user = await this.$api.getStorage()
+                    const res = await this.UserService.userClubBanks({ userId: user.userId })
+                    this.cardsList = res.data
+                    this.defaultCards = this.cardsList[0]
+                    this.quickParams.userId = user.userId
+                    this.quickParams.shopOrderId = Number(this.shopOrderId)
+                    this.quickParams.quickPayBankNumber = this.defaultCards.quickPayBankNumber
+                    this.quickParams.quickPayMobile = this.defaultCards.quickPayMobile
+                    this.quickParams.quickPayBankExpireTime = this.defaultCards.quickPayBankExpireTime ? this
+                        .defaultCards.quickPayBankExpireTime : ''
+                    this.quickParams.quickPayUserName = this.defaultCards.quickPayUserName
+                    this.quickParams.idCard = this.defaultCards.idCard
+                    this.quickParams.cvvCode = this.defaultCards.cvvCode ? this.defaultCards.cvvCode : ''
+                } catch (error) {
+                    console.log(error)
+                }
+            },
+            handleAddCard(index) {
+                //跳转添加卡号支付
+                //quickPayFlag 1普通订单 ,payAmount 支付金额,单位元,shopOrderId 子订单Id
+                const data = {
+                    payData: {
+                        quickPayFlag: 1,
+                        payAmount: this.payAmount,
+                        shopOrderId: Number(this.shopOrderId)
+                    },
+                    orderId: this.orderId
+                }
+                this.$api.navigateTo(`/pages/user/pay/card-comfirm?type=${index}&data=${JSON.stringify(data)}`)
+            },
+            buttonSubMit() {
+                if (this.isSubLoding) { return }
+                switch (this.tabCurrentIndex) {
+                    case 0: // 微信支付
+                        this.handleUmTrackEvent('Um_Event_ConfirmWechatPay', '微信支付')
+                        this.MiniWxPayFor()
+                        break
+                    case 1: // 企业网银
+                        this.payType = '1'
+                        this.handleUmTrackEvent('Um_Event_ConfirmEbankPay', '企业网银')
+                        this.handlePayOrderPayLink()
+                        break
+                    case 2: // 个人网银
+                        this.payType = '2'
+                        this.handleUmTrackEvent('Um_Event_ConfirmAbankPay', '个人网银')
+                        this.handlePayOrderPayLink()
+                        break
+                    case 3: // 快捷支付
+                        this.handleUmTrackEvent('Um_Event_ConfirmAbankPay', '快捷支付')
+                        if (!this.quickParams.quickPayBankNumber) {
+                            this.$util.msg('请先添加快捷支付银行卡', 2000)
+                            return
+                        }
+                        this.orderPayQuickPay()
+                        break
+                    case 4: // 银联转账支付
+                        this.payType = '2'
+                        this.handleUmTrackEvent('Um_Event_ConfirmAbankPay', '银联转账支付')
+                        this.handlePayOrderBigPay()
+                        break
+                }
+                this.isSubLoding = true
+            },
+            handleUmTrackEvent(UmName, UmPageName) {
+                // 友盟埋点收集
+                if (process.env.NODE_ENV != 'development') {
+                    this.$uma.trackEvent(UmName, {
+                        Um_Key_PageName: UmPageName,
+                        Um_Key_SourcePage: '线上支付',
+                        Um_Key_PayName: `${this.buttonText}`,
+                        Um_Key_PayOrderID: `${this.shopOrderId}`
+                    })
+                }
+            },
+            async orderPayQuickPay() {
+                //快捷支付
+                try {
+                    this.quickParams.payAmount = this.payAmount
+                    console.log('payAmount', this.quickParams.payAmount)
+                    const res = await this.PayService.orderPayQuickPay(this.quickParams)
+                    const data = {
+                        params: this.quickParams,
+                        payData: res.data,
+                        orderId: this.orderId,
+                        payAmount: this.payAmount
+                    }
+                    this.isSubLoding = false
+                    this.$api.navigateTo(
+                        `/pages/user/pay/card-comfirm-sub?type=3&data=${JSON.stringify(data)}`
+                    )
+                } catch (error) {
+                    this.$util.msg(error.msg, 2000)
+                    this.isSubLoding = false
+                }
+            },
+            async handlePayOrderPayLink() {
+                // 企业网银  个人网银
+                if (this.payAmount == 0) {
+                    this.$util.msg('请输入本次支付的金额', 2000)
+                    return
+                }
+                if (this.payAmount <= 10) {
+                    this.$util.msg('网银支付的金额必须大于¥10.00', 2000)
+                    return
+                }
+                if (this.payType == '1') {
+                    if (this.payAmount != this.obligation) {
+                        this.contentModalText = '企业网银支付每次收取的手续费较高,建议一次性全额付款。'
+                        this.modal = true
                         return
-                    }
-					this.orderPayQuickPay()
-					break
-			}
-			this.isSubLoding = true
-		},
-		handleUmTrackEvent(UmName, UmPageName) {
-			// 友盟埋点收集
-			if (process.env.NODE_ENV != 'development') {
-				this.$uma.trackEvent(UmName, {
-					Um_Key_PageName: UmPageName,
-					Um_Key_SourcePage: '线上支付',
-					Um_Key_PayName: `${this.buttonText}`,
-					Um_Key_PayOrderID: `${this.shopOrderId}`
-				})
-			}
-		},
-		async orderPayQuickPay() {
-			//快捷支付
-			try {
-				this.quickParams.payAmount = this.payAmount
-				console.log('payAmount',this.quickParams.payAmount)
-				const res = await this.PayService.orderPayQuickPay(this.quickParams)
-				const data = {
-					params: this.quickParams,
-					payData: res.data,
-					orderId: this.orderId,
-					payAmount: this.payAmount
-				}
-				this.isSubLoding = false
-				this.$api.navigateTo(
-					`/pages/user/pay/card-comfirm-sub?type=3&data=${JSON.stringify(data)}`
-				)
-			} catch (error) {
-				this.$util.msg(error.msg, 2000)
-				this.isSubLoding = false
-			}
-		},
-		async handlePayOrderPayLink() {
-			// 企业网银  个人网银
-			if (this.payAmount == 0) {
-				this.$util.msg('请输入本次支付的金额', 2000)
-				return
-			}
-			if (this.payAmount <= 10) {
-				this.$util.msg('网银支付的金额必须大于¥10.00', 2000)
-				return
-			}
-			if (this.payType == '1') {
-				if (this.payAmount != this.obligation) {
-					this.contentModalText = '企业网银支付每次收取的手续费较高,建议一次性全额付款。'
-					this.modal = true
-					return
-				}
-			}
-			try {
-				const linkParams = {
-					unpaidAmount: this.payAmount,
-					shopOrderId: this.shopOrderId,
-					payType: this.payType
-				}
-			    const res = await this.PayService.PayOrderPayLink(linkParams)
-				this.payHttpUrl = res.data
-				this.isSubLoding = false
-				this.isShowTip = true
-				console.log('isShowTip',this.isShowTip)
-			} catch (error) {
-			    console.log(error)
-				this.isSubLoding = false
-			}
-		},
-		async MiniWxPayFor() {
-			// 微信支付
-			if (this.payAmount > 200000) {
-				this.modal = true
-				return
-			}
-			if (this.payAmount == 0) {
-				this.$util.msg('请输入本次支付的金额', 2000)
-				return
-			}
-			if (this.payAmount * 100 < 2) {
-				this.$util.msg('本次支付的金额必须大于¥0.02', 2000)
-				return
-			}
-			// 获取微信code
-			const wechatCode = await authorize.getCode('weixin')
-			const params = {
-				payAmount: this.payAmount,
-				payType: 'XCX',
-				code: wechatCode,
-				shopOrderId: this.shopOrderId
-			}
-			this.weChatMiniOrderWxPay(params)
-			this.isSubLoding = false
-		},
-		handleClick() {
-			this.modal = false
-			this.isSubLoding = false
-		},
-		confirmEvent(value) {
-			//点击自定义键盘完成的回调函数
-			this.chechValue(value)
-			this.showDigitKeyboard = false
-		},
-		blurInput(e) {
-			this.chechValue(e.detail.value)
-		},
-		focusInput() {
-			// this.showDigitKeyboard = true
-		},
-		hideKeyboard() {
-			this.showDigitKeyboard = false
-		},
-		chechValue(value) {
-			let patern = /\d+\.\d+/g
-			if (value && value.split('.').length > 2) {
-				value = patern.exec(value)
-			}
-			if (value == '' || value < 0) {
-				this.payAmount = this.quickParams.payAmount =  ''
-				this.balanceAmount = this.obligation
-			} else if (value > this.obligation) {
-				this.payAmount = this.quickParams.payAmount = this.toFixedFn(this.obligation)
-				this.balanceAmount = this.toFixedFn(this.obligation - this.payAmount)
-			} else {
-				this.payAmount = this.quickParams.payAmount = this.toFixedFn(value)
-				this.balanceAmount = this.toFixedFn(this.obligation - this.payAmount)
-			}
-		},
-		hanldNavigateBack() {
-			//页面返回
-			uni.navigateBack({
-				delta: 1
-			})
-		},
-		hideTips() {
-			//隐藏弹窗
-			this.isShowTip = false
-		},
-		toFixedFn(text) {
-			//处理小数点后两位数
-			return Number(text).toFixed(2)
-		},
-		copyClipboard(data) {
-			//复制账号
-			thorui.getClipboardData(data, res => {
-				if (res) {
-					this.$util.msg('已复制', 2000)
-				} else {
-					this.$util.msg('复制失败', 2000)
-				}
-			})
-		},
-		clipboard(data) {
-			//复制链接
-			console.log('data', data)
-			thorui.getClipboardData(data, res => {
-				if (res) {
-					this.isShowTip = false
-					this.$util.msg('已复制', 2000)
-					// 友盟埋点收集复制网银链接
-					if (process.env.NODE_ENV != 'development') {
-						this.$uma.trackEvent('Um_Event_CopyUnionPay', {
-							Um_Key_PageName: '网银支付',
-							Um_Key_SourcePage: '线上支付',
-							Um_Key_PayName: `${this.buttonText}`,
-							Um_Key_PayOrderID: `${this.shopOrderId}`
-						})
-					}
-				} else {
-					this.$util.msg('复制失败', 2000)
-				}
-			})
-		},
-		discard() {
-			//丢弃
-		}
-	},
-	onShow() {}
-}
-</script>
-
-<style lang="scss">
-page {
-	height: auto !important;
-	background-color: #ffffff;
-}
-.container-cash {
-	width: 100%;
-	.container-wrapper {
-		width: 100%;
-		margin: 0 auto;
-		.pay-content {
-			width: 100%;
-			height: 420rpx;
-			box-sizing: border-box;
-			padding: 64rpx 35rpx 0 35rpx;
-			background: url(https://img.caimei365.com/group1/M00/03/BD/Cmis218elN6AY6VeAAqw4n3n4nw186.png) no-repeat;
-			background-size: cover;
-			float: left;
-			position: relative;
-			.pay-top {
-				width: 100%;
-				height: auto;
-				float: left;
-				margin-bottom: 44rpx;
-				.pay-paid {
-					width: 100%;
-					height: auto;
-					margin-bottom: 38rpx;
-					text {
-						line-height: 48rpx;
-						text-align: left;
-						color: #ffffff;
-						width: 100%;
-					}
-					.txt-m {
-						font-size: $font-size-26;
-						opacity: 0.7;
-						display: inline-block;
-					}
-					.txt-b {
-						font-size: $font-size-48;
-						display: inline-block;
-						.small {
-							font-size: $font-size-32;
-						}
-					}
-				}
-				.pay-payd {
-					width: 100%;
-					height: auto;
-					.pay-paids {
-						height: auto;
-						float: left;
-						margin-right: 48rpx;
-						text {
-							line-height: 48rpx;
-							text-align: left;
-							color: #ffffff;
-						}
-						.txt-m {
-							width: 100%;
-							display: inline-block;
-							font-size: $font-size-26;
-							opacity: 0.7;
-						}
-						.txt-b {
-							width: 100%;
-							display: inline-block;
-							font-size: $font-size-32;
-						}
-					}
-				}
-			}
-			.pay-bot {
-				width: 680rpx;
-				height: 240rpx;
-				padding: 24rpx;
-				box-sizing: border-box;
-				background: #ffffff;
-				border-radius: 28rpx;
-				box-shadow: 0 2px 6px rgba(255, 77, 0, 0.17);
-				position: absolute;
-				bottom: -150rpx;
-				left: 35rpx;
-				.bot-title {
-					line-height: 36rpx;
-					font-size: $font-size-26;
-					color: #666666;
-				}
-				.bot-input {
-					width: 100%;
-					height: 66rpx;
-					margin: 15rpx 0;
-					border-bottom: 1px solid #ebebeb;
-					line-height: 66rpx;
-					font-size: $font-size-32;
-					color: $text-color;
-					text {
-						display: block;
-						float: left;
-					}
-					.input {
-						font-size: $font-size-40;
-						width: 500rpx;
-						height: 66rpx;
-						padding: 0 10rpx;
-						line-height: 66rpx;
-						float: left;
-						.none {
-							color: $text-color;
-							opacity: 0.3;
-						}
-						.text {
-							color: $text-color;
-						}
-					}
-					.placeholder {
-						font-size: $font-size-26;
-					}
-				}
-				.bot-resid {
-					line-height: 36rpx;
-					font-size: $font-size-26;
-					margin-top: 24rpx;
-					.bot-resid-le {
-						display: inline-block;
-						float: left;
-						color: $color-system;
-					}
-					.bot-resid-ri {
-						display: inline-block;
-						float: right;
-						color: #1890f9;
-						.iconfont {
-							font-size: 32rpx;
-						}
-					}
-				}
-			}
-		}
-		.pay-checked {
-			width: 100%;
-			height: auto;
-			float: left;
-			box-sizing: border-box;
-			padding: 0 0 32rpx 0;
-			border-top: 1px solid #e1e1e1;
-			margin-top: 180rpx;
-			.pay-card-main {
-				width: 100%;
-				height: auto;
-				float: left;
-				border-top: 12px solid #f7f7f7;
-				border-bottom: 12px solid #f7f7f7;
-				box-sizing: border-box;
-				padding: 0 32rpx;
-				.pay-item-cell {
-					height: 100rpx;
-					box-sizing: border-box;
-					padding: 26rpx 0;
-					background-color: #ffffff;
-					border-bottom: 1px solid #e1e1e1;
-					&.add {
-						border-bottom: none;
-						padding-left: 66rpx;
-					}
-					.item-icon {
-						width: 48rpx;
-						height: 48rpx;
-						margin-right: 20rpx;
-						float: left;
-						image {
-							width: 48rpx;
-							height: 48rpx;
-							display: block;
-						}
-					}
-					.item-texts {
-						line-height: 48rpx;
-						font-size: $font-size-28;
-						color: $text-color;
-						float: left;
-						&.add {
-							font-weight: bold;
-						}
-					}
-					.item-checked {
-						width: 48rpx;
-						height: 48rpx;
-						float: right;
-						text-align: center;
-						line-height: 48rpx;
-						font-size: $font-size-40;
-						color: #ffffff;
-						.icon-weixuanze {
-							color: #b2b2b2;
-						}
-						.icon-yixuanze3 {
-							color: #ff5b00;
-						}
-						.icon-xiayibu {
-							color: #b2b2b2;
-						}
-					}
-				}
-			}
-			.pay-item {
-				width: 100%;
-				height: auto;
-				box-sizing: border-box;
-				float: left;
-				padding: 0 32rpx;
-				.pay-item-cell {
-					height: 100rpx;
-					box-sizing: border-box;
-					padding: 26rpx 0;
-					background-color: #ffffff;
-					border-bottom: 1px solid #e1e1e1;
-					.item-icon {
-						width: 48rpx;
-						height: 48rpx;
-						float: left;
-						text-align: center;
-						line-height: 48rpx;
-						margin-right: 20rpx;
-						.iconfont {
-							font-size: 48rpx;
-						}
-						.icon-weixinzhifu {
-							color: #0abc64;
-						}
-						.icon-gerenwangyinzhifu {
-							color: #16afe8;
-						}
-						.icon-qiyewangyinzhifu {
-							color: #007acc;
-						}
-					}
-					.item-texts {
-						line-height: 48rpx;
-						font-size: $font-size-28;
-						color: $text-color;
-						float: left;
-						&.add {
-							font-weight: bold;
-						}
-					}
-					.item-checked {
-						width: 48rpx;
-						height: 48rpx;
-						float: right;
-						text-align: center;
-						line-height: 48rpx;
-						font-size: $font-size-40;
-						color: #ffffff;
-						.icon-weixuanze {
-							color: #b2b2b2;
-						}
-						.icon-yixuanze3 {
-							color: #ff5b00;
-						}
-						.icon-xiayibu {
-							color: #b2b2b2;
-						}
-					}
-				}
-			}
-		}
-		.pay-statustext {
-			width: 100%;
-			height: auto;
-			float: left;
-			margin-top: 40rpx;
-			padding-bottom: 160rpx;
-			.pay-statustext-inner {
-				width: 662rpx;
-				height: 80rpx;
-				margin: 0 auto;
-				border: 1px solid #cccccc;
-				padding: 20rpx;
-				border-radius: 8rpx;
-				.pay-icon {
-					width: 62rpx;
-					height: 100%;
-					float: left;
-					text-align: center;
-					.iconfont {
-						color: #999999;
-						font-size: $font-size-36;
-						line-height: 20rpx;
-					}
-				}
-				.pay-text {
-					width: 560rpx;
-					height: 100%;
-					float: left;
-					line-height: 40rpx;
-					font-size: $font-size-24;
-					color: #999999;
-					text-align: justify;
-				}
-			}
-		}
-	}
-	.pay-button {
-		width: 600rpx;
-		background-color: #ffffff;
-		position: fixed;
-		height: 88rpx;
-		padding: 24rpx 75rpx 0 75rpx;
-		bottom: 0;
-		.btn {
-			width: 100%;
-			height: 88rpx;
-			border-radius: 44rpx;
-			font-size: $font-size-28;
-			line-height: 88rpx;
-			color: #ffffff;
-			margin: 0 auto;
-			text-align: center;
-			background: $btn-confirm;
-			&.disabled{
-				background: #e1e1e1 !important;
-			}
-		}
-	}
-}
-.freight-alert {
-	width: 100%;
-	height: 100%;
-	background: rgba(0, 0, 0, 0.5);
-	position: fixed;
-	top: 0;
-	left: 0;
-	z-index: 8888;
-	transition: all 0.4s;
-	&.none {
-		display: none;
-	}
-	&.show {
-		display: block;
-	}
-	.content {
-		width: 422rpx;
-		height: 434rpx;
-		position: absolute;
-		background: $bg-color;
-		left: 0;
-		right: 0;
-		bottom: 0;
-		top: 0;
-		margin: auto;
-		padding: 20rpx 32rpx;
-		border-radius: 12rpx;
-		.title {
-			width: 100%;
-			height: 68rpx;
-			line-height: 68rpx;
-			font-size: $font-size-28;
-			color: $text-color;
-			text-align: center;
-			position: relative;
-			.icon-iconfontguanbi {
-				width: 68rpx;
-				height: 68rpx;
-				text-align: center;
-				line-height: 68rpx;
-				position: absolute;
-				right: 0;
-				top: 0;
-				font-size: $font-size-36;
-				color: #999999;
-			}
-		}
-		.text-content {
-			width: 100%;
-			height: auto;
-			.text {
-				padding: 20rpx 0 0 0;
-				line-height: 44rpx;
-				font-size: $font-size-26;
-				color: #666666;
-				text-align: justify;
-			}
-			.text-p {
-				width: 100%;
-				line-height: 44rpx;
-				font-size: $font-size-26;
-				color: $color-system;
-				text-align: left;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				word-break: break-all;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 1;
-				overflow: hidden;
-			}
-			.text-b {
-				line-height: 44rpx;
-				font-size: $font-size-24;
-				color: #999999;
-				text-align: left;
-			}
-		}
-		.text-button {
-			width: 100%;
-			height: 88rpx;
-			line-height: 88rpx;
-			background: $btn-confirm;
-			font-size: $font-size-28;
-			border-radius: 44rpx;
-			color: #ffffff;
-			text-align: center;
-			margin-top: 20rpx;
-		}
-	}
-}
-.tui-prompt-title {
-	width: 100%;
-	height: 44rpx;
-	line-height: 44rpx;
-	padding: 20rpx 0;
-	text-align: center;
-	color: #333333;
-	border-bottom: 1px solid #e2e7ef;
-}
-.tui-prompt-text {
-	padding-top: 20rpx;
-	.tui-prompt-tips {
-		width: 100%;
-		line-height: 36rpx;
-		font-size: $font-size-22;
-		color: #ff5b00;
-		text-align: justify;
-		margin-bottom: 24rpx;
-	}
-	.tui-prompt-item {
-		width: 100%;
-		line-height: 60rpx;
-		color: #333333;
-		font-size: $font-size-26;
-		.text {
-			font-weight: bold;
-		}
-		.copy {
-			height: 38rpx;
-			box-sizing: border-box;
-			padding: 0 24rpx;
-			text-align: center;
-			line-height: 36rpx;
-			display: inline-block;
-			.iconfont {
-				font-size: $font-size-40;
-				color: #666666;
-			}
-		}
-	}
-}
-.tui-prompt-flex {
-	width: 100%;
-	height: auto;
-	margin-top: 20rpx;
-	box-sizing: border-box;
-	padding: 0 35rpx;
-	.btn {
-		width: 100%;
-		line-height: 84rpx;
-		font-size: $font-size-26;
-		text-align: center;
-		color: #ffffff;
-		border-radius: 44rpx;
-		margin: 20rpx 0;
-		&.btn-cancel {
-			background: #ffffff;
-			color: #333333;
-			border: 1px solid #979797;
-		}
-		&.btn-confirm {
-			background: $btn-confirm;
-		}
-	}
-}
-</style>
+                    }
+                }
+                try {
+                    const linkParams = {
+                        unpaidAmount: this.payAmount,
+                        shopOrderId: this.shopOrderId,
+                        payType: this.payType
+                    }
+                    const res = await this.PayService.PayOrderPayLink(linkParams)
+                    this.payHttpUrl = res.data
+                    this.isSubLoding = false
+                    this.isShowTip = true
+                    console.log('isShowTip', this.isShowTip)
+                } catch (error) {
+                    console.log(error)
+                    this.isSubLoding = false
+                }
+            },
+            async handlePayOrderBigPay() { // 银联转账支付
+                if (this.payAmount * 1 === 0) {
+                    this.$util.msg('请输入本次支付的金额', 2000)
+                    return
+                }
+                if (this.payAmount * 1 !== this.obligation) {
+                    this.contentModalText = '银联转账支付每次收取的手续费较高,请一次性全额付款。'
+                    this.modal = true
+                    return
+                }
+                if (this.isBigReaFlag) {
+                    this.bigPaymodal = true
+                    this.isSubLoding = false
+                } else {
+                    this.PayOrderLarge()
+                }
+            },
+            // 调用获取银联转账账号
+            async PayOrderLarge() {
+                try {
+                    const user = await this.$api.getStorage()
+                    const params = {
+                        payType: 'LARGE',
+                        payAmount: this.payAmount,
+                        shopOrderId: this.shopOrderId,
+                        orderId: this.orderId,
+                        userId: user.userId,
+                    }
+                    const { data } = await this.PayService.PayOrderLarge(params)
+                    this.bigPayInfo.bankNumber = data.rt9_largePaymentNo
+                    this.bigPayInfo.receiverName = data.rt10_receiverName
+                    this.bigPayInfo.bankName = data.rt11_bankName
+                    this.bigPaymodal = true
+                    console.log('PayInfo', this.bigPayInfo)
+                    this.isSubLoding = false
+                } catch (error) {
+                    console.log(error)
+                    this.isSubLoding = false
+                }
+            },
+            async MiniWxPayFor() {
+                // 微信支付
+                if (this.payAmount > 200000) {
+                    this.modal = true
+                    return
+                }
+                if (this.payAmount == 0) {
+                    this.$util.msg('请输入本次支付的金额', 2000)
+                    return
+                }
+                if (this.payAmount * 100 < 2) {
+                    this.$util.msg('本次支付的金额必须大于¥0.02', 2000)
+                    return
+                }
+                // 获取微信code
+                const wechatCode = await authorize.getCode('weixin')
+                const params = {
+                    payAmount: this.payAmount,
+                    payType: 'XCX',
+                    code: wechatCode,
+                    shopOrderId: this.shopOrderId
+                }
+                this.weChatMiniOrderWxPay(params)
+                this.isSubLoding = false
+            },
+            // 校验银联转账回调
+            async handleBigPayClick() {
+                try {
+                    const { data } = await this.PayService.PayOrderFindOrderStatus({ mbOrderId: this.mbOrderId })
+                    const linkData = {
+                        payAmount: this.payAmount,
+                        orderId: this.orderId,
+                        type: data.status === '1' ? 'success' : 'error'
+                    }
+                    if (data.status === '1') {
+                        this.$api.navigateTo(
+                            `/pages/user/order/order-success?data=${JSON.stringify({ data: linkData })}`)
+                    } else {
+                        this.$api.navigateTo(
+                            `/pages/user/order/order-success-tips?data=${JSON.stringify({ data: linkData })}`)
+                    }
+                } catch (error) {
+                    console.log(error)
+
+                }
+            },
+            // 关闭银联转账信息弹窗
+            hideMobel() {
+                this.bigPaymodal = false
+                this.isSubLoding = false
+            },
+            handleClick() {
+                this.modal = false
+                this.isSubLoding = false
+            },
+            confirmEvent(value) {
+                //点击自定义键盘完成的回调函数
+                this.chechValue(value)
+                this.showDigitKeyboard = false
+            },
+            blurInput(e) {
+                this.chechValue(e.detail.value)
+            },
+            focusInput() {
+                // this.showDigitKeyboard = true
+            },
+            hideKeyboard() {
+                this.showDigitKeyboard = false
+            },
+            chechValue(value) {
+                let patern = /\d+\.\d+/g
+                if (value && value.split('.').length > 2) {
+                    value = patern.exec(value)
+                }
+                if (value == '' || value < 0) {
+                    this.payAmount = this.quickParams.payAmount = ''
+                    this.balanceAmount = this.obligation
+                } else if (value > this.obligation) {
+                    this.payAmount = this.quickParams.payAmount = this.toFixedFn(this.obligation)
+                    this.balanceAmount = this.toFixedFn(this.obligation - this.payAmount)
+                } else {
+                    this.payAmount = this.quickParams.payAmount = this.toFixedFn(value)
+                    this.balanceAmount = this.toFixedFn(this.obligation - this.payAmount)
+                }
+            },
+            hanldNavigateBack() {
+                //页面返回
+                uni.navigateBack({
+                    delta: 1
+                })
+            },
+            hideTips() {
+                //隐藏弹窗
+                this.isShowTip = false
+            },
+            toFixedFn(text) {
+                //处理小数点后两位数
+                return Number(text).toFixed(2)
+            },
+            copyClipboard() {
+                //复制账号
+                const data =
+                    `收款账户名:${this.bigPayInfo.receiverName}\n收款账号:${this.bigPayInfo.bankNumber}\n收款机构:广州合利宝支付科技有限公司(${ this.bigPayInfo.bankName })`
+                thorui.getClipboardData(data, res => {
+                    if (res) {
+                        this.$util.msg('已复制', 2000)
+                    } else {
+                        this.$util.msg('复制失败', 2000)
+                    }
+                })
+            },
+            clipboard(data) {
+                //复制链接
+                console.log('data', data)
+                thorui.getClipboardData(data, res => {
+                    if (res) {
+                        this.isShowTip = false
+                        this.$util.msg('已复制', 2000)
+                        // 友盟埋点收集复制网银链接
+                        if (process.env.NODE_ENV != 'development') {
+                            this.$uma.trackEvent('Um_Event_CopyUnionPay', {
+                                Um_Key_PageName: '网银支付',
+                                Um_Key_SourcePage: '线上支付',
+                                Um_Key_PayName: `${this.buttonText}`,
+                                Um_Key_PayOrderID: `${this.shopOrderId}`
+                            })
+                        }
+                    } else {
+                        this.$util.msg('复制失败', 2000)
+                    }
+                })
+            },
+            discard() {
+                //丢弃
+            }
+        },
+        onShow() {}
+    }
+</script>
+
+<style lang="scss">
+    page {
+        height: auto !important;
+        background-color: #ffffff;
+    }
+
+    .container-cash {
+        width: 100%;
+
+        .container-wrapper {
+            width: 100%;
+            margin: 0 auto;
+
+            .pay-content {
+                width: 100%;
+                height: 420rpx;
+                box-sizing: border-box;
+                padding: 64rpx 35rpx 0 35rpx;
+                background: url(https://img.caimei365.com/group1/M00/03/BD/Cmis218elN6AY6VeAAqw4n3n4nw186.png) no-repeat;
+                background-size: cover;
+                float: left;
+                position: relative;
+
+                .pay-top {
+                    width: 100%;
+                    height: auto;
+                    float: left;
+                    margin-bottom: 44rpx;
+
+                    .pay-paid {
+                        width: 100%;
+                        height: auto;
+                        margin-bottom: 38rpx;
+
+                        text {
+                            line-height: 48rpx;
+                            text-align: left;
+                            color: #ffffff;
+                            width: 100%;
+                        }
+
+                        .txt-m {
+                            font-size: $font-size-26;
+                            opacity: 0.7;
+                            display: inline-block;
+                        }
+
+                        .txt-b {
+                            font-size: $font-size-48;
+                            display: inline-block;
+
+                            .small {
+                                font-size: $font-size-32;
+                            }
+                        }
+                    }
+
+                    .pay-payd {
+                        width: 100%;
+                        height: auto;
+
+                        .pay-paids {
+                            height: auto;
+                            float: left;
+                            margin-right: 48rpx;
+
+                            text {
+                                line-height: 48rpx;
+                                text-align: left;
+                                color: #ffffff;
+                            }
+
+                            .txt-m {
+                                width: 100%;
+                                display: inline-block;
+                                font-size: $font-size-26;
+                                opacity: 0.7;
+                            }
+
+                            .txt-b {
+                                width: 100%;
+                                display: inline-block;
+                                font-size: $font-size-32;
+                            }
+                        }
+                    }
+                }
+
+                .pay-bot {
+                    width: 680rpx;
+                    height: 240rpx;
+                    padding: 24rpx;
+                    box-sizing: border-box;
+                    background: #ffffff;
+                    border-radius: 28rpx;
+                    box-shadow: 0 2px 6px rgba(255, 77, 0, 0.17);
+                    position: absolute;
+                    bottom: -150rpx;
+                    left: 35rpx;
+
+                    .bot-title {
+                        line-height: 36rpx;
+                        font-size: $font-size-26;
+                        color: #666666;
+                    }
+
+                    .bot-input {
+                        width: 100%;
+                        height: 66rpx;
+                        margin: 15rpx 0;
+                        border-bottom: 1px solid #ebebeb;
+                        line-height: 66rpx;
+                        font-size: $font-size-32;
+                        color: $text-color;
+
+                        text {
+                            display: block;
+                            float: left;
+                        }
+
+                        .input {
+                            font-size: $font-size-40;
+                            width: 500rpx;
+                            height: 66rpx;
+                            padding: 0 10rpx;
+                            line-height: 66rpx;
+                            float: left;
+
+                            .none {
+                                color: $text-color;
+                                opacity: 0.3;
+                            }
+
+                            .text {
+                                color: $text-color;
+                            }
+                        }
+
+                        .placeholder {
+                            font-size: $font-size-26;
+                        }
+                    }
+
+                    .bot-resid {
+                        line-height: 36rpx;
+                        font-size: $font-size-26;
+                        margin-top: 24rpx;
+
+                        .bot-resid-le {
+                            display: inline-block;
+                            float: left;
+                            color: $color-system;
+                        }
+
+                        .bot-resid-ri {
+                            display: inline-block;
+                            float: right;
+                            color: #1890f9;
+
+                            .iconfont {
+                                font-size: 32rpx;
+                            }
+                        }
+                    }
+                }
+            }
+
+            .pay-checked {
+                width: 100%;
+                height: auto;
+                float: left;
+                box-sizing: border-box;
+                padding: 0 0 32rpx 0;
+                border-top: 1px solid #e1e1e1;
+                margin-top: 180rpx;
+
+                .pay-card-main {
+                    width: 100%;
+                    height: auto;
+                    float: left;
+                    border-top: 12px solid #f7f7f7;
+                    border-bottom: 12px solid #f7f7f7;
+                    box-sizing: border-box;
+                    padding: 0 32rpx;
+
+                    .pay-item-cell {
+                        height: 100rpx;
+                        box-sizing: border-box;
+                        padding: 26rpx 0;
+                        background-color: #ffffff;
+                        border-bottom: 1px solid #e1e1e1;
+
+                        &.add {
+                            border-bottom: none;
+                            padding-left: 66rpx;
+                        }
+
+                        .item-icon {
+                            width: 48rpx;
+                            height: 48rpx;
+                            margin-right: 20rpx;
+                            float: left;
+
+                            image {
+                                width: 48rpx;
+                                height: 48rpx;
+                                display: block;
+                            }
+                        }
+
+                        .item-texts {
+                            line-height: 48rpx;
+                            font-size: $font-size-28;
+                            color: $text-color;
+                            float: left;
+
+                            &.add {
+                                font-weight: bold;
+                            }
+                        }
+
+                        .item-checked {
+                            width: 48rpx;
+                            height: 48rpx;
+                            float: right;
+                            text-align: center;
+                            line-height: 48rpx;
+                            font-size: $font-size-40;
+                            color: #ffffff;
+
+                            .icon-weixuanze {
+                                color: #b2b2b2;
+                            }
+
+                            .icon-yixuanze3 {
+                                color: #ff5b00;
+                            }
+
+                            .icon-xiayibu {
+                                color: #b2b2b2;
+                            }
+                        }
+                    }
+                }
+
+                .pay-item {
+                    width: 100%;
+                    height: auto;
+                    box-sizing: border-box;
+                    float: left;
+                    padding: 0 32rpx;
+
+                    .pay-item-cell {
+                        height: 100rpx;
+                        box-sizing: border-box;
+                        padding: 26rpx 0;
+                        background-color: #ffffff;
+                        border-bottom: 1px solid #e1e1e1;
+
+                        .item-icon {
+                            width: 48rpx;
+                            height: 48rpx;
+                            float: left;
+                            text-align: center;
+                            line-height: 48rpx;
+                            margin-right: 20rpx;
+
+                            .iconfont {
+                                font-size: 48rpx;
+                            }
+
+                            .icon-weixinzhifu {
+                                color: #0abc64;
+                            }
+
+                            .icon-gerenwangyinzhifu {
+                                color: #16afe8;
+                            }
+
+                            .icon-qiyewangyinzhifu {
+                                color: #007acc;
+                            }
+
+                            .icon-daewangyinzhuanzhang {
+                                color: #004889;
+                                font-size: $font-size-38;
+                            }
+                        }
+
+                        .item-texts {
+                            line-height: 48rpx;
+                            font-size: $font-size-28;
+                            color: $text-color;
+                            float: left;
+
+                            &.add {
+                                font-weight: bold;
+                            }
+                        }
+
+                        .item-checked {
+                            width: 48rpx;
+                            height: 48rpx;
+                            float: right;
+                            text-align: center;
+                            line-height: 48rpx;
+                            font-size: $font-size-40;
+                            color: #ffffff;
+
+                            .icon-weixuanze {
+                                color: #b2b2b2;
+                            }
+
+                            .icon-yixuanze3 {
+                                color: #ff5b00;
+                            }
+
+                            .icon-xiayibu {
+                                color: #b2b2b2;
+                            }
+                        }
+                    }
+                }
+            }
+
+            .pay-statustext {
+                width: 100%;
+                height: auto;
+                float: left;
+                margin-top: 40rpx;
+                padding-bottom: 160rpx;
+
+                .pay-statustext-inner {
+                    width: 662rpx;
+                    height: 80rpx;
+                    margin: 0 auto;
+                    border: 1px solid #cccccc;
+                    padding: 20rpx;
+                    border-radius: 8rpx;
+
+                    .pay-icon {
+                        width: 62rpx;
+                        height: 100%;
+                        float: left;
+                        text-align: center;
+
+                        .iconfont {
+                            color: #999999;
+                            font-size: $font-size-36;
+                            line-height: 20rpx;
+                        }
+                    }
+
+                    .pay-text {
+                        width: 560rpx;
+                        height: 100%;
+                        float: left;
+                        line-height: 40rpx;
+                        font-size: $font-size-24;
+                        color: #999999;
+                        text-align: justify;
+                    }
+                }
+            }
+        }
+
+        .pay-button {
+            width: 600rpx;
+            background-color: #ffffff;
+            position: fixed;
+            height: 88rpx;
+            padding: 24rpx 75rpx 0 75rpx;
+            bottom: 0;
+
+            .btn {
+                width: 100%;
+                height: 88rpx;
+                border-radius: 44rpx;
+                font-size: $font-size-28;
+                line-height: 88rpx;
+                color: #ffffff;
+                margin: 0 auto;
+                text-align: center;
+                background: $btn-confirm;
+
+                &.disabled {
+                    background: #e1e1e1 !important;
+                }
+            }
+        }
+    }
+
+    .freight-alert {
+        width: 100%;
+        height: 100%;
+        background: rgba(0, 0, 0, 0.5);
+        position: fixed;
+        top: 0;
+        left: 0;
+        z-index: 8888;
+        transition: all 0.4s;
+
+        &.none {
+            display: none;
+        }
+
+        &.show {
+            display: block;
+        }
+
+        .content {
+            width: 422rpx;
+            height: 434rpx;
+            position: absolute;
+            background: $bg-color;
+            left: 0;
+            right: 0;
+            bottom: 0;
+            top: 0;
+            margin: auto;
+            padding: 20rpx 32rpx;
+            border-radius: 12rpx;
+
+            .title {
+                width: 100%;
+                height: 68rpx;
+                line-height: 68rpx;
+                font-size: $font-size-28;
+                color: $text-color;
+                text-align: center;
+                position: relative;
+
+                .icon-iconfontguanbi {
+                    width: 68rpx;
+                    height: 68rpx;
+                    text-align: center;
+                    line-height: 68rpx;
+                    position: absolute;
+                    right: 0;
+                    top: 0;
+                    font-size: $font-size-36;
+                    color: #999999;
+                }
+            }
+
+            .text-content {
+                width: 100%;
+                height: auto;
+
+                .text {
+                    padding: 20rpx 0 0 0;
+                    line-height: 44rpx;
+                    font-size: $font-size-26;
+                    color: #666666;
+                    text-align: justify;
+                }
+
+                .text-p {
+                    width: 100%;
+                    line-height: 44rpx;
+                    font-size: $font-size-26;
+                    color: $color-system;
+                    text-align: left;
+                    text-overflow: ellipsis;
+                    display: -webkit-box;
+                    word-break: break-all;
+                    -webkit-box-orient: vertical;
+                    -webkit-line-clamp: 1;
+                    overflow: hidden;
+                }
+
+                .text-b {
+                    line-height: 44rpx;
+                    font-size: $font-size-24;
+                    color: #999999;
+                    text-align: left;
+                }
+            }
+
+            .text-button {
+                width: 100%;
+                height: 88rpx;
+                line-height: 88rpx;
+                background: $btn-confirm;
+                font-size: $font-size-28;
+                border-radius: 44rpx;
+                color: #ffffff;
+                text-align: center;
+                margin-top: 20rpx;
+            }
+        }
+    }
+
+    .tui-prompt-title {
+        width: 100%;
+        height: 44rpx;
+        line-height: 44rpx;
+        padding: 10rpx 0;
+        text-align: center;
+        color: #333333;
+        font-weight: 600;
+        position: relative;
+
+        .icon-iconfontguanbi {
+            width: 68rpx;
+            height: 68rpx;
+            text-align: center;
+            line-height: 68rpx;
+            position: absolute;
+            right: 0;
+            top: 0;
+            font-size: $font-size-36;
+            color: #999999;
+        }
+    }
+
+    .tui-prompt-text {
+        padding-top: 20rpx;
+
+        .tui-prompt-tips {
+            width: 100%;
+            line-height: 36rpx;
+            font-size: $font-size-26;
+            color: #ff5b00;
+            text-align: justify;
+            margin-bottom: 30rpx;
+        }
+
+        .tui-prompt-item {
+            width: 100%;
+            line-height: 60rpx;
+            color: #333333;
+            font-size: $font-size-28;
+            position: relative;
+
+            .text {
+                font-weight: bold;
+            }
+        }
+    }
+
+    .tui-prompt-flex {
+        width: 100%;
+        height: auto;
+        margin-top: 40rpx;
+        box-sizing: border-box;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+
+        .btn {
+            padding: 0 44rpx;
+            line-height: 66rpx;
+            font-size: $font-size-26;
+            text-align: center;
+            color: #ffffff;
+            border-radius: 40rpx;
+            box-sizing: border-box;
+            margin-left: 12rpx;
+
+            &.btn-cancel {
+                background: #ffffff;
+                color: #333333;
+                border: 1px solid #979797;
+            }
+
+            &.btn-confirm {
+                background: #ffffff;
+                color: #333333;
+                border: 1px solid #979797;
+            }
+        }
+    }
+</style>

+ 29 - 20
pages/user/pay/mixins/cardMixins.js

@@ -9,8 +9,6 @@ const cardMixins = {
             weChatFlag: false, // 微信支付开关
             B2BpayFlag: false, //企业网银支付开关
             QuickPayFlag: false, // 快捷支付开发
-            buttonText: '微信支付',
-            btnColor: '#0ABC64',
             cardsList:[],//查看银行列表
             defaultCards: null,
         }
@@ -29,6 +27,26 @@ const cardMixins = {
         },
         showQuickpayMode() {
             return this.QuickPayFlag
+        },
+        btnColor(){
+            const colorMap = {
+                0: '#0ABC64',
+                1: '#007ACC',
+                2: '#16AFE8',
+                3: 'linear-gradient(90deg, #FF9300 0%, #FF5B00 100%)',
+                4: '#004889'
+            }
+            return colorMap[this.tabCurrentIndex]
+        },
+        buttonText(){
+            const map = {
+                0: '微信支付',
+                1: '企业网银支付',
+                2: '个人网银支付',
+                3: '使用银行卡快捷支付',
+                4: '银联转账支付'
+            }
+            return map[this.tabCurrentIndex]
         }
     },
     methods: {
@@ -54,24 +72,15 @@ const cardMixins = {
         tabClick(index) { //tab切换
             this.tabCurrentIndex = index
             switch (index) {
-            case 0:
-                this.btnColor = '#0ABC64'
-                this.buttonText = '微信支付'
-                break
-            case 1:
-                this.btnColor = '#007ACC'
-                this.buttonText = '企业网银支付'
-                this.payType = 1
-                break
-            case 2:
-                this.btnColor = '#16AFE8'
-                this.buttonText = '个人网银支付'
-                this.payType = 2
-                break
-            case 3:
-                this.btnColor = 'linear-gradient(90deg, #FF9300 0%, #FF5B00 100%)'
-                this.buttonText = '使用银行卡快捷支付'
-                break
+                case 1:
+                    this.payType = 1
+                    break
+                case 2:
+                    this.payType = 2
+                    break
+                case 4:
+                    this.payType = 2
+                    break
             }
         },
         checkPayMode(range,weChatFlag) {

+ 2 - 2
services/config.env.js

@@ -2,8 +2,8 @@ let URL_CONFIG = ''
 if(process.env.NODE_ENV === 'development'){
     // 开发环境
     // URL_CONFIG = 'http://192.168.2.67:18002'	 //智捷联调地址
-    // URL_CONFIG = 'https://core-b.caimei365.com' 
-    URL_CONFIG = 'https://core.caimei365.com'    
+    URL_CONFIG = 'https://core-b.caimei365.com' 
+    // URL_CONFIG = 'https://core.caimei365.com'    
 }else{
     // 生产环境
     URL_CONFIG = 'https://core.caimei365.com'

+ 16 - 0
services/pay.service.js

@@ -191,6 +191,22 @@ export default class PayService {
               
         })
     } 
+    /**
+	 *@param 合利宝银联转账
+	 *@param  payType  'LARGE'
+	 *@param  payAmount  转账金额
+	 *@param  shopOrderId  子订单ID
+	 *@param  userId  用户ID
+	 *@param  orderId 订单ID
+	 */
+    PayOrderLarge (data = {}) {
+        return this.AjaxService.post({
+            url:'/order/pay/large/pay', 
+            data, 
+            isLoading: true ,
+              
+        })
+    } 
     /**
 	 *@param 校验是否网银转账成功
 	 *@param  mbOrderId  交易订单号