memberLevel.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <template>
  2. <view class="member-level">
  3. <!-- 用户会员信息 -->
  4. <view class="user-wrap">
  5. <view class="user-info">
  6. <up-image class="avatar" :fade="false"
  7. src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png" width="96rpx"
  8. height="96rpx" shape="circle"></up-image>
  9. <view class="level-wrap">
  10. <text class="name">V1 青铜守护</text>
  11. <view class="progress-wrap">
  12. <view class="progress-value">
  13. <view class="total"></view>
  14. </view>
  15. <view class="progress-score">
  16. <text class="cur-val">80</text>/100分
  17. </view>
  18. </view>
  19. <view class="level-desc">
  20. 再累计能量<text class="level-text"> 20分 </text>即可升级到 青铜等级
  21. </view>
  22. </view>
  23. </view>
  24. <slot></slot>
  25. </view>
  26. <!-- 树信息 -->
  27. <view class="tree-info">
  28. <view class="info-text">
  29. <view>汕尾妙荔</view>
  30. <text>现代农业产业园</text>
  31. </view>
  32. <view class="info-text">
  33. <view>16年老树</view>
  34. <text class="text">妃子笑荔枝</text>
  35. </view>
  36. <view class="info-text">
  37. <view>成熟期</view>
  38. <text class="text">温度适宜-梢期杀虫</text>
  39. </view>
  40. </view>
  41. </view>
  42. </template>
  43. <script setup>
  44. </script>
  45. <style lang="scss" scoped>
  46. @import "@/static/style/mixin.scss";
  47. .member-level {
  48. .user-wrap {
  49. display: flex;
  50. border-radius: 70rpx 0 0 70rpx;
  51. padding: 16rpx 20rpx;
  52. margin: 0 0 10rpx 24rpx;
  53. position: relative;
  54. width: calc(100% - 24rpx);
  55. box-sizing: border-box;
  56. background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.4), transparent);
  57. .user-info {
  58. width: 100%;
  59. display: flex;
  60. .avatar {
  61. border: 2rpx solid #fff;
  62. border-radius: 50%;
  63. margin-right: 20rpx;
  64. }
  65. .level-wrap {
  66. line-height: 32rpx;
  67. width: 54%;
  68. .name {
  69. // color: #fff;
  70. font-family: 'PangMenZhengDao';
  71. }
  72. .progress-wrap {
  73. font-size: 20rpx;
  74. color: rgba(0, 0, 0, 0.8);
  75. display: flex;
  76. align-items: center;
  77. justify-content: space-between;
  78. .progress-value {
  79. width: calc(100% - 120rpx);
  80. height: 16rpx;
  81. background: #E7E7E7;
  82. border-radius: 40rpx;
  83. border: 2rpx solid #fff;
  84. .total {
  85. width: 80%;
  86. height: 100%;
  87. border-radius: 20rpx;
  88. background-image: linear-gradient(120deg, #FDE492, #FB9C03);
  89. }
  90. }
  91. .cur-val {
  92. font-size: 26rpx;
  93. font-weight: 500;
  94. color: #fff;
  95. }
  96. }
  97. .level-desc {
  98. font-size: 20rpx;
  99. color: rgba(0, 0, 0, 0.84);
  100. .level-text {
  101. color: #fff;
  102. }
  103. }
  104. }
  105. }
  106. }
  107. .tree-info {
  108. width: 95%;
  109. height: 160rpx;
  110. box-sizing: border-box;
  111. padding: 0 50rpx 20rpx;
  112. @include ossBg("treePage/tree-info-bg.png");
  113. display: flex;
  114. justify-content: space-around;
  115. align-items: center;
  116. font-size: 28rpx;
  117. font-weight: 500;
  118. margin: auto;
  119. .info-text {
  120. text-align: center;
  121. line-height: 32rpx;
  122. font-family: 'SMILEYSANS';
  123. position: relative;
  124. .text {
  125. font-size: 22rpx;
  126. }
  127. }
  128. .info-text+.info-text {
  129. &::before {
  130. content: '';
  131. position: absolute;
  132. left: -34rpx;
  133. top: 14rpx;
  134. width: 1rpx;
  135. height: 38rpx;
  136. background: rgba(0, 0, 0, 0.26);
  137. }
  138. }
  139. }
  140. }
  141. </style>