convert-index.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <script>
  2. import tokenpocketBnb from "@/common/wallet/tokenpocket-wallet/tokenpocket-bnb";
  3. import {getTotalMoney} from "@/api/money";
  4. export default {
  5. name: "convert-index",
  6. components: {},
  7. data() {
  8. return {
  9. usdtNum:'',
  10. iconNum:'',
  11. type:1,
  12. toNum:'',
  13. formNUm:'',
  14. price:'',
  15. address:''
  16. };
  17. },
  18. watch:{
  19. 'formNUm':function () {
  20. if(this.formNUm===''){
  21. this.toNum=''
  22. }else {
  23. this.toNum=this.formNUm*this.price
  24. }
  25. }
  26. },
  27. mounted() {
  28. this.getIconNum()
  29. this.getTotalMoney()
  30. },
  31. methods: {
  32. setMax(){
  33. if(this.type===1){
  34. this.formNUm=this.usdtNum
  35. }else {
  36. this.formNUm=this.iconNum
  37. }
  38. },
  39. getTotalMoney(){
  40. getTotalMoney().then(res=>{
  41. if (res.code===1){
  42. this.price=res.data.price
  43. }
  44. })
  45. },
  46. async getIconNum(){
  47. this.address=tokenpocketBnb.getMyAddress()
  48. if(this.address===''){
  49. return
  50. }
  51. setTimeout(async ()=>{
  52. this.iconNum= await tokenpocketBnb.getTokenBalance(this.address,0)
  53. this.usdtNum= await tokenpocketBnb.getTokenBalance(this.address,1)
  54. console.log(this.coinNum,"icon-num----------------------")
  55. },100)
  56. },
  57. setType(){
  58. this.type=(this.type===1?2:1)
  59. this.formNUm=''
  60. }
  61. },
  62. }
  63. </script>
  64. <template>
  65. <view class="bgc-f p-40 box-sizing-border b-rad-20">
  66. <view>
  67. <view class="bgc-F6F7FA b-rad-20 mb-20 p-20 box-sizing-border mb-20" v-if="type===1">
  68. <view class="align-items-start flex-justify-space mb-20">
  69. <view class="align-items-center">
  70. <image
  71. class="t-img mr-8"
  72. :src="require('@/static/img/index/index/usdt.png')"
  73. ></image>
  74. <view class="fs-28">USDT</view>
  75. </view>
  76. <view class="max-box b-rad-20 fs-28" @click="setMax">
  77. Max {{usdtNum}}
  78. </view>
  79. </view>
  80. <view>
  81. <input v-model="formNUm" placeholder="输入要兑换的USDT数量" placeholder-class="fs-28"></input>
  82. </view>
  83. </view>
  84. <view class="bgc-F6F7FA b-rad-20 mb-20 p-20 box-sizing-border mb-20" v-else>
  85. <view class="align-items-start flex-justify-space mb-20">
  86. <view class="align-items-center">
  87. <image
  88. class="t-img mr-8"
  89. :src="require('@/static/img/logo/logo.png')"
  90. ></image>
  91. <view class="fs-28">DAO</view>
  92. </view>
  93. <view class="max-box b-rad-20 fs-28" @click="setMax">
  94. Max {{iconNum}}
  95. </view>
  96. </view>
  97. <view>
  98. <input v-model="formNUm" placeholder="输入要兑换的DAO数量" placeholder-class="fs-28"></input>
  99. </view>
  100. </view>
  101. </view>
  102. <view class="flex-direction-column align-items-center flex-justify-center mb-20" @click="setType">
  103. <view class="fs-28">
  104. FORM
  105. </view>
  106. <image
  107. class="jh-img"
  108. :src="require('@/static/img/index/index/jiaohuan.png')"
  109. ></image>
  110. <view class="fs-28">
  111. TO
  112. </view>
  113. </view>
  114. <view>
  115. <view class="bgc-F6F7FA b-rad-20 mb-20 p-20 box-sizing-border mb-50" v-if="type===1">
  116. <view class="align-items-start flex-justify-space mb-20">
  117. <view class="align-items-center">
  118. <image
  119. class="logo-img mr-8"
  120. :src="require('@/static/img/logo/logo.png')"
  121. ></image>
  122. <view class="fs-28">DAO</view>
  123. </view>
  124. </view>
  125. <view class="fs-28" :class="toNum?'':'fc-808080'">
  126. {{toNum?toNum:'请输入需要兑换的USDT数量'}}
  127. </view>
  128. </view>
  129. <view class="bgc-F6F7FA b-rad-20 mb-20 p-20 box-sizing-border mb-50" v-else>
  130. <view class="align-items-start flex-justify-space mb-20">
  131. <view class="align-items-center">
  132. <image
  133. class="logo-img mr-8"
  134. :src="require('@/static/img/index/index/usdt.png')"
  135. ></image>
  136. <view class="fs-28">USDT</view>
  137. </view>
  138. </view>
  139. <view class="fs-28" :class="toNum?'':'fc-808080'">
  140. {{toNum?toNum:'请输入需要兑换的DAO数量'}}
  141. </view>
  142. </view>
  143. </view>
  144. <view class="convent-but b-rad-20 text-align-center fs-28 fc-f">
  145. 兑换
  146. </view>
  147. </view>
  148. </template>
  149. <style scoped lang="scss">
  150. .t-img{
  151. width: 70rpx;
  152. height: 60rpx;
  153. }
  154. .max-box{
  155. color: #0d81cf;
  156. border: 2rpx solid #0d81cf;
  157. padding: 6rpx 20rpx;
  158. }
  159. ::v-deep .el-input__inner{
  160. background-color: transparent;
  161. border: none;
  162. padding: 0;
  163. }
  164. .jh-img{
  165. width: 60rpx;
  166. height: 60rpx;
  167. }
  168. .logo-img{
  169. width: 66rpx;
  170. height: 50rpx;
  171. }
  172. .convent-but{
  173. height: 80rpx;
  174. background: #0d81cf;
  175. color: #fff;
  176. line-height: 80rpx;
  177. }
  178. </style>