From e1e51991ad91c14fa00c5cf46f95e514f676ac4d Mon Sep 17 00:00:00 2001
From: 李凌 <344137771@qq.com>
Date: Fri, 19 Sep 2025 18:58:56 +0800
Subject: [PATCH] 1

---
 src/components/Transform/mining-account/index.vue |  523 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 264 insertions(+), 259 deletions(-)

diff --git a/src/components/Transform/mining-account/index.vue b/src/components/Transform/mining-account/index.vue
index ab2af43..49ddca7 100644
--- a/src/components/Transform/mining-account/index.vue
+++ b/src/components/Transform/mining-account/index.vue
@@ -37,287 +37,292 @@
 </template>
 
 <script>
-	import MiningExchangeInput from "../mining-exchange-input/index.vue";
-	import {
-		Grid,
-		GridItem,
-		Popup,
-		Icon,
-		showToast
-	} from "vant";
-	// import { mapState } from "vuex";
-	import {
-		_exchangeRage,
-		_getAllWallet,
-		_initWidthdrawl,
-		_widthdrawl,
-		_records
-	} from "@/service/fund.api";
-	import {
-		mapGetters
-	} from "vuex";
-	import {
-		List,
-		PullRefresh
-	} from 'vant';
-	import {
-		debounce
-	} from '@/utils'
-	export default {
-		name: "MiningAcccount",
-		components: {
-			[Grid.name]: Grid,
-			[GridItem.name]: GridItem,
-			[Popup.name]: Popup,
-			[Icon.name]: Icon,
-			MiningExchangeInput,
-			[List.name]: List,
-			[PullRefresh.name]: PullRefresh
+import MiningExchangeInput from "../mining-exchange-input/index.vue";
+import {
+	Grid,
+	GridItem,
+	Popup,
+	Icon,
+	showToast
+} from "vant";
+// import { mapState } from "vuex";
+import {
+	_exchangeRage,
+	_getAllWallet,
+	_initWidthdrawl,
+	_widthdrawl,
+	_records
+} from "@/service/fund.api";
+import {
+	mapGetters
+} from "vuex";
+import {
+	List,
+	PullRefresh
+} from 'vant';
+import {
+	debounce
+} from '@/utils'
+export default {
+	name: "MiningAcccount",
+	components: {
+		[Grid.name]: Grid,
+		[GridItem.name]: GridItem,
+		[Popup.name]: Popup,
+		[Icon.name]: Icon,
+		MiningExchangeInput,
+		[List.name]: List,
+		[PullRefresh.name]: PullRefresh
+	},
+	props: {
+		show: {
+			type: Boolean,
+			default: false,
 		},
-		props: {
-			show: {
-				type: Boolean,
-				default: false,
+	},
+	computed: {
+		...mapGetters('user', ['userInfo']),
+		tabList() {
+			return [{
+				id: 1,
+				text: this.$t('提幣')
 			},
+			{
+				id: 2,
+				text: this.$t('交易記錄')
+			}
+			]
 		},
-		computed: {
-			...mapGetters('user', ['userInfo']),
-			tabList() {
-				return [{
-						id: 1,
-						text: this.$t('提幣')
-					},
-					{
-						id: 2,
-						text: this.$t('交易記錄')
-					}
-				]
-			},
-			addr() {
-				const account = this.userInfo.account
-				return account && account.substr(0, 5) + '********' + account.substr(account.length - 5)
-			},
-			amountAvailable() {
-				console.log(this.form.symbol)
-				console.log(this.wallets)
-				let res
-				let dataInfo = this.wallets.find(item => item.symbol_data.toUpperCase() === this.form.symbol.toUpperCase())
+		addr() {
+			const account = this.userInfo.account
+			return account && account.substr(0, 5) + '********' + account.substr(account.length - 5)
+		},
+		amountAvailable() {
+			// console.log("ddddddddddddddddddd", this.form.iconImg1, this.wallets)
+			let res
+			let dataInfo = this.wallets.find(item => item.symbol_data.toUpperCase() == this.form.iconImg1.toUpperCase())
 
-				if (dataInfo) {
-					res = dataInfo.usable
-				} else {
-					res = 0
-				}
-				return res
-			},
+			if (dataInfo) {
+				res = dataInfo.usable
+			} else {
+				res = 0
+			}
+
+			return res
 		},
-		data() {
-			return {
-				showPopup: false,
-				activeRecord: 'exchange',
-				valueTwo: 0,
+	},
+	data() {
+		return {
+			showPopup: false,
+			activeRecord: 'exchange',
+			valueTwo: 0,
+			rate: 0,
+			form: { // 闪兑
+				symbol: 'USDC',
+				symbol_to: 'USDT',
+				name: '',
+				volume: '',
 				rate: 0,
-				form: { // 闪兑
-					symbol: 'USDC',
-					symbol_to: 'USDT',
-					volume: '',
-					rate: 0,
-					iconImg2: '',
-					iconImg1: '',
-					symbol_ex: '',
-					symbol_to_ex: '',
+				iconImg2: '',
+				iconImg1: '',
+				symbol_ex: '',
+				symbol_to_ex: '',
 
-				},
-				interval: null,
-				actions: [],
-				balance: 0, // 质押余额
-				page: 1,
-				loading: false, // 当loading为true时,转圈圈
-				finished: false, // 数据是否请求结束,结束会先显示'已经全部加载完毕'
-				noData: false, // 如果没有数据,显示暂无数据
-				wallets: [], // 钱包列表
-				active: 0,
+			},
+			interval: null,
+			actions: [],
+			balance: 0, // 质押余额
+			page: 1,
+			loading: false, // 当loading为true时,转圈圈
+			finished: false, // 数据是否请求结束,结束会先显示'已经全部加载完毕'
+			noData: false, // 如果没有数据,显示暂无数据
+			wallets: [], // 钱包列表
+			active: 0,
+		}
+	},
+	created() {
+		let obj = {
+			symbolType: 'cryptos'
+		}
+		_getAllWallet(obj).then(data => {
+			this.actions = []
+			data.extends.map(item => {
+				this.actions.push({
+					symbol: item.symbol,
+					name: item.name,
+					symbol_data: item.symbol,
+					usable: item.usable,
+					usdt: item.usdt,
+					symbol_data: item.symbol_data
+				})
+			})
+			this.wallets = data.extends
+			console.log("this.actions", this.actions[0].symbol_data);
+			this.form.symbol = this.strToArr(this.actions[0].name, '/')[0]
+			this.form.symbol_to = this.strToArr(this.actions[1].name, '/')[0]
+			this.form.iconImg1 = this.actions[0].symbol_data
+			this.form.iconImg2 = this.actions[1].symbol_data
+			this.form.symbol_ex = this.actions[0].symbol
+			this.form.symbol_to_ex = this.actions[1].symbol
+
+		})
+	},
+	methods: {
+		onMax() { // 最大
+			if (this.amountAvailable / 1) {
+				this.form.volume = this.amountAvailable
+				this.debounceFn()
+			} else {
+				showToast(this.$t('你没有可提数量'))
 			}
 		},
-		created() {
-			let obj = {
-				symbolType: 'cryptos'
+		onInput(e) { // 获取最新
+			this.form.volume = e.target.value
+			this.clearInterval()
+			if (this.form.volume == '') {
+				this.form.get_volume = ''
+			} else {
+				this.debounceFn()
 			}
-			_getAllWallet(obj).then(data => {
-				this.actions = []
-				data.extends.map(item => {
-					this.actions.push({
-						symbol: item.symbol,
-						name: item.symbol,
-						symbol_data: item.symbol,
-						usable: item.usable,
-						usdt: item.usdt,
-						symbol_data: item.symbol_data
-					})
-				})
-				this.wallets = data.extends
-				console.log("this.actions",this.actions[0].symbol_data);
-				this.form.symbol = this.actions[0].symbol_data
-				this.form.symbol_to = this.actions[1].symbol_data
-				this.form.iconImg1 = this.actions[0].symbol_data
-				this.form.iconImg2 = this.actions[1].symbol_data
-				this.form.symbol_ex = this.actions[0].symbol
-				this.form.symbol_to_ex = this.actions[1].symbol
+		},
+		debounceFn: debounce(function () {
 
+			this.fetchRate(true)
+		}, 300),
+		fetchRate(callback) { // interval
+			let obj = {
+				symbol: this.form.symbol_ex,
+				symbol_to: this.form.symbol_to_ex,
+				volume: this.form.volume
+			}
+			_exchangeRage(obj).then(data => {
+				const {
+					get_rate
+				} = data
+				this.form.rate = get_rate
+				this.clearInterval()
+				if (callback && typeof callback === 'function') {
+					callback()
+				}
 			})
 		},
-		methods: {
-			onMax() { // 最大
-				if (this.amountAvailable / 1) {
-					this.form.volume = this.amountAvailable
-					this.debounceFn()
-				} else {
-					showToast(this.$t('你没有可提数量'))
-				}
-			},
-			onInput(e) { // 获取最新
-				this.form.volume = e.target.value
-				this.clearInterval()
-				if (this.form.volume == '') {
-					this.form.get_volume = ''
-				} else {
-					this.debounceFn()
-				}
-			},
-			debounceFn: debounce(function() {
+		onSwitch() { // 交换
+			const temp = this.form.symbol
+			this.form.symbol = this.form.symbol_to
+			this.form.symbol_to = temp
+			const tempImg = this.form.iconImg1
+			this.form.iconImg1 = this.form.iconImg2
+			this.form.iconImg2 = tempImg
+			const tempsymbol = this.form.symbol_ex
+			this.form.symbol_ex = this.form.symbol_to_ex
+			this.form.symbol_to_ex = tempsymbol
 
-				this.fetchRate(true)
-			}, 300),
-			fetchRate(callback) { // interval
-				let obj = {
-					symbol: this.form.symbol_ex,
-					symbol_to: this.form.symbol_to_ex,
-					volume: this.form.volume
-				}
-				_exchangeRage(obj).then(data => {
-					const {
-						get_rate
-					} = data
-					this.form.rate = get_rate
-					this.clearInterval()
-					if (callback && typeof callback === 'function') {
-						callback()
-					}
-				})
-			},
-			onSwitch() { // 交换
-				const temp = this.form.symbol
-				this.form.symbol = this.form.symbol_to
-				this.form.symbol_to = temp
-				const tempImg = this.form.iconImg1
-				this.form.iconImg1 = this.form.iconImg2
-				this.form.iconImg2 = tempImg
-				const tempsymbol = this.form.symbol_ex
-				this.form.symbol_ex = this.form.symbol_to_ex
-				this.form.symbol_to_ex = tempsymbol
-				
+			this.form.volume = ''
+			console.log("this.form", this.form);
+			this.clearInterval()
+		},
+		onSelect(type, evt) { // 选择
+			if (evt.type == 0) {
+				this.form['symbol'] = this.strToArr(evt.item.name, '/')[0]
+				this.form['iconImg1'] = evt.item.symbol_data
+				this.form['symbol_ex'] = evt.item.symbol
+			} else {
+				this.form['symbol_to'] = this.strToArr(evt.item.name, '/')[0]
+				this.form['iconImg2'] = evt.item.symbol_data
+				this.form['symbol_to_ex'] = evt.item.symbol
+			}
+			if (this.form.symbol !== this.form.symbol_to) {
 				this.form.volume = ''
-				console.log("this.form",this.form);
-				this.clearInterval()
-			},
-			onSelect(type, evt) { // 选择
-				if (evt.type == 0) {
-					this.form['symbol'] = evt.item.symbol_data
-					this.form['iconImg1'] = evt.item.symbol_data
-					this.form['symbol_ex'] = evt.item.symbol
-				} else {
-					this.form['symbol_to'] = evt.item.symbol_data
-					this.form['iconImg2'] = evt.item.symbol_data
-					this.form['symbol_to_ex'] = evt.item.symbol
-				}
-				if (this.form.symbol !== this.form.symbol_to) {
-					this.form.volume = ''
-				}
-				this.clearInterval()
-			},
-			onConfirm() { // 闪兑
-				this.clearInterval()
-				if (this.form.volume == '') {
-					showToast(this.$t('请输入数量'));
-				} else {
-					this.fetchRate(() => {
-						this.$emit("exchange", this.form);
-					})
-				}
-			},
-			clearInterval() { // 清除定时器
-				clearInterval(this.interval)
-				this.interval = null
+			}
+			this.clearInterval()
+		},
+		onConfirm() { // 闪兑
+			this.clearInterval()
+			if (this.form.volume == '') {
+				showToast(this.$t('请输入数量'));
+			} else {
+				this.fetchRate(() => {
+					this.$emit("exchange", this.form);
+				})
 			}
 		},
-		beforeUnmount() {
-			// console.log('beforeDestroy')
-			this.clearInterval()
-		}
-	};
+		clearInterval() { // 清除定时器
+			clearInterval(this.interval)
+			this.interval = null
+		},
+		strToArr(str, separator = ',') {
+			if (typeof str !== 'string') return [];
+			return str.split(separator);
+		},
+	},
+	beforeUnmount() {
+		// console.log('beforeDestroy')
+		this.clearInterval()
+	}
+};
 </script>
 
 <style scoped lang="scss">
-	@import "@/assets/init.scss";
+@import "@/assets/init.scss";
 
-	#cryptos {
-		.account_card {
+#cryptos {
+	.account_card {
+		background: $inp-b !important;
+		border-radius: 2.5rem;
+		padding: 1.2rem 2.5rem;
+
+		div {
 			background: $inp-b !important;
-			border-radius: 2.5rem;
-			padding: 1.2rem 2.5rem;
-
-			div {
-				background: $inp-b !important;
-			}
-		}
-
-		.exchange-btn {
-			bottom: 48px;
-			left: 0;
-
-			font-size: 36px;
-
-			p {
-				border-radius: 4rem;
-			}
-		}
-
-		.active {
-			color: $black;
-
-			&:after {
-				content: '';
-				display: block;
-				position: absolute;
-				bottom: 0;
-				width: 140px;
-				height: 8px;
-				background: $active_line;
-				margin: 0 auto;
-			}
-		}
-
-		.convert-box {
-			background: $mainbgWhiteColor;
-			margin: -2rem auto;
-			border-radius: 50%;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 6rem;
-			height: 6rem;
-			position: relative;
-
-			img {
-				width: 50%;
-				height: 50%;
-			}
-		}
-
-		.btnMain {
-			background: linear-gradient(90deg, #2C64D4 0%, #38AEEA 100%);
-			border-radius: 5px;
-			font-weight: bold;
 		}
 	}
+
+	.exchange-btn {
+		bottom: 48px;
+		left: 0;
+
+		font-size: 36px;
+
+		p {
+			border-radius: 4rem;
+		}
+	}
+
+	.active {
+		color: $black;
+
+		&:after {
+			content: '';
+			display: block;
+			position: absolute;
+			bottom: 0;
+			width: 140px;
+			height: 8px;
+			background: $active_line;
+			margin: 0 auto;
+		}
+	}
+
+	.convert-box {
+		background: $mainbgWhiteColor;
+		margin: -2rem auto;
+		border-radius: 50%;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		width: 6rem;
+		height: 6rem;
+		position: relative;
+
+		img {
+			width: 50%;
+			height: 50%;
+		}
+	}
+
+	.btnMain {
+		background: linear-gradient(90deg, #2C64D4 0%, #38AEEA 100%);
+		border-radius: 5px;
+		font-weight: bold;
+	}
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3