<template>
	<view class="center">
		<view class="rateBox">
			<view class="rateTitle">实时汇率</view>
			<view class="rate">{{ exchange }}</view>
		</view>
		<view class="rateConetnt" v-if="lodingType">
			<view class="titleBox flex">
				<view class="leftTip"></view>
				<view class="title">兑换币种</view>
			</view>
			<view class="content">
				<view class="moneyText">兑出币种</view>
				<view class="Type flex">
					<image class="moneylogo" :src="moneyType[index].LOGO" mode="scaleToFill"></image>
					<view class="moneyName clamp" @click="show = true">{{moneyType[index].name}}</view>
					<u-icon name="arrow-down-fill" color="#0F253A" size="10"></u-icon>
					<u-input :height="45" class="input" v-model="pushMoney" type="number" :border="false" placeholder="请输入需要兑换的数量" />
				</view>
				<view class="contentImg"><image class="img" src="../../static/img/tab.png" mode="scaleToFill"></image></view>
				<view class="moneyText">兑入币种</view>
				<view class="Type flex">
					<image class="moneylogo" :src="add.LOGO" mode="scaleToFill"></image>
					<view class="moneyName clamp">{{ add.name }}</view>
					<view class="line"></view>
					<view class="input">{{ moneyReta }}</view>
				</view>
			</view>
		</view>
		<view class="lsButtom" @click="buy()">确认兑换</view>
		<u-action-sheet :list="moneyType" v-model="show" @click="changeIndex"></u-action-sheet>
		<mchart></mchart>
	</view>
</template>
<script>
import { mchart } from '@/components/mchart.vue'
import { recharge, wallet, moneyType,shan } from '@/api/finance.js';
import {lalaprice} from '@/api/wallet.js'
export default {
	components: {
		mchart,
	},
	data() {
		return {
			index: 0, //当前选中的兑出币种
			moneyType: [],//兑出币种类型
			add: { LOGO: '', name: '' }, //兑入币种
			pushMoney: '',//要兑换的金额
			lodingType: false, //判断是否已经载入币种分类分类数据
			show: false,
			buying: false,
		};
	},
	computed: {
		// 转换金额
		moneyReta() {
			// 保存当前选中的对象
			const obj = this.moneyType[this.index];
			return (this.pushMoney * +obj.usdt_price) / +this.add.usdt_price;
		},
		// 实时汇率
		exchange() {
			try {
				const data = this.moneyType[this.index];
				return 1 + data.name + '≈' + (data.usdt_price / this.add.usdt_price).toFixed(4) + this.add.name;
			} catch (e) {
				console.log(e);
				return '加载中...';
			}
		},
	},
	//页面加载即刻发生
	onLoad() {
		this.init();
	},
	methods: {
		// 初始化页面
		init() {
			this.wallet();
			lalaprice().then(e =>{
				console.log(e,"123456")
			})
		},
		// 弹出层选择事件
		changeIndex(e){
			console.log(e);
			this.index = e;
		},
		// 加载币种分类
		wallet() {
			let that = this;
			console.log('请求兑换');
			uni.showLoading({
				title: '载入数据中...',
				mask: true
			});
			wallet()
				.then(e => {
					uni.hideLoading();
					that.lodingType = true;
					const moneyType = Object.keys(e.data.back);
					moneyType.forEach(es => {
						const data = e.data.back[es];
						data.text = data.name;
						if (+data.do_exchange == 1) {
							that.moneyType.push(data);
						}
						if (+data.exchange == 1) {
							that.add = data;
							console.log(e.data.back[es], '555');
						}
					});
					console.log(that.moneyType);
					console.log(that.add, '兑入');
				})
				.catch(e => {
					uni.hideLoading();
					if (e.status != 410000) {
						that.lodingType = true;
						uni.showModal({
							title: '错误',
							content: '加载失败请刷新页面',
							cancelText: '关闭',
							confirmText: '刷新',
							success: res => {
								if (res.confirm) {
									that.init();
								}
							}
						});
						console.log(e);
					}
				});
		},
		//确认兑换
		buy(){
			if (this.buying){
				
			}else {
				this.buying = true
				console.log(this.moneyType[this.index].name)
				shan({
					origin_money_type: this.moneyType[this.index].name,
					money_type: this.add.name,
					num: this.pushMoney,
				}).then(({data}) => {
					console.log(data)
					this.buying = false
					this.$api.msg("闪兑成功")
				}).catch(e =>{
					this.buying = false
					console.log(e)
				})
			}
		}
	}
};
</script>
<style lang="scss">
.center {
	min-height: 100%;
}
.lsButtom {
	font-size: 30rpx;
	background-image: $bg-green-gradual;
	text-align: center;
	color: $font-color-white;
	padding: 30rpx 0;
	border-radius: 99rpx;
	margin: 50rpx 30rpx 0rpx 30rpx;
	line-height: 1;
}
.rateBox {
	padding: $page-row-spacing;
	background-color: #ffffff;
	.rateTitle {
		font-size: 26rpx;
		font-weight: 500;
		color: $font-color-dark;
	}
	.rate {
		margin-top: 10rpx;
		font-size: 26rpx;
		font-weight: 500;
		color: $font-color-light;
	}
}
.rateConetnt {
	margin-top: 10rpx;
	background-color: #ffffff;
	line-height: 1;
	padding-bottom: 60rpx;
	.titleBox {
		align-items: stretch;
		justify-content: flex-start;
		padding: $page-row-spacing;
		border-bottom: 1px solid $border-color-light;
		.leftTip {
			width: 7rpx;
			border-radius: 99rpx;
			background-color: $base-color;
		}
		.title {
			margin-left: 20rpx;
			font-size: 30rpx;
			font-weight: 500;
			color: $font-color-dark;
		}
	}
	.content {
		.moneyText {
			font-size: 24rpx;
			font-weight: 500;
			color: $font-color-dark;
			padding: $page-row-spacing;
		}
		.Type {
			padding: 0 $page-row-spacing;
			.moneylogo {
				width: 50rpx;
				height: 50rpx;
				border-radius: 99rpx;
			}
			.moneyName {
				width: 180rpx;
				font-size: 30rpx;
				font-weight: 500;
				color: $font-color-dark;
				margin: 0 20rpx;
			}
			.input {
				flex-grow: 1;
				height: 45rpx;
				line-height: 45rpx;
				margin-left: 40rpx;
				color: $font-color-light;
				border-bottom: 1px solid $border-color-light;
			}
			.line {
				width: 2rpx;
				background-color: $font-color-dark;
				margin: 0 10rpx;
				height: 30rpx;
			}
		}
		.contentImg {
			width: 70rpx;
			height: 70rpx;
			margin: 40rpx auto 0;

			.img {
				width: 100%;
				height: 100%;
			}
		}
	}
}
</style>