<template>
	<view class="content" v-if="XCXIsSelect !='否'">
		<view class="part_one">
			<view class="one_title">可提现金额</view>
			<view class="one_price">¥{{mayMoney}}</view>
		</view>
		<view class="part_two">
			<view class="two_title">提现金额
				<text>提现最低额度{{minMoney}}元</text>
			</view>
			<view class="two_box">
				¥
				<u-input v-model="money" type="number" :clearable="false" :border="border" placeholder="请输入提现金额" />
			</view>

			<view class="beizhu">*注单笔限制提现最低额度{{minMoney}}元，最大提现额度为{{manMoney}}元，单笔提现手续费{{shouxufei*100}}%</view>

		</view>
		<view class="part_three">
			<view class="three_name">兑换方式</view>
			<view class="btn">
				<view class="btn_left" :class="current==2?'btna':''" @click="bindToindex(2)">
					<image src="../../../../static/my/weixin.png"></image>
					<text>微信</text>
				</view>
				<view class="btn_right" :class="current==1?'btna':''" @click="bindToindex(1)">
					<image src="../../../../static/my/zhifubao.png"></image>
					<text>支付宝</text>
				</view>
			</view>
		</view>
		<view class="part_four">
			<view class="submit" @click="getOut()">立即提现</view>
			<view class="four_box">
				<view class="box_left" @click="goZhifuBao">
					提现账户
				</view>
				<view class="box_right" @click="list">
					提现记录
				</view>
				<view class="box_right" @click="isShow">
					微信收款码
				</view>
			</view>
		</view>

		<!-- 微信收款码弹框 -->
		<u-popup v-model="show" mode="center">
			<view class="padding">
				<view class="text-center text-lg text-bold flex justify-between">
					<view></view>
					<view>添加微信收款码</view>
					<view @click="show=false">X</view>
				</view>
				<!-- <view class="text-center padding-top-sm padding-bottom-lg" style="color: #999999;">请提交微信号和微信二维码
				</view> -->
				<view style="width: 80%;margin: 0 auto;">
					<view class="margin-top" @click.stop="weixin"
						style="border: 4rpx solid #010101;border-radius: 16rpx;overflow: hidden;">
						<image v-if="!wximg" src="../../../../static/image/erweima.png"></image>
						<image v-else :src="wximg" mode=""></image>
					</view>
				</view>
				<!-- <view class="text-center margin-top-sm " @click="submit"
					style="border-radius: 10rpx;background-color: #7E59FF;color: #fff;height: 80rpx;line-height: 80rpx;">保存</view> -->
			</view>
		</u-popup>
	</view>
</template>

<script>
import { showToast } from '../../../../common/queue';
	export default {
		data() {
			return {
				show: false,
				current: '1',
				// value: 10,
				money: '',
				zhifubaoName: '',
				zhifubao: '',
				shouxufei: 0.01,
				minMoney: '10',
				manMoney: '200',
				mayMoney: '',
				XCXIsSelect: '否',
				wximg: '',
				values: ''
			}
		},
		onLoad() {
			this.XCXIsSelect = this.$queue.getData('XCXIsSelect');
			if (this.XCXIsSelect == '否') {
				uni.setNavigationBarTitle({
					title: '隐私政策'
				});
			} else {
				uni.setNavigationBarTitle({
					title: '余额提现'
				});
			}
		},
		onShow() {
			this.getMoney()
			//最低可提现金额度
			this.$Request.getT('/app/common/type/112').then(res => {
				if (res.code === 0) {
					this.minMoney = res.data.value
				}
			});
			//最高可提现金额度
			this.$Request.getT('/app/common/type/153').then(res => {
				if (res.code === 0) {
					this.manMoney = res.data.value
				}
			});
			//手续费
			this.$Request.getT('/app/common/type/114').then(res => {
				if (res.code === 0) {
					this.shouxufei = res.data.value
				}
			});
			this.$Request.getT('/app/common/type/290').then(res => { //判断微信提现方式
				if (res.code == 0) {
					if (res.data && res.data.value) {
						this.values = res.data.value
					}
				}
			})
		},
		methods: {
			//用户收款码弹框
			isShow() {
				this.getMoney()
				this.show = true
			},
			//微信 支付宝提现选择
			bindToindex(e) {
				this.current = e
				console.log(e, this.current)
			},
			list() {
				uni.navigateTo({
					url: '/pages/riderMy/myAccount/AcontMoney/cashList'
				});
			},
			goZhifuBao() {
				uni.navigateTo({
					url: '/pages/riderMy/myAccount/AcontMoney/zhifubao'
				});
			},
			getMoney() {
				let that = this;
				let token = this.$queue.getData('token');
				let userId = this.$queue.getData('userId');
				if (token) {
					//this.$queue.showLoading("加载中...");
					//可以提现金额查询预估收入查询
					that.$Request.getT("/app/userinfo/findUserInfoById").then(res => {
						if (res.code === 0 && res.data) {
							that.mayMoney = res.data.balance;
							that.zhifubao = res.data.zhiFuBao;
							that.zhifubaoName = res.data.zhiFuBaoName;
							that.wximg = res.data.cashQrCode
						} else if (res.code === -102) {
							that.$queue.showToast(res.msg);
							that.$queue.logout();
							// uni.navigateTo({
							// 	url: '/pages/public/login'
							// });
						} else {
							that.mayMoney = '0';
							//this.$queue.showToast(res.msg);
						}
					});
				}
			},
			getOut() {
				let that = this;
				let token = that.$queue.getData('token');
				let userId = that.$queue.getData('userId');
				if (token) {
					if (that.current == 1) {
						if (!that.zhifubao || !that.zhifubaoName) {
							uni.navigateTo({
								url: '/pages/riderMy/myAccount/AcontMoney/zhifubao'
							});
							return
						}
						if (!/^\d+$/.test(that.money)) {
							// uni.showToast({
							// 	icon: 'none',
							// 	title: '请输入正确金额,不能包含中文,英文,特殊字符和小数'
							// });
							that.$queue.showToast('请输入正确金额,不能包含中文,英文,特殊字符和小数')
							return;
						}
						if (Number(that.money) < Number(that.minMoney)) {
							uni.showToast({
								icon: 'none',
								title: '提现金额不能小于' + that.minMoney + '元'
							});
							return;
						}

						if (Number(that.money) > Number(that.manMoney)) {
							uni.showToast({
								icon: 'none',
								title: '提现金额不能大于' + that.manMoney + '元'
							});
							return;
						}
						uni.showModal({
							title: '提现申请提示',
							content: '请仔细确认收款人信息\n姓名:' + that.zhifubaoName + '\n提现金额:' + that.money + '\n提现手续费:' +
								parseFloat(that.money * that.shouxufei).toFixed(2) + '元' + '\n收款账号：' + that.zhifubao + '',
							success: e => {
								if (e.confirm) {
									that.$queue.showLoading('提现中...');
									that.$Request.getT('/app/cash/cashMoney?classify=' + that.current +
										'&money=' + that.money).then(res => {
										if (res.code === 0) {
											that.$queue.showToast('提现申请成功，预计三个工作日到账');
											that.getMoney();
											that.mayMoney = ''
										} else {
											uni.showModal({
												title: '温馨提示',
												content: res.msg,
												showCancel: false,
												cancelText: '取消',
												confirmText: '确认'
											});
										}
										uni.hideLoading();
									});
								}
							}
						});

					} else if (that.current == 2) {
						if (!/^\d+$/.test(that.money)) {
							// uni.showToast({
							// 	icon: 'none',
							// 	title: '请输入正确金额,不能包含中文,英文,特殊字符和小数'
							// });
							that.$queue.showToast('请输入正确金额,不能包含中文,英文,特殊字符和小数')
							return;
						}
						if (Number(that.money) < Number(that.minMoney)) {
							uni.showToast({
								icon: 'none',
								title: '提现金额不能小于' + that.minMoney + '元'
							});
							return;
						}
						
						if (Number(that.money) > Number(that.manMoney)) {
							uni.showToast({
								icon: 'none',
								title: '提现金额不能大于' + that.manMoney + '元'
							});
							return;
						}
						if (that.values == 2) {
							that.$Request.getT('/app/userinfo/findUserInfoById').then(res => {
								if (res.code === 0) {
									let wxImg = res.data.cashQrCode;
									if (!wxImg) {
										uni.showModal({
											title: '提现提示',
											content: '请上传微信收款码',
											showCancel: true,
											cancelText: '取消',
											confirmText: '上传',
											success: res => {
												if (res.confirm) {
													that.show = true
												}
											},
											fail: () => {},
											complete: () => {}
										});
										return;
									}

									if (that.money * 1 >= that.minMoney * 1) {
										uni.showModal({
											title: '提现申请提示',
											content: '金额:' + that.money + '元' + ',' + '手续费:' + (that
												.money * that.shouxufei).toFixed(2),
											success: e => {
												if (e.confirm) {
													that.$queue.showLoading('提现中...');
													let data = {
														money: that.money,
														classify: 2
													}
													that.$Request.getT('/app/cash/cashMoney',
														data).then(
														res => {
															if (res.code === 0) {
																setTimeout(function() {
																	that.$queue.showToast(
																		'提现申请成功，预计三个工作日到账'
																	);
																}, 1000)
																that.getMoney();
																that.money = ''
															} else {
																uni.showModal({
																	title: '温馨提示',
																	content: res.msg,
																	showCancel: false,
																	cancelText: '取消',
																	confirmText: '确认'
																});

															}
															uni.hideLoading();
														});
												}
											}
										});
									} else {
										setTimeout(function() {
											that.$queue.showToast('提现金额必须大于或等于' + that.minMoney + '元才可提现');
										}, 1000)

									}
								} else {
									that.$queue.showToast('网络状态不好，请刷新后重试！');
								}
							});


						} else {
							if (!/^\d+$/.test(that.money)) {
								// uni.showToast({
								// 	icon: 'none',
								// 	title: '请输入正确金额,不能包含中文,英文,特殊字符和小数'
								// });
								that.$queue.showToast('请输入正确金额,不能包含中文,英文,特殊字符和小数')
								return;
							}
							if (parseFloat(that.money).toFixed(1) >= that.minMoney) {
								uni.showModal({
									title: '提现申请提示',
									content: '金额:' + that.money + '元' + ',' + '手续费:' + parseFloat(that
											.money * that.shouxufei).toFixed(2),
									success: e => {
										if (e.confirm) {
											that.$queue.showLoading('提现中...');
											let data = {
												money: that.money,
												classify: 2,
												type: 3
											}
											that.$Request.getT('/shop/shopmoney/shopCashMoney', data).then(
												res => {
													if (res.code === 0) {
														setTimeout(function() {
															that.$queue.showToast(
																'提现申请成功，预计三个工作日到账');
														}, 1000)
														that.getMoney();
														that.money =''
													} else {
														uni.showModal({
															title: '温馨提示',
															content: res.msg,
															showCancel: false,
															cancelText: '取消',
															confirmText: '确认'
														});
														that.getMoney();
													}
													uni.hideLoading();
												});
										}
									}
								});
							} else {
								that.$queue.showToast('提现金额必须大于或等于' + that.minMoney + '元才可提现');
							}
						}
					}
				} else {
					uni.showToast({
						title: '提现失败'
					})
				}
			},
			weixin() {
				let that = this
				uni.chooseImage({
					count: 1, //默认9
					sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
					sourceType: ['album', 'camera'], //从相册选择
					success: (res) => {
						that.$queue.showLoading("上传中...");
						for (let i = 0; i < 1; i++) {
							uni.uploadFile({ // 上传接口
								url: 'https://tcwm.xianmaxiong.com/sqx_fast/alioss/upload', //真实的接口地址
								filePath: res.tempFilePaths[i],
								name: 'file',
								success: (uploadFileRes) => {
									let img = JSON.parse(uploadFileRes.data).data
									let userId = that.$queue.getData('userId');
									let data = {
										cashQrCode: img
									}
									that.$Request.postJson('/app/user/updateUser',
										data).then(
										res => {
											if (res.code == 0) {
												that.getMoney()
												setTimeout(function() {
													that.$queue.showToast('上传成功')
												}, 1000)
											}
										});
									uni.hideLoading();



									// that.show = false
								}
							});
						}

					}
				});

			},
		}
	}
</script>

<style>
	body {
		background: #F5F5F5;
	}

	.content {
		width: 100%;
	}


	.part_one {
		width: 90%;
		margin: 0 auto;
		background: #FFFFFF;
		margin-top: 20rpx;
		border-radius: 20rpx;
		height: 170rpx;
	}

	.one_title {
		width: 90%;
		margin: 0 auto;
		font-size: 32rpx;
		letter-spacing: 1rpx;
		padding-top: 30rpx;
	}

	.one_price {
		width: 90%;
		margin: 0 auto;
		margin-top: 20rpx;
		font-size: 47rpx;
		font-weight: bold;
	}

	.part_two {
		width: 90%;
		margin: 0 auto;
		background: #FFFFFF;
		margin-top: 20rpx;
		border-radius: 20rpx;
	}

	.two_title {
		width: 90%;
		margin: 0 auto;
		line-height: 95rpx;
		font-size: 34rpx;
	}

	.two_title text {
		font-size: 27rpx;
		margin-left: 34rpx;
	}

	.two_box {
		width: 90%;
		margin: 0 auto;
		display: flex;
		align-items: center;
		font-size: 32rpx;
		font-weight: bold;
	}

	.u-input__input {
		font-size: 50rpx !important;
		color: #747474 !important;
		border-bottom: 1rpx solid #cccccc;

	}

	.tit {
		width: 90%;
		margin: 0 auto;
		font-size: 31rpx;
		margin-top: 10rpx;
		color: black;
	}

	.beizhu {
		width: 90%;
		margin: 0 auto;
		line-height: 55rpx;
		color: red;
		letter-spacing: 1rpx;
	}

	.part_three {
		width: 90%;
		margin: 0 auto;
		background: #FFFFFF;
		margin-top: 20rpx;
		border-radius: 20rpx;
	}

	.three_name {
		width: 90%;
		margin: 0 auto;
		font-size: 33rpx;
		color: black;
		line-height: 80rpx;
	}

	.btn {
		width: 96%;
		margin: 0 auto;
		display: flex;
		padding-bottom: 30rpx;
	}

	.btn_left {
		flex: 1;
		height: 90rpx;
		border: 1rpx solid #ccc;
		border-radius: 20rpx;
		margin-right: 10rpx;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.btn_right {
		flex: 1;
		/* width: 240rpx; */
		height: 90rpx;
		border: 1rpx solid #ccc;
		border-radius: 20rpx;
		margin-left: 10rpx;
		display: flex;
		justify-content: center;
		align-items: center;
	}



	.btna {
		border: 1rpx solid #E34B21 !important;
	}


	.btn_left image {
		width: 50rpx;
		height: 50rpx;
		margin-right: 12rpx;
	}

	.btn_right image {
		width: 50rpx;
		height: 50rpx;
		margin-right: 12rpx;
	}

	.part_four {
		width: 90%;
		margin: 0 auto;
		/* background: #FFFFFF; */
		margin-top: 20rpx;
		border-radius: 20rpx;
	}

	.submit {
		width: 100%;
		height: 90rpx;
		background: #F8501F;
		color: #F8EBD2;
		text-align: center;
		line-height: 90rpx;
		font-size: 37rpx;
		border-radius: 12rpx;
	}

	.four_box {
		width: 90%;
		margin: 0 auto;
		height: 125rpx;
		display: flex;
		color: #838383;
	}

	.box_left {
		flex: 1;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.box_right {
		flex: 1;
		display: flex;
		justify-content: center;
		align-items: center;
	}
</style>
