<template>
	<view class="content">
		<view class="total">
			<view class="">
				账户总余额(元)
			</view>
			<view style="font-size: 36rpx;">
				￥{{balance||0.00}}
			</view>
		</view>
		<view class="action">
			<view class="">
				提现至
			</view>
			<view style="font-weight: bold;" @click="showPop1=true">
				{{target_bank.is_own?'对公账户':"个人账户"}}
			</view>
			<view style="display: flex;align-items: center;color: #20B128;"
				@click="navgo('/pageQuota/Balance/bindAccout')">
				<text>更换账户</text> <up-icon color="#20B128" name="arrow-right"></up-icon>
			</view>
		</view>
		<view class="form" v-if='target_bank.bank_name'>
			<up-form labelPosition="left" borderBottom :label-style="{fontSize:'30rpx'}" ref="form1" labelWidth='70'>
				<up-form-item label="银行卡" prop="userInfo.name" borderBottom ref="item1">
					<up-input style="border: none;" v-model="target_bank.bank_name" />
				</up-form-item>
				<up-form-item label="持卡人" prop="userInfo.name" borderBottom ref="item1">
					<up-input style="border: none;" v-model="target_bank.name" />
				</up-form-item>
				<up-form-item label="银行账户" prop="userInfo.name" borderBottom ref="item1">
					<up-input style="border: none;" v-model="target_bank.bank_code" />
				</up-form-item>
				<up-form-item label="开户网点" prop="userInfo.name" borderBottom ref="item1">
					<up-input style="border: none;" v-model="target_bank.bank_branch" />
				</up-form-item>
				<up-form-item label="提现金额" prop="userInfo.name" borderBottom ref="item1">
					<up-input style="border: none;" v-model="form.money" placeholder="请输入提现金额" />
				</up-form-item>
				<text style="color: #999999;font-size: 24rpx;">
					说明:用户下单后该订单金额存放在暂存金额中，用户确认收货后次日18:00才可提现该笔订单金额
					提货付款订单在完成后次日18:00才可提现
				</text>
			</up-form>
		</view>
		<up-empty mode="data" v-else :text='emptyText'
			icon="https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/89e93202405131146497294.png" />
		<view class="detail" @click="navgo('/pageQuota/Balance/detail')">
			明细
		</view>
		<view class="submit-btn">
			<up-button text="提现" @click="submit" shape="circle" color="#50C758"></up-button>
		</view>
		<up-popup :show="showPop1" :round="10" mode="bottom" @close="showPop1=false" @open="showPop1=true">
			<view class="popContent">
				<view style="text-align: center;font-weight: bold;">请选择提现账户</view>
				<up-icon name="close" color="#303133" size="24" @click="showPop1=false"
					style="position: absolute;top: 20rpx;right: 20rpx;"></up-icon>
				<view class="bank-list">
					<view class="bank-li" @click="choseAccount(0)">
						<text>个人账户</text>
					</view>
					<view class="bank-li" @click="choseAccount(1)">
						<text>对公账户</text>
					</view>
				</view>
			</view>
		</up-popup>
	</view>
</template>

<script setup>
	import {
		bankListApi,
		amountAccountApi,
		UserWithdrawApi
	} from "@/api/balance.js"
	import {
		ref,
		reactive
	} from 'vue';
	import {
		onPullDownRefresh
	} from "@dcloudio/uni-app"
	const emptyText = '您尚未绑定提现账户,\n点击右上角"添加账户"'
	const showPop1 = ref(false)

	const choseAccount = (type) => {
		target_bank.value = bank_list.value[type] || {}
		console.log(target_bank.value)
		showPop1.value = false
	}


	const showPop = ref(false)
	const navgo = (url) => {
		uni.navigateTo({
			url
		})
	}
	const bankList = ref([])

	const getBankList = async () => {
		let res = await bankListApi()
		bankList.value = res.data.lists
	}

	const choseBank = (item) => {
		form.bank_name = item.name
		form.bank_id = item.id
		showPop.value = false
	}


	const form = reactive({
		money: ""
	})


	const bank_list = ref([])
	const balance = ref(0.00)
	const target_bank = ref([])
	const getBanlance = (isAsync) => {
		amountAccountApi().then(res => {
			balance.value = res.data.balance
			bank_list.value = res.data.bank_list
			target_bank.value = res.data.bank_list[0] || {}
			if (isAsync) {
				uni.stopPullDownRefresh();
			}
		})
	}
	getBanlance()

	const submit = async () => {
		await UserWithdrawApi({
			"merchant_bank_id": target_bank.value.id,
			"amount": form.money
		})
		uni.showToast({
			title: '提交成功',
			duration: 1500
		})
		uni.$u.sleep(1500).then(res => {
			uni.navigateTo({
				url: '/pageQuota/Balance/detail'
			})
		})
	}
	getBankList()

	onPullDownRefresh(() => {
		getBanlance(true)
	})
</script>

<style lang="scss">
	.content {
		padding: 20rpx;

		.total {
			background-color: #50C758;
			border-radius: 16rpx 16rpx 16rpx 16rpx;
			color: white;
			display: flex;
			justify-content: space-between;
			padding: 42rpx 30rpx;
			font-size: 30rpx;
			margin-bottom: 30rpx;
		}

		.action {
			background-color: white;
			border-radius: 16rpx 16rpx 16rpx 16rpx;
			padding: 30rpx;
			display: flex;
			justify-content: space-between;
			margin-bottom: 30rpx;
		}

		.form {
			padding: 28rpx 30rpx;
			background-color: white;
			border-radius: 20rpx;
		}

	}

	.popContent {
		padding: 20rpx;

		.bank-list {
			overflow-y: auto;
			position: relative;
			max-height: 40vh;

			.bank-li {
				display: flex;
				align-items: center;
				justify-content: center;
				padding: 20rpx;
				border-bottom: 1px solid #F8F9FA;
			}
		}
	}


	.detail {
		width: 88rpx;
		height: 88rpx;
		border-radius: 88rpx;
		text-align: center;
		line-height: 88rpx;
		background-color: #50C758;
		color: white;
		position: absolute;
		bottom: 300rpx;
		right: 20rpx;
	}

	.submit-btn {
		position: fixed;
		bottom: 146rpx;
		width: 710rpx;

	}
</style>