income.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. <template>
  2. <view class="container" style="padding-top: 100rpx;">
  3. <topView :backg="'#1A1A17'"></topView>
  4. <view class="infoBox">
  5. <view class="navBack" @click="navTo('/pages/index/index')">
  6. <u-icon name="arrow-left" size="25" color="#fff" style="position: absolute;left: 0;top: 0;font-weight: bold;"></u-icon>
  7. <view class="title">{{$t("income.我的收益")}}</view>
  8. </view>
  9. <view class="infoItem">
  10. <view class="itemInfo">
  11. <view class="itemName">{{$t("income.收益统计")}}NICE</view>
  12. <view class="infos">
  13. <view class="infoName">{{$t("income.累计收益")}}</view>
  14. <view class="infoNum">{{info.all_recommend + info.all_group+info.all_same+info.all_mining }}</view>
  15. </view>
  16. </view>
  17. <view class="flex numBox">
  18. <view class="numTpl">
  19. <view class="num">{{info.all_extract}}</view>
  20. <view class="name">{{$t("income.累计提现")}}</view>
  21. </view>
  22. <view class="partition"></view>
  23. <view class="numTpl">
  24. <view class="num">{{userInfo.NICE * 1}}</view>
  25. <view class="name">{{$t("income.剩余可提现")}}</view>
  26. </view>
  27. </view>
  28. </view>
  29. <view class="listBox">
  30. <view class="listTop flex">
  31. <view class="tip">{{$t("income.收益明细")}}</view>
  32. <view class="tip flex_item" @click="navTo('/pages/index/incomeTpl')">
  33. <view style="font-size: 24rpx;">{{$t("income.明细记录")}}</view>
  34. <view><u-icon name="arrow-right" size="12" color="#fff" style="margin-left: 5rpx;"></u-icon></view>
  35. </view>
  36. </view>
  37. <view class="listTpl flex">
  38. <view class="tpl">
  39. <view class="addr">{{$t("income.直推奖")}}(NICE)</view>
  40. <view class="time">{{info.all_recommend}}</view>
  41. </view>
  42. </view>
  43. <view class="listTpl flex">
  44. <view class="tpl">
  45. <view class="addr">{{$t("income.业绩奖")}}(NICE)</view>
  46. <view class="time">{{info.all_group}}</view>
  47. </view>
  48. </view>
  49. <view class="listTpl flex">
  50. <view class="tpl">
  51. <view class="addr">{{$t("income.平级奖")}}(NICE)</view>
  52. <view class="time">{{info.all_same}}</view>
  53. </view>
  54. </view>
  55. </view>
  56. </view>
  57. </view>
  58. </template>
  59. <script>
  60. import topView from '../components/topView.vue';
  61. import { moneyInfo } from '@/api/index.js';
  62. import {mapState,mapActions,mapMutations} from "vuex";
  63. export default {
  64. components: {
  65. topView
  66. },
  67. data () {
  68. return {
  69. info:''
  70. }
  71. },
  72. onLoad () {
  73. this.loadDate()
  74. },
  75. computed: {
  76. ...mapState('user', ['userInfo']),
  77. },
  78. methods: {
  79. loadDate () {
  80. let obj = this;
  81. moneyInfo('NICE').then((res) => {
  82. obj.info = res.data
  83. })
  84. },
  85. navTo(url){
  86. uni.navigateTo({
  87. url:url
  88. })
  89. },
  90. },
  91. }
  92. </script>
  93. <style lang="scss">
  94. page {
  95. width: 100%;
  96. min-height: 100vh;
  97. .container {
  98. width: 100%;
  99. min-height: 100vh;
  100. }
  101. }
  102. .infoBox{
  103. padding: 0rpx 25rpx;
  104. color: #fff;
  105. }
  106. .navBack{
  107. position: relative;
  108. color: #fff;
  109. text-align: center;
  110. margin: 30rpx 0rpx 40rpx 0rpx;
  111. .title{
  112. font-weight: bold;
  113. font-size: 34rpx;
  114. }
  115. }
  116. .infoItem{
  117. background: #1A1A17;
  118. padding: 35rpx 0rpx;
  119. border-radius: 20rpx;
  120. .numBox{
  121. padding-top: 25rpx;
  122. .numTpl{
  123. width: 45%;
  124. text-align: center;
  125. .name{
  126. font-weight: 500;
  127. font-size: 26rpx;
  128. color: #FFFFFF;
  129. padding-top: 10rpx;
  130. }
  131. .num{
  132. font-weight: bold;
  133. font-size: 34rpx;
  134. color: #FFFFFF;
  135. }
  136. }
  137. .partition{
  138. width: 2rpx;
  139. height: 119rpx;
  140. background: linear-gradient(0deg, rgba(255,255,255,0), #FFFFFF, rgba(255,255,255,0));
  141. }
  142. }
  143. }
  144. .itemInfo{
  145. padding: 0rpx 25rpx;
  146. .itemName{
  147. font-weight: bold;
  148. font-size: 27rpx;
  149. padding-bottom: 20rpx;
  150. }
  151. .infos{
  152. text-align: center;
  153. border-bottom:1rpx solid rgba(221, 225, 235, 0.2);
  154. padding: 25rpx 0rpx;
  155. padding-bottom: 58rpx;
  156. .infoName{
  157. font-weight: bold;
  158. font-size: 30rpx;
  159. color: #FFFFFF;
  160. line-height: 24rpx;
  161. }
  162. .infoNum{
  163. padding-top: 20rpx;
  164. font-weight: bold;
  165. font-size: 34rpx;
  166. color: #7760EE;
  167. background: linear-gradient(258deg, #FFF0CF 0%, #CBA16B 30.0048828125%, #FCE9CF 67.67578125%, #C29963 100%);
  168. -webkit-background-clip: text;
  169. -webkit-text-fill-color: transparent;
  170. }
  171. }
  172. }
  173. .listBox{
  174. margin-top: 25rpx;
  175. background: #1A1A17;
  176. padding: 0rpx 25rpx;
  177. border-radius: 30rpx;
  178. .listTop{
  179. padding: 35rpx 0rpx;
  180. border-bottom: 1rpx solid rgba(83, 72, 72, 0.3);
  181. }
  182. .listTpl{
  183. padding: 30rpx 0rpx;
  184. border-bottom: 1rpx solid rgba(233, 233, 233, 0.3);
  185. .tpl{
  186. .addr{
  187. font-weight: bold;
  188. font-size: 24rpx;
  189. color: #999999;
  190. }
  191. .time{
  192. font-weight: 500;
  193. font-size: 26rpx;
  194. padding-top: 15rpx;
  195. }
  196. }
  197. .num{
  198. font-weight: bold;
  199. font-size: 34rpx;
  200. color: #7760EE;
  201. background: linear-gradient(258deg, #FFF0CF 0%, #CBA16B 30.0048828125%, #FCE9CF 67.67578125%, #C29963 100%);
  202. -webkit-background-clip: text;
  203. -webkit-text-fill-color: transparent;
  204. }
  205. }
  206. .listTpl:last-child{
  207. border-bottom: none !important;
  208. }
  209. }
  210. </style>