rg.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <template>
  2. <view class="content">
  3. <view class="top"><image :src="'' + banner" mode=""></image></view>
  4. <view class="main" v-for="(item, index) in list" @click="navTo('/pages/index/rgDetail?id=' + item.id)">
  5. <view class="main-top flex">
  6. <view class="main-icon"><image :src="item.imgs" mode=""></image></view>
  7. <view class="main-top-info">
  8. <view class="main-title clamp">{{ item.name }}</view>
  9. <view class="main-btype">認購幣種:{{ item.coinname.toLocaleUpperCase() }}</view>
  10. <view class="main-time">開始時間:{{ item.starttime }}</view>
  11. <view class="main-time">結束時間:{{ item.finishtime }}</view>
  12. </view>
  13. </view>
  14. <view class="xian"><u-line-progress active-color="#2979ff" :percent="((item.num * 1 - item.sellnum * 1) / (item.num * 1)) * 100"></u-line-progress></view>
  15. <view class="main-bottom flex">
  16. <view class="main-bottom-item first">
  17. <view class="main-bottom-item-font">發行總量</view>
  18. <view class="main-bottom-item-num">{{ item.num }}</view>
  19. </view>
  20. <view class="main-bottom-item">
  21. <view class="main-bottom-item-font">認購單價</view>
  22. <view class="main-bottom-item-num">{{ item.price }} {{ item.buycoin.toLocaleUpperCase() }}</view>
  23. </view>
  24. <view class="main-bottom-item">
  25. <view class="main-bottom-item-font">鎖倉時間</view>
  26. <view class="main-bottom-item-num">{{ item.lockday }}天</view>
  27. </view>
  28. </view>
  29. </view>
  30. </view>
  31. </template>
  32. <script>
  33. import { index } from '@/api/wallet.js';
  34. export default {
  35. data() {
  36. return {
  37. list: [],
  38. banner: ''
  39. };
  40. },
  41. onLoad() {},
  42. onShow() {
  43. this.loadData();
  44. },
  45. methods: {
  46. navTo() {
  47. this.$api.msg('認購時間未到,暫不能認購');
  48. },
  49. loadData() {
  50. index({ page: 1, limit: 1000 }).then(({ data }) => {
  51. this.list = data.list;
  52. this.banner = data.webissue;
  53. });
  54. },
  55. navTo(url) {
  56. uni.navigateTo({
  57. url
  58. });
  59. }
  60. }
  61. };
  62. </script>
  63. <style lang="scss">
  64. .top {
  65. margin: auto;
  66. width: 750rpx;
  67. height: 300rpx;
  68. image {
  69. width: 100%;
  70. height: 100%;
  71. }
  72. }
  73. .main {
  74. background: #fff;
  75. margin-top: 20rpx;
  76. padding: 16rpx 20rpx 24rpx;
  77. .main-top {
  78. justify-content: flex-start;
  79. align-items: center;
  80. .main-icon {
  81. width: 250rpx;
  82. height: 250rpx;
  83. image {
  84. width: 100%;
  85. height: 100%;
  86. }
  87. }
  88. .main-top-info {
  89. margin-left: 10rpx;
  90. .main-title {
  91. font-size: 32rpx;
  92. font-weight: bold;
  93. color: #707a8a;
  94. }
  95. .main-btype {
  96. margin-top: 6rpx;
  97. font-size: 28rpx;
  98. color: #707a8a;
  99. }
  100. .main-time {
  101. margin-top: 6rpx;
  102. font-size: 28rpx;
  103. color: #707a8a;
  104. }
  105. }
  106. }
  107. .xian {
  108. margin-top: 20rpx;
  109. }
  110. .main-bottom {
  111. padding: 28rpx 16rpx;
  112. .first {
  113. align-items: flex-start !important;
  114. }
  115. .main-bottom-item {
  116. display: flex;
  117. flex-direction: column;
  118. align-items: center;
  119. .main-bottom-item-font {
  120. font-size: 28rpx;
  121. color: #707a8a;
  122. }
  123. .main-bottom-item-num {
  124. margin-top: 10rpx;
  125. font-size: 28rpx;
  126. color: #707a8a;
  127. }
  128. }
  129. }
  130. }
  131. </style>