convert-index.vue 5.1 KB

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