You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

232 lines
6.1 KiB

3 months ago
  1. <template>
  2. <view :data-theme="theme">
  3. <view class='my-promotion'>
  4. <view class="header">
  5. <image class="head_img" :src="urlDomain+'crmebimage/maintain/2021/07/13/48e81e3e2e374d48820b7a9a56905365k2qa9yj8n5.png'"></image>
  6. <navigator :url="'/pages/promoter/user_spread_money/index?type=1&extractCount='+spreadInfo.extractCount" hover-class="none" class='record'>提现记录<text class='iconfont icon-xiangyou'></text></navigator>
  7. <view class="head_box">
  8. <view class='name acea-row row-center-wrapper'>
  9. <view>当前佣金</view>
  10. </view>
  11. <view class='num'>{{spreadInfo.commissionCount}}</view>
  12. <view class='profit acea-row row-between-wrapper'>
  13. <view class='item'>
  14. <view>昨日收益</view>
  15. <view class='money'>{{spreadInfo.lastDayCount ? Number(spreadInfo.lastDayCount).toFixed(2) : 0}}</view>
  16. </view>
  17. <view class='item'>
  18. <view>累积已提</view>
  19. <view class='money'>{{spreadInfo.extractCount ? Number(spreadInfo.extractCount).toFixed(2) : 0}}</view>
  20. </view>
  21. </view>
  22. </view>
  23. </view>
  24. <!-- #ifdef APP-PLUS || H5 -->
  25. <navigator url="/pages/users/user_cash/index" hover-class="none" class='bnt bg_color'>立即提现</navigator>
  26. <!-- #endif -->
  27. <!-- #ifdef MP -->
  28. <view @click="openSubscribe('/pages/users/user_cash/index')" class='bnt bg_color'>立即提现</view>
  29. <!-- #endif -->
  30. <view class='list acea-row row-between-wrapper'>
  31. <navigator url='/pages/promoter/user_spread_code/index' hover-class="none" class='item acea-row row-center-wrapper row-column'>
  32. <text class='iconfont icon-erweima'></text>
  33. <view>推广名片</view>
  34. </navigator>
  35. <navigator url='/pages/promoter/promoter-list/index' hover-class="none" class='item acea-row row-center-wrapper row-column'>
  36. <text class='iconfont icon-tongji'></text>
  37. <view>推广人统计</view>
  38. </navigator>
  39. <navigator :url="'/pages/promoter/user_spread_money/index?type=2&commissionCount='+spreadInfo.commissionCount" hover-class="none" class='item acea-row row-center-wrapper row-column'>
  40. <text class='iconfont icon-qiandai'></text>
  41. <view>佣金明细</view>
  42. </navigator>
  43. <navigator url='/pages/promoter/promoter-order/index' hover-class="none" class='item acea-row row-center-wrapper row-column'>
  44. <text class='iconfont icon-dingdan'></text>
  45. <view>推广人订单</view>
  46. </navigator>
  47. <navigator url='/pages/promoter/promoter_rank/index' hover-class="none" class='item acea-row row-center-wrapper row-column'>
  48. <text class='iconfont icon-paihang1'></text>
  49. <view>推广人排行</view>
  50. </navigator>
  51. <navigator url='/pages/promoter/commission_rank/index' hover-class="none" class='item acea-row row-center-wrapper row-column'>
  52. <text class='iconfont icon-paihang'></text>
  53. <view>佣金排行</view>
  54. </navigator>
  55. </view>
  56. </view>
  57. </view>
  58. </template>
  59. <script>
  60. import { getSpreadInfo } from '@/api/user.js';
  61. import { openExtrctSubscribe } from '@/utils/SubscribeMessage.js';
  62. import {toLogin} from '@/libs/login.js';
  63. import {mapGetters} from "vuex";
  64. import {setThemeColor} from '@/utils/setTheme.js'
  65. const app = getApp();
  66. export default {
  67. data() {
  68. return {
  69. urlDomain: this.$Cache.get("imgHost"),
  70. spreadInfo: {},
  71. theme:app.globalData.theme,
  72. bgColor:'#e93323'
  73. };
  74. },
  75. computed: mapGetters(['isLogin']),
  76. watch: {
  77. isLogin: {
  78. handler: function(newV, oldV) {
  79. if (newV) {
  80. this.getSpreadInfo();
  81. }
  82. },
  83. deep: true
  84. }
  85. },
  86. onShow() {
  87. let that = this;
  88. that.bgColor = setThemeColor();
  89. uni.setNavigationBarColor({
  90. frontColor: '#ffffff',
  91. backgroundColor:that.bgColor,
  92. });
  93. if (this.isLogin) {
  94. this.getSpreadInfo();
  95. } else {
  96. toLogin();
  97. }
  98. },
  99. methods: {
  100. openSubscribe: function(page) {
  101. uni.navigateTo({
  102. url: page,
  103. });
  104. },
  105. /**
  106. * 获取个人用户信息
  107. */
  108. getSpreadInfo: function() {
  109. let that = this;
  110. getSpreadInfo().then(res => {
  111. that.$set(that,'spreadInfo',res.data);
  112. });
  113. }
  114. }
  115. }
  116. </script>
  117. <style scoped lang="scss">
  118. .my-promotion .header {
  119. width: 100%;
  120. height: 375rpx;
  121. position: relative;
  122. }
  123. .head_img{
  124. width: 100%;
  125. height: 375rpx;
  126. position: absolute;
  127. top: 0;
  128. z-index: 2;
  129. }
  130. .head_box{
  131. width: 100%;
  132. height: 375rpx;
  133. position: absolute;
  134. top: 0;
  135. z-index: 0;
  136. @include main_bg_color(theme);
  137. }
  138. .my-promotion .header .name {
  139. font-size: 30rpx;
  140. color: #fff;
  141. padding-top: 57rpx;
  142. position: relative;
  143. }
  144. .my-promotion .header .record {
  145. font-size: 26rpx;
  146. color: rgba(255, 255, 255, 0.8);
  147. position: absolute;
  148. right: 20rpx;
  149. top:60rpx;
  150. z-index:10;
  151. }
  152. .my-promotion .header .record .iconfont {
  153. font-size: 25rpx;
  154. margin-left: 10rpx;
  155. vertical-align: 2rpx;
  156. }
  157. .my-promotion .header .num {
  158. text-align: center;
  159. color: #fff;
  160. margin-top: 28rpx;
  161. font-size: 90rpx;
  162. font-family: 'Guildford Pro';
  163. }
  164. .my-promotion .header .profit {
  165. padding: 0 20rpx;
  166. margin-top: 35rpx;
  167. font-size: 24rpx;
  168. color: rgba(255, 255, 255, 0.8);
  169. }
  170. .my-promotion .header .profit .item {
  171. min-width: 200rpx;
  172. text-align: center;
  173. }
  174. .my-promotion .header .profit .item .money {
  175. font-size: 34rpx;
  176. color: #fff;
  177. margin-top: 5rpx;
  178. }
  179. .my-promotion .bnt {
  180. font-size: 28rpx;
  181. color: #fff;
  182. width: 278rpx;
  183. height: 108rpx;
  184. box-sizing: border-box;
  185. border: 20rpx solid #f5f5f5;
  186. border-radius: 50rpx;
  187. text-align: center;
  188. line-height: 68rpx;
  189. margin: -52rpx auto 0 auto;
  190. box-sizing: border-box;
  191. position: absolute;
  192. left: 0;
  193. right: 0;
  194. z-index: 3;
  195. }
  196. .bg_color{
  197. @include main_bg_color(theme);
  198. }
  199. .my-promotion .list {
  200. padding: 0 30rpx 50rpx 30rpx;
  201. margin-top: 60rpx;
  202. }
  203. .my-promotion .list .item {
  204. width: 335rpx;
  205. height: 240rpx;
  206. border-radius: 14rpx;
  207. background-color: #fff;
  208. margin-top: 20rpx;
  209. font-size: 30rpx;
  210. color: #666;
  211. }
  212. .my-promotion .list .item .iconfont {
  213. font-size: 70rpx;
  214. // background: linear-gradient(to right, #fc4d3d 0%, #e93323 100%);
  215. @include main_bg_color(theme);
  216. -webkit-background-clip: text;
  217. -webkit-text-fill-color: transparent;
  218. margin-bottom: 20rpx;
  219. }
  220. </style>