home.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <!-- 公共组件 -->
  3. <div class="info">
  4. <v-head :title="'Deposit'" :show_more="true" :show_help="false" :back_url="'/'"></v-head>
  5. <template v-if="showCurrencySelect">
  6. <div class="selectDiv">
  7. <currency-select
  8. ref="currencySelectDom"
  9. :list="tempCurrentCurrencyList"
  10. @selectCurrency="selectCurrencyAfter">
  11. </currency-select>
  12. </div>
  13. <div class="selectBg" @click="showCurrencySelect = false"></div>
  14. </template>
  15. <currency-list style="height: calc(100% - 48px);" @selectCurrency="selectCurrency" :page="'top-up'"></currency-list>
  16. </div>
  17. </template>
  18. <script setup>
  19. import VHead from '@/view/popup/components/head.vue'
  20. import CurrencyList from "@/view/components/currency-list.vue";
  21. import currencySelect from "@/view/components/currency-select.vue";
  22. import { inject, onMounted, ref } from 'vue'
  23. import router from "@/router/popup.js";
  24. import Report from "@/log-center/log";
  25. let top_up_info = inject('top_up_info')
  26. let showCurrencySelect = ref(false)
  27. let tempCurrentCurrencyList = ref([])
  28. function selectCurrency(params) {
  29. tempCurrentCurrencyList.value = params;
  30. if (params.length > 1) {
  31. showCurrencySelect.value = true;
  32. } else {
  33. selectCurrencyAfter(params[0])
  34. }
  35. }
  36. function selectCurrencyAfter(_params) {
  37. top_up_info.token = _params.currencyName || ''
  38. top_up_info.token_chain = _params.tokenChain
  39. top_up_info.chainInfo = _params.chainInfo
  40. // top_up_info.token_chain = 'BNB Smart Chain (BEP20)'
  41. top_up_info.token_symbol = _params.tokenSymbol || ''
  42. top_up_info.currency_code = _params.currencyCode
  43. top_up_info.icon_token = _params.iconPath || ''
  44. top_up_info.icon_net = require('@/assets/svg/icon-BNB.svg')
  45. showCurrencySelect.value = false
  46. router.push({ path: '/top-up/info'});
  47. }
  48. onMounted(() => {
  49. Report.reportLog({
  50. pageSource: Report.pageSource.denetTopupSelector,
  51. businessType: Report.businessType.pageView,
  52. });
  53. })
  54. </script>
  55. <style lang='scss' scoped>
  56. .info {
  57. height: 100%;
  58. overflow: hidden;
  59. }
  60. .selectDiv {
  61. position: absolute;
  62. z-index: 1000;
  63. width: 100%;
  64. max-height: 480px;
  65. padding-bottom: 30px;
  66. left: 0;
  67. bottom: 0;
  68. background-color: #fff;
  69. border-radius: 20px 20px 0 0;
  70. overflow-y: scroll;
  71. }
  72. .selectBg {
  73. position: absolute;
  74. z-index: 999;
  75. top: 0;
  76. left: 0;
  77. width: 100%;
  78. height: 100%;
  79. background: rgba($color: #000000, $alpha: 0.6);
  80. }
  81. </style>