From c3bc7b593bf9067bfdaa8bd7def32dd19844ad75 Mon Sep 17 00:00:00 2001 From: queenwuli <942534046@qq.com> Date: Mon, 18 Apr 2022 11:37:49 +0800 Subject: [PATCH] gx --- src/pages/index/account.vue | 221 +++++++++++++++++++++++++++++++++---------------------- 1 files changed, 133 insertions(+), 88 deletions(-) diff --git a/src/pages/index/account.vue b/src/pages/index/account.vue index 513fce7..4e4af7e 100644 --- a/src/pages/index/account.vue +++ b/src/pages/index/account.vue @@ -40,7 +40,7 @@ </div> </div> <span class="all" style="color: #3D8AF2" @click="allExchange">{{$t("message.RedeemAll")}}</span> - <button class="btn" :disabled="!ethAmount" @click="submitExchange">{{$t("message.Exchange")}}</button> + <button class="btn" :disabled="!ethAmount || isRequesting" @click="submitExchange">{{$t("message.Exchange")}}</button> <div class="tips"> <p>{{$t("message.Price")}}:1ETH ≈ {{info.newPrice}}USDT</p> <p>{{$t("message.Tip1")}}</p> @@ -59,7 +59,7 @@ <span>USDT</span> </div> <input placeholder="0.000" type="number" v-model.number="usdtAmount"/> - <span class="all">{{$t("message.WithdrawalAmount")}}</span> + <span class="all" style="color: #3D8AF2" @click="allWithdraw">{{$t("message.WithdrawalAll")}}</span> </div> <div class="item flex-1 flex align-end flex-v"> <div> @@ -108,15 +108,27 @@ </div> </van-tab> <van-tab :title='$t("message.Mining")'> - <div class="list-row flex align-center justify-between"> + <div class="list-row list-row2 flex align-center justify-between"> <span class="name">{{$t("message.Time")}}</span> <span class="name">{{$t("message.Type")}}</span> <span class="name">{{$t("message.Output")}}</span> </div> - <div class="list-row flex align-center justify-between" v-for="item in miningList"> + <div class="list-row list-row2 flex align-center justify-between" v-for="item in miningList"> <span>{{item.createTime}}</span> <span>{{$t("message.Mining")}}</span> - <span>{{item.amount}}</span> + <span>{{item.amount}} ETH</span> + </div> + </van-tab> + <van-tab :title='$t("message.Reward")'> + <div class="list-row list-row2 flex align-center justify-between"> + <span class="name">{{$t("message.Time")}}</span> + <span class="name">{{$t("message.Type")}}</span> + <span class="name">{{$t("message.Output")}}</span> + </div> + <div class="list-row list-row2 flex align-center justify-between" v-for="item in rewardList"> + <span>{{item.createTime}}</span> + <span>{{$t("message.Reward")}}</span> + <span>{{item.amount}} ETH</span> </div> </van-tab> </van-tabs> @@ -132,22 +144,44 @@ import { ref, reactive, onMounted, getCurrentInstance, defineComponent, computed} from 'vue'; export default defineComponent({ name: 'account', - setup() { + props: [ + 'simulateData' + ], + setup(props, context) { + console.log(props) const activeNames = ref(['1']) const { proxy } = getCurrentInstance(); let exchangeList = ref([]) let withdrawList = ref([]) let miningList = ref([]) + let rewardList = ref([]); let myAccountInfo = ref({}); let info = ref({}); let ethAmount = ref(); let usdtAmount = ref(); + let isRequesting = ref(false); let ethToUsdtAmount = computed(() => { if (!ethAmount.value || isNaN(ethAmount.value)) { return '0.0000' } return (ethAmount.value * proxy.info.newPrice).toFixed(4) }) + + function initData () { + if(props.simulateData) { + const {walletInfoVo: myAccountInfo,changes: exchangeList,withdraws: withdrawList,mines: miningList} = props.simulateData || {}; + proxy.myAccountInfo = myAccountInfo || {}; + proxy.exchangeList = exchangeList || []; + proxy.withdrawList = withdrawList || []; + proxy.miningList = miningList || []; + } else { + getWalletInfo() + getRecordList(1) + getRecordList(2) + getRecordList(3) + getRecordList(4) + } + } function getWalletInfo(){ proxy.$axios({ url: '/dapi/member/walletInfo', @@ -156,77 +190,6 @@ if(res.code == 200) { proxy.myAccountInfo = res.data; } - }) - } - function allExchange () { - if(!proxy.myAccountInfo.availableMine) { - this.$toast(this.$t('message.NOETH')); - return; - } - ethAmount.value = proxy.myAccountInfo.availableMine - } - function submitExchange () { - if(Number(ethAmount.value) > Number(proxy.myAccountInfo.availableMine)) { - this.$toast(this.$t('message.NOETH2')); - return; - } - this.$toast.loading({ - message: this.$t('message.Submitting'), - overlay: true, - duration: 0 - }); - this.$axios({ - url: '/dapi/member/change', - method: 'post', - data: { - amount: ethAmount.value - } - }).then((res) => { - if(res.code == 200) { - ethAmount.value = ''; - this.$toast(this.$t('message.ExchangeSuc')); - getWalletInfo() - getRecordList(1) - }else{ - this.$toast(res.message); - } - this.$toast.clear(true) - }).catch(() => { - this.$toast.clear(true) - }) - } - function submitWithdraw () { - if(Number(usdtAmount.value) < 100) { - this.$toast(this.$t('message.MinWithdrawCount') + '100USDT'); - return; - } - if(Number(usdtAmount.value) > Number(proxy.myAccountInfo.availableWallet)) { - this.$toast(this.$t('message.NOETH2')); - return; - } - this.$toast.loading({ - message: this.$t('message.Submitting'), - overlay: true, - duration: 0 - }); - this.$axios({ - url: '/dapi/member/withdraw', - method: 'post', - data: { - amount: usdtAmount.value - } - }).then((res) => { - if(res.code == 200) { - usdtAmount.value = ''; - this.$toast(this.$t('message.Withdrawing2')); - getWalletInfo() - getRecordList(2) - }else{ - this.$toast(res.message); - } - this.$toast.clear(true) - }).catch(() => { - this.$toast.clear(true) }) } function getRecordList (type) { @@ -245,25 +208,99 @@ proxy.exchangeList = result; } else if (type == 2) { proxy.withdrawList = result; - } else { + } else if (type == 3) { proxy.miningList = result; + } else { + proxy.rewardList = result; } } }) } + function allExchange () { + if(!proxy.myAccountInfo.availableMine) { + this.$toast(this.$t('message.NOETH')); + return; + } + ethAmount.value = proxy.myAccountInfo.availableMine + } + function submitExchange () { + if(Number(ethAmount.value) > Number(proxy.myAccountInfo.availableMine)) { + this.$toast(this.$t('message.NOETH2')); + return; + } + proxy.isRequesting = true; + this.$axios({ + url: '/dapi/member/change', + method: 'post', + data: { + amount: ethAmount.value + } + }).then((res) => { + ethAmount.value = ''; + proxy.isRequesting = false; + if (res.code == 200) { + this.$toast(this.$t('message.ExchangeSuc')); + getWalletInfo() + getRecordList(1) + } else if(res.code == 401){ + this.$toast(this.$t('message.ApproveTip')); + } else { + this.$toast(res.message); + } + }).catch((err) => { + proxy.isRequesting = false; + }) + } + function allWithdraw () { + if(!proxy.myAccountInfo.availableWallet) { + return; + } + usdtAmount.value = proxy.myAccountInfo.availableWallet + } + function submitWithdraw () { + if(Number(usdtAmount.value) < 100) { + this.$toast(this.$t('message.MinWithdrawCount') + '100USDT'); + return; + } + if(Number(usdtAmount.value) > Number(proxy.myAccountInfo.availableWallet)) { + this.$toast(this.$t('message.NOETH2')); + return; + } + proxy.isRequesting = true; + this.$axios({ + url: '/dapi/member/withdraw', + method: 'post', + data: { + amount: usdtAmount.value + } + }).then((res) => { + usdtAmount.value = ''; + proxy.isRequesting = false; + if(res.code == 200) { + this.$toast(this.$t('message.Withdrawing2')); + getWalletInfo() + getRecordList(2) + } else if(res.code == 401){ + this.$toast(this.$t('message.ApproveTip')); + } else { + this.$toast(res.message); + } + }).catch(() => { + proxy.isRequesting = false; + }) + } + function onClickTab (item) { if(item.name === 2) { getRecordList(1) getRecordList(2) getRecordList(3) + getRecordList(4) } } onMounted(() => { - getWalletInfo() - proxy.initData() - getRecordList(1) - getRecordList(2) - getRecordList(3) + proxy.initglobalSetData() + initData() }) return { activeNames, @@ -271,6 +308,7 @@ exchangeList, withdrawList, miningList, + rewardList, info, ethAmount, ethToUsdtAmount, @@ -278,12 +316,14 @@ getWalletInfo, allExchange, submitExchange, + allWithdraw, submitWithdraw, - onClickTab + onClickTab, + isRequesting }; }, methods: { - initData () { + initglobalSetData () { this.$axios({ url: '/dapi/common/globalSetting', method: 'get' @@ -292,8 +332,7 @@ this.info = res.data; } }) - }, - + } } }) </script> @@ -422,7 +461,7 @@ width: 45% } .list-row span:nth-child(3){ - text-align: center; + text-align: right; width: 15% } .list-row:not(:last-child){ @@ -431,4 +470,10 @@ .list-row:nth-child(1){ margin: 30px 0; } + .list-row2 span:nth-child(2){ + width: 22% + } + .list-row2 span:nth-child(3){ + width: 38% + } </style> \ No newline at end of file -- Gitblit v1.9.1