建材商城系统20241014
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.

315 lines
6.6 KiB

7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
  1. <template>
  2. <view class="page">
  3. <navbar
  4. title="我的分享"
  5. leftClick
  6. @leftClick="$utils.navigateBack"
  7. bgColor="#DC2828"
  8. color="#fff"
  9. />
  10. <view class="team">
  11. <view class="team-message">
  12. <view class="leftImage">
  13. <image :src="userInfo.headImage" mode="aspectFill"></image>
  14. </view>
  15. <view class="number-team">
  16. <view class="top-number">
  17. <text style="font-weight: 500;">{{ userInfo.phone }}</text>
  18. <view class="salesman">{{ levelMap[info.role] }}</view>
  19. </view>
  20. <view class="bottom-number">
  21. <view class="performance">
  22. <view class="team-sum">
  23. 客户总订单
  24. </view>
  25. <view class="figure">
  26. <text style="margin-left: 30rpx; color: #DC2828; font-weight: 600;"></text><text
  27. class="money">{{ info.money }}</text>
  28. </view>
  29. </view>
  30. <view class="withdraw" @click="toPurse">
  31. <view class="withdraw-button">
  32. 去提现
  33. </view>
  34. </view>
  35. </view>
  36. </view>
  37. </view>
  38. </view>
  39. <view class="user">
  40. <uv-tabs :list="tabs" :activeStyle="{color : '#FD5100', fontWeight : 600}" lineColor="#FD5100"
  41. lineHeight="8rpx" lineWidth="50rpx" @click="clickTabs"></uv-tabs>
  42. </view>
  43. <view class="user-list">
  44. <view class="head"
  45. :key="index"
  46. v-for="(item, index) in list">
  47. <view class="headImage">
  48. <image :src="item.headImage" mode="aspectFill"></image>
  49. </view>
  50. <view class="info">
  51. <view class="name">
  52. {{ item.nickName }}{{ item.phone ? item.phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2') : '' }}
  53. </view>
  54. <view class="headBtn">
  55. 下单量<text>{{item.orderNum}}</text> | 积分 <text style="color: darkorange;">{{item.commission}}</text>
  56. </view>
  57. <view class="tips">
  58. 加入<text>{{ $dayjs().diff($dayjs(item.createTime), 'day') }}</text>
  59. </view>
  60. </view>
  61. </view>
  62. </view>
  63. <quick-order-entry
  64. ref="quickOrderEntry"
  65. />
  66. </view>
  67. </template>
  68. <script>
  69. import mixinsList from '@/mixins/list.js'
  70. export default {
  71. mixins: [mixinsList],
  72. data() {
  73. return {
  74. state: -1,
  75. mixinsListApi: 'getTeamList',
  76. tabs: [
  77. {
  78. name: '友情分享'
  79. },
  80. {
  81. name: '立体分享'
  82. },
  83. ],
  84. levelMap : [
  85. '区域分享',
  86. '',
  87. ],
  88. info : {},
  89. };
  90. },
  91. onLoad() {
  92. this.queryParams.state = 0;
  93. this.$store.commit('getUserInfo');
  94. this.getTeamInfo();
  95. },
  96. methods: {
  97. //点击tab栏
  98. clickTabs(index) {
  99. if (index == 0) {
  100. this.state = -1;
  101. } else {
  102. this.state = index - 1;
  103. }
  104. // this.queryParams.pageSize = 10
  105. // this.orderPage()
  106. },
  107. // 跳转到钱包提现
  108. toPurse() {
  109. uni.navigateTo({
  110. url: '/pages_order/mine/purse'
  111. })
  112. },
  113. // 获取团队信息
  114. getTeamInfo() {
  115. this.$api('getTeamHeader', res => {
  116. if (res.code == 200) {
  117. this.info = res.result;
  118. }
  119. })
  120. },
  121. },
  122. }
  123. </script>
  124. <style scoped lang="scss">
  125. .page {
  126. .team {
  127. height: 250rpx;
  128. background-color: #DC2828;
  129. padding-top: 50rpx;
  130. .team-message {
  131. height: 200rpx;
  132. width: 90%;
  133. background-color: #fff;
  134. margin: 0 30rpx;
  135. position: relative;
  136. border-radius: 10rpx;
  137. .leftImage {
  138. width: 150rpx;
  139. height: 150rpx;
  140. background-image: url(/static/image/center/3.png);
  141. background-size: 100% 100%;
  142. overflow: hidden;
  143. border-radius: 50%;
  144. margin-right: 15rpx;
  145. display: inline-block;
  146. position: absolute;
  147. top: 25rpx;
  148. left: 26rpx;
  149. image{
  150. width: 100%;
  151. height: 100%;
  152. }
  153. }
  154. .number-team {
  155. width: 70%;
  156. display: inline-block;
  157. position: absolute;
  158. top: 0rpx;
  159. left: 202rpx;
  160. .top-number {
  161. height: 70rpx;
  162. position: relative;
  163. border-bottom: #DC2828 dotted 1rpx;
  164. display: flex;
  165. align-items: center;
  166. margin: 0 20rpx;
  167. .salesman {
  168. position: absolute;
  169. height: 40rpx;
  170. width: 160rpx;
  171. text-align: center;
  172. background-color: #FF6700;
  173. border-radius: 50rpx;
  174. display: inline;
  175. margin-left: 240rpx;
  176. color: #fff;
  177. font-size: 24rpx;
  178. }
  179. }
  180. .bottom-number {
  181. height: 120rpx;
  182. position: relative;
  183. .performance {
  184. width: 50%;
  185. height: 100%;
  186. display: inline-block;
  187. position: absolute;
  188. top: 0rpx;
  189. .team-sum {
  190. display: inline-block;
  191. width: 180rpx;
  192. background-color: #F99F9F;
  193. border-radius: 50rpx;
  194. text-align: center;
  195. margin: 0rpx 20rpx;
  196. margin-top: 8rpx;
  197. color: #DC2828;
  198. font-size: 26rpx;
  199. }
  200. .figure {
  201. height: 60rpx;
  202. line-height: 60rpx;
  203. display: flex;
  204. // align-items: center;
  205. padding-top: 10rpx;
  206. .money {
  207. font-size: 40rpx;
  208. color: #DC2828;
  209. display: inline-block;
  210. font-weight: 600;
  211. }
  212. }
  213. }
  214. .withdraw {
  215. width: 50%;
  216. height: 100%;
  217. display: inline-block;
  218. position: absolute;
  219. right: 0rpx;
  220. display: flex;
  221. justify-content: center; //横轴居中
  222. align-items: center; //竖轴居中
  223. .withdraw-button {
  224. background-color: #DC2828;
  225. color: #fff;
  226. border-radius: 50rpx;
  227. text-align: center;
  228. height: 62rpx;
  229. width: 200rpx;
  230. line-height: 62rpx;
  231. }
  232. }
  233. }
  234. }
  235. }
  236. }
  237. .user {
  238. height: 120rpx;
  239. background-color: #fff;
  240. display: flex;
  241. align-items: center;
  242. padding-left: 30rpx;
  243. }
  244. .user-list {
  245. margin: 0 20rpx;
  246. .head {
  247. z-index: -1;
  248. display: flex;
  249. background-color: #fff;
  250. padding: 0rpx 20rpx;
  251. align-items: center;
  252. position: relative;
  253. height: 100rpx;
  254. margin-top: 20rpx;
  255. border-radius: 20rpx;
  256. .headImage {
  257. width: 75rpx;
  258. height: 75rpx;
  259. background-image: url(/static/image/center/3.png);
  260. background-size: 100% 100%;
  261. overflow: hidden;
  262. border-radius: 50%;
  263. margin-right: 15rpx;
  264. image{
  265. width: 100%;
  266. height: 100%;
  267. }
  268. }
  269. .info {
  270. font-size: 22rpx;
  271. .name {
  272. font-size: 26rpx;
  273. color: #333;
  274. }
  275. .tips {
  276. font-size: 22rpx;
  277. color: #999999;
  278. margin-top: 10rpx;
  279. }
  280. }
  281. .headBtn {
  282. position: absolute;
  283. right: 60rpx;
  284. top: 38rpx;
  285. color: #333;
  286. font-size: 26rpx;
  287. }
  288. }
  289. }
  290. }
  291. </style>