index.vue 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. <template>
  2. <view class="container">
  3. <view class="distribution">
  4. <view class="bg"></view>
  5. <view class="userInfo">
  6. <view class="u-plr30">
  7. <view class="head u-flex-center-sb">
  8. <view class="u-flex">
  9. <image
  10. v-if="accountInfo.head_photo"
  11. :src="accountInfo.head_photo"
  12. ></image>
  13. <image v-else :src="$defaultAvatar()" mode=""></image>
  14. <view class="u-ml30 u-mt15">
  15. <view class="u-font30 u-1A1A1A u-text1" style="width: 350rpx">{{
  16. accountInfo.nickname
  17. }}</view>
  18. <view class="u-mt5 u-font24"
  19. >邀请码:
  20. <text class="u-mr30">{{ accountInfo.invitation_code }}</text>
  21. <text
  22. class="u-FF0000"
  23. @click="copy(accountInfo.invitation_code)"
  24. >复制</text
  25. >
  26. </view>
  27. </view>
  28. </view>
  29. </view>
  30. </view>
  31. <view class="u-plr30">
  32. <view class="list-item u-mt30">
  33. <view class="u-flex">
  34. <view class="iconfont bg-E8F9EF">&#xeb99;</view>
  35. <!-- 可提现 -->
  36. <text class="u-bold u-font28 u-1A1A1A u-ml15 u-mt15"
  37. >可提现金额</text
  38. >
  39. </view>
  40. <view class="bg-fff u-mt20 u-flex-center-sb">
  41. <view class="u-00BF5A u-bold u-font36 u-flex">
  42. <rich-text
  43. :nodes="$mUtil.priceBigSmall(accountInfo.commission_able)"
  44. ></rich-text>
  45. </view>
  46. <view class="u-flex-center">
  47. <view class="wd-btn" @click="goWithdrawDeposit">
  48. <button class="u-font24">点击提现</button>
  49. </view>
  50. <view class="wd-btn u-ml10 bgc" @click="goWithdrawDeposittwo">
  51. <button class="u-font24">转入余额</button>
  52. </view>
  53. </view>
  54. </view>
  55. </view>
  56. <view class="list-item u-mt30">
  57. <view class="u-flex">
  58. <view class="iconfont bg-E8F9EF">&#xe673;</view>
  59. <text class="u-bold u-font28 u-1A1A1A u-ml15 u-mt15"
  60. >我的伙伴</text
  61. >
  62. </view>
  63. <view class="bg-fff u-mt20 u-flex-center-sb" @click="goPartner">
  64. <view>直接伙伴</view>
  65. <view>
  66. <text class="u-FF0000">{{ num }}</text> 人
  67. <text class="iconfont u-font24 u-999 u-ml15">&#xe6c7;</text>
  68. </view>
  69. </view>
  70. </view>
  71. <view class="list-item u-mt30">
  72. <view class="u-flex-center-sb">
  73. <view class="u-flex-center">
  74. <view class="iconfont bg-E8F9EF">&#xe63c;</view>
  75. <text class="u-bold u-font28 u-1A1A1A u-ml15 u-mt15"
  76. >分销订单</text
  77. >
  78. </view>
  79. <view class="u-flex-center" @click="getMoenyList">
  80. <text class="u-font24 u-999">历史订单</text>
  81. <text class="iconfont u-font24 u-999 u-mr30">&#xe6c7;</text>
  82. </view>
  83. </view>
  84. <view class="bg-fff u-mt20 u-flex-center-sa">
  85. <view>
  86. <view>本周订单</view>
  87. <view class="u-text-center u-mt10">
  88. <text class="u-00BF5A u-bold">{{
  89. userordergains.week_user_order_gains_num
  90. }}</text>
  91. <text class="u-font20 u-666 u-ml5">单</text>
  92. </view>
  93. </view>
  94. <view>
  95. <view>本月订单</view>
  96. <view class="u-text-center u-mt10">
  97. <text class="u-00BF5A u-bold">
  98. {{ userordergains.month_user_order_gains_num }}
  99. </text>
  100. <text class="u-font20 u-666 u-ml5">单</text>
  101. </view>
  102. </view>
  103. </view>
  104. </view>
  105. </view>
  106. </view>
  107. </view>
  108. <!--页面加载动画-->
  109. <ldLoading isFullScreen :active="loading"></ldLoading>
  110. </view>
  111. </template>
  112. <script setup>
  113. import { ref } from "vue";
  114. import { onShow } from "@dcloudio/uni-app";
  115. const $http = uni.$http;
  116. const $mUtil = uni.$mUtil;
  117. const loading = ref(true);
  118. const accountInfo = ref({}); // 用户信息
  119. const num = ref(0); // 伙伴个数
  120. const userordergains = ref({}); // 分销订单
  121. // 生命周期
  122. onShow((options) => {
  123. return
  124. // 获取用户信息
  125. $http.get("/account/getAccountInfo").then((res) => {
  126. if (res && res.code == 200) {
  127. accountInfo.value = res.data;
  128. }
  129. });
  130. // 获取伙伴个数
  131. $http.get("/account/myPartnerNum").then((res) => {
  132. if (res && res.code == 200) {
  133. num.value = res.data;
  134. }
  135. });
  136. // 获取分销订单
  137. $http.get("/userordergains/slim-statistics").then((res) => {
  138. loading.value = false;
  139. if (res && res.code == 200) {
  140. userordergains.value = res.data;
  141. }
  142. });
  143. });
  144. // 方法
  145. // 分润订单
  146. const getMoenyList = () => {
  147. uni.navigateTo({
  148. url: "moneyList",
  149. });
  150. };
  151. // 提现
  152. const goWithdrawDeposit = () => {
  153. uni.navigateTo({
  154. url: "withdraw",
  155. });
  156. };
  157. // 转入余额
  158. const goWithdrawDeposittwo = () => {
  159. uni.navigateTo({
  160. url: "withdrawTwo",
  161. });
  162. };
  163. // 我的伙伴
  164. const goPartner = () => {
  165. uni.navigateTo({
  166. url: "partner",
  167. });
  168. };
  169. // 复制邀请码
  170. const copy = (code) => {
  171. uni.setClipboardData({
  172. data: code,
  173. success: () => {
  174. uni.showToast({
  175. title: "复制成功",
  176. });
  177. },
  178. });
  179. };
  180. </script>
  181. <style lang="scss" scoped>
  182. .distribution {
  183. position: relative;
  184. view {
  185. font-size: 28rpx;
  186. }
  187. .bg {
  188. width: 100%;
  189. height: 185rpx;
  190. background-color: #fa6138;
  191. }
  192. .userInfo {
  193. position: absolute;
  194. top: 68rpx;
  195. width: 100%;
  196. .head {
  197. background-color: #fffaee;
  198. padding: 40rpx 30rpx 36rpx;
  199. border-radius: 20rpx;
  200. image {
  201. width: 106rpx;
  202. height: 106rpx;
  203. border: 4rpx solid #ffffff;
  204. border-radius: 50%;
  205. }
  206. .font80 {
  207. font-size: 80rpx;
  208. color: #fa6138;
  209. }
  210. }
  211. }
  212. .list-item {
  213. .bg-E8F9EF {
  214. background-color: #e8f9ef;
  215. color: #fa6138;
  216. padding: 10rpx;
  217. width: 50rpx;
  218. height: 50rpx;
  219. line-height: 50rpx;
  220. text-align: center;
  221. border-radius: 50%;
  222. }
  223. .bg-fff {
  224. background-color: #ffffff;
  225. box-sizing: border-box;
  226. padding: 30rpx;
  227. border-radius: 20rpx;
  228. box-shadow: 0 0 20rpx #eee;
  229. .wd-btn button {
  230. width: 175rpx;
  231. height: 60rpx;
  232. border-radius: 30px;
  233. background-color: #f7f7f7;
  234. }
  235. }
  236. }
  237. }
  238. </style>