| | |
| | | <template> |
| | | <div class="addPledge"> |
| | | <assets-head :title="$t('新增质押')"></assets-head> |
| | | <div class="contentBox"> |
| | | <div class="imgBox"><img src="../../assets/image/addpledgeBg.png" alt="" /></div> |
| | | <div class="px-32"> |
| | | <div class="content box-shad tabBackground"> |
| | | <div class="mb-38"> |
| | | <div class="font-32 textColor">{{ $t('质押') }}</div> |
| | | <div class="flex mt-20 h-96 items-center inputBox inputBackground1 textColor relative"> |
| | | <input class="h-full pl-22 inputBackground1" type="text" v-model="pledgeAmount" |
| | | :placeholder="$t('请输入质押数量')" @input="changeMount" /> |
| | | <div class="right w-252 h-62 flex items-center pl-26 box-border"> |
| | | <img :src="`${HOST_URL}/wap/symbol/${pledgeCurrency.toLowerCase()}.png`" class="w-48 h-48" |
| | | alt="" /> |
| | | <span class="ml-14 mr-30 w-90">{{ pledgeCurrency.toUpperCase() }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="flex items-center font-24 mt-16 text-grey"> |
| | | {{ $t('可用余额') }}:<span class="mr-14">{{ volume || |
| | | '--' }} {{ pledgeCurrency.toUpperCase() }}</span> |
| | | <img click="$router.push('/exchange/exchangePage')" src="../../assets/image/exchangeIcon.png" |
| | | class="w-28 h-28" alt="" /> |
| | | </div> |
| | | <div class="flex justify-between font-32 mt-48"> |
| | | <div class="text-grey">{{ $t('质押后质押率') }}</div> |
| | | <div class="textColor">{{ pledgeRate !== '' ? (pledgeRate * 10000 / 100).toFixed(2) : '--' }}% |
| | | </div> |
| | | </div> |
| | | <div class="h-96 lh-96 btnMain rounded-lg text-center text-black font-34 mt-96" |
| | | @click="getReplenishOrder">{{ $t('确认质押') }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="addPledge"> |
| | | <assets-head :title="$t('新增质押')"></assets-head> |
| | | <div class="contentBox"> |
| | | <div class="imgBox"> |
| | | <img src="../../assets/image/addpledgeBg.png" alt="" /> |
| | | </div> |
| | | <div class="px-32"> |
| | | <div class="content box-shad tabBackground"> |
| | | <div class="mb-38"> |
| | | <div class="font-32 textColor">{{ $t("质押") }}</div> |
| | | <div |
| | | class="flex mt-20 h-96 items-center inputBox inputBackground1 textColor relative" |
| | | > |
| | | <input |
| | | class="h-full pl-22 inputBackground1" |
| | | type="text" |
| | | v-model="pledgeAmount" |
| | | :placeholder="$t('请输入质押数量')" |
| | | @input="changeMount" |
| | | /> |
| | | <div class="right w-252 h-62 flex items-center pl-26 box-border"> |
| | | <img |
| | | :src="`${HOST_URL}/wap/symbol/${pledgeCurrency.toLowerCase()}.png`" |
| | | class="w-48 h-48" |
| | | alt="" |
| | | /> |
| | | <span class="ml-14 mr-30 w-90">{{ |
| | | pledgeCurrency.toUpperCase() |
| | | }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="flex items-center font-24 mt-16 text-grey"> |
| | | {{ $t("可用余额") }}:<span class="mr-14" |
| | | >{{ volume || "--" }} {{ |
| | | pledgeCurrency.toUpperCase() |
| | | }}</span |
| | | > |
| | | <img |
| | | click="$router.push('/exchange/exchangePage')" |
| | | src="../../assets/image/exchangeIcon.png" |
| | | class="w-28 h-28" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div class="flex justify-between font-32 mt-48"> |
| | | <div class="text-grey">{{ $t("质押后质押率") }}</div> |
| | | <div class="textColor"> |
| | | {{ |
| | | pledgeRate !== "" |
| | | ? ((pledgeRate * 10000) / 100).toFixed(2) |
| | | : "--" |
| | | }}% |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="h-96 lh-96 btnMain rounded-lg text-center text-black font-34 mt-96" |
| | | @click="getReplenishOrder" |
| | | > |
| | | {{ $t("确认质押") }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import assetsHead from "@/components/assets-head"; |
| | | import Axios from "@/API/pledgeLoan.js"; |
| | | import { _getAllWallet } from "@/API/fund.api"; |
| | | import { HOST_URL } from '@/config' |
| | | import { debounce } from '@/utils/utis' |
| | | import { HOST_URL } from "@/config"; |
| | | import { debounce } from "@/utils/utis"; |
| | | export default { |
| | | props: { |
| | | props: {}, |
| | | components: { |
| | | assetsHead, |
| | | }, |
| | | data() { |
| | | return { |
| | | HOST_URL, |
| | | walletList: [], |
| | | id: "", |
| | | pledgeAmount: "", |
| | | pledgeRate: "", //质押率 |
| | | pledgeCurrency: "", //质押币种 |
| | | volume: "", //可用余额 |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.id = this.$route.query.id; |
| | | this.pledgeCurrency = this.$route.query.pledgeCurrency; |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | changeMount() { |
| | | if (this.pledgeAmount >= this.volume) { |
| | | this.pledgeAmount = this.volume; |
| | | } |
| | | |
| | | this.debounceFn(); |
| | | }, |
| | | components: { |
| | | assetsHead |
| | | debounceFn: debounce(function () { |
| | | this.getLoanParam(); |
| | | }, 500), |
| | | getLoanParam() { |
| | | if (this.pledgeAmount == "") { |
| | | this.$toast(this.$t("请输入质押数量")); |
| | | return false; |
| | | } |
| | | Axios.getLoanParam({ |
| | | loanOrderId: this.id, |
| | | pledgeAmount: this.pledgeAmount, |
| | | }) |
| | | .then((res) => { |
| | | this.pledgeRate = res.data.pledgeRate; |
| | | }) |
| | | .catch((error) => { |
| | | if (error.code === "ECONNABORTED") { |
| | | this.$toast(this.$t("网络超时!")); |
| | | } else if (error.msg !== undefined) { |
| | | this.$toast(this.$t(error.msg)); |
| | | } |
| | | }); |
| | | }, |
| | | data() { |
| | | return { |
| | | HOST_URL, |
| | | walletList: [], |
| | | id: '', |
| | | pledgeAmount: '', |
| | | pledgeRate: '',//质押率 |
| | | pledgeCurrency: '', //质押币种 |
| | | volume: '', //可用余额 |
| | | } |
| | | getList() { |
| | | _getAllWallet().then((res) => { |
| | | this.walletList = res.extends; |
| | | let initObj = this.walletList.find((item) => { |
| | | return item.symbol.toLowerCase() == this.pledgeCurrency; |
| | | }); |
| | | this.volume = initObj.usable; |
| | | }); |
| | | }, |
| | | mounted() { |
| | | this.id = this.$route.query.id |
| | | this.pledgeCurrency = this.$route.query.pledgeCurrency |
| | | this.getList() |
| | | getReplenishOrder() { |
| | | if (this.pledgeAmount == "") { |
| | | this.$toast(this.$t("请输入质押数量")); |
| | | return false; |
| | | } |
| | | Axios.replenishOrder({ |
| | | loanOrderId: this.id, |
| | | pledgeAmount: this.pledgeAmount, |
| | | }) |
| | | .then((res) => { |
| | | this.$toast(this.$t("质押成功")); |
| | | this.$router.push("/pledgeLoanOrder"); |
| | | }) |
| | | .catch((error) => { |
| | | if (error.code === "ECONNABORTED") { |
| | | this.$toast(this.$t("网络超时!")); |
| | | } else if (error.msg !== undefined) { |
| | | this.$toast(this.$t(error.msg)); |
| | | } |
| | | }); |
| | | }, |
| | | methods: { |
| | | changeMount() { |
| | | if (this.pledgeAmount >= this.volume) { |
| | | this.pledgeAmount = this.volume |
| | | } |
| | | |
| | | this.debounceFn() |
| | | |
| | | }, |
| | | debounceFn: debounce(function () { |
| | | this.getLoanParam() |
| | | }, 500), |
| | | getLoanParam() { |
| | | if (this.pledgeAmount == '') { |
| | | this.$toast(this.$t('请输入质押数量')) |
| | | return false |
| | | } |
| | | Axios.getLoanParam({ |
| | | loanOrderId: this.id, |
| | | pledgeAmount: this.pledgeAmount |
| | | }).then(res => { |
| | | this.pledgeRate = res.data.pledgeRate |
| | | }).catch(error => { |
| | | if (error.code === 'ECONNABORTED') { this.$toast(this.$t('网络超时!')); } |
| | | else if (error.msg !== undefined) { this.$toast(this.$t(error.msg)); } |
| | | }) |
| | | }, |
| | | getList() { |
| | | _getAllWallet().then((res) => { |
| | | this.walletList = res.extends; |
| | | let initObj = this.walletList.find(item => { |
| | | return item.symbol.toLowerCase() == this.pledgeCurrency |
| | | }) |
| | | this.volume = initObj.usable |
| | | }); |
| | | }, |
| | | getReplenishOrder() { |
| | | if (this.pledgeAmount == '') { |
| | | this.$toast(this.$t('请输入质押数量')) |
| | | return false |
| | | } |
| | | Axios.replenishOrder({ |
| | | loanOrderId: this.id, |
| | | pledgeAmount: this.pledgeAmount |
| | | }).then(res => { |
| | | this.$toast(this.$t('质押成功')); |
| | | this.$router.push('/pledgeLoanOrder') |
| | | }).catch(error => { |
| | | if (error.code === 'ECONNABORTED') { this.$toast(this.$t('网络超时!')); } |
| | | else if (error.msg !== undefined) { this.$toast(this.$t(error.msg)); } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .addPledge { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .contentBox { |
| | | position: relative; |
| | | |
| | | .imgBox { |
| | | width: 100%; |
| | | height: 300px; |
| | | |
| | | img { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | | .content { |
| | | border-radius: 8px; |
| | | padding: 36px 30px 36px 34px; |
| | | position: relative; |
| | | margin-top: -92px; |
| | | |
| | | .imgBox { |
| | | width: 100%; |
| | | height: 300px; |
| | | .inputBox { |
| | | input { |
| | | flex: 1; |
| | | border: none; |
| | | } |
| | | |
| | | img { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .right { |
| | | border-left: 1px solid #b8bcc5; |
| | | } |
| | | } |
| | | |
| | | .content { |
| | | border-radius: 8px; |
| | | padding: 36px 30px 36px 34px; |
| | | position: relative; |
| | | margin-top: -92px; |
| | | |
| | | .inputBox { |
| | | input { |
| | | flex: 1; |
| | | border: none; |
| | | } |
| | | |
| | | .right { |
| | | border-left: 1px solid #B8BCC5; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .slectBox { |
| | | position: absolute; |
| | | left: 0; |
| | | top: 114px; |
| | | width: 100%; |
| | | position: absolute; |
| | | left: 0; |
| | | top: 114px; |
| | | width: 100%; |
| | | |
| | | @include themify() { |
| | | background: themed("main_background"); |
| | | } |
| | | @include themify() { |
| | | background: themed("main_background"); |
| | | } |
| | | |
| | | border-radius: 4px; |
| | | padding: 0px 20px 76px 20px; |
| | | box-sizing: border-box; |
| | | border-radius: 4px; |
| | | padding: 0px 20px 76px 20px; |
| | | box-sizing: border-box; |
| | | |
| | | @include themify() { |
| | | border: 1px solid themed("line_color"); |
| | | } |
| | | @include themify() { |
| | | border: 1px solid themed("line_color"); |
| | | } |
| | | |
| | | z-index: 2; |
| | | z-index: 2; |
| | | |
| | | &.slectBoxMax { |
| | | max-height: 574px; |
| | | overflow-y: auto; |
| | | } |
| | | &.slectBoxMax { |
| | | max-height: 574px; |
| | | overflow-y: auto; |
| | | } |
| | | } |
| | | </style> |