index.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <template>
  2. <view class="content pdx-32">
  3. <view class="top_bg">
  4. <view class="head" @click="$navTo('/pages/personalProfile/index')">
  5. <view class="flex fd_c">
  6. <view class="text-36 text-070202 text-500">用户名称用户名称</view>
  7. <image class="vip_icon" src="/static/logo.png"></image>
  8. </view>
  9. <image class="image" src="/static/logo.png"></image>
  10. </view>
  11. <view class="info">
  12. <view class="info_item">
  13. <view class="text-40 text-400 text-070202">1322</view>
  14. <view class="text-24 text-500 text-C8C9C6 mgt-8">我的接单</view>
  15. </view>
  16. <view class="line"></view>
  17. <view class="info_item">
  18. <view class="text-40 text-400 text-070202">322</view>
  19. <view class="text-24 text-500 text-C8C9C6 mgt-8">我的悬赏</view>
  20. </view>
  21. <view class="line"></view>
  22. <view class="info_item">
  23. <view class="text-40 text-400 text-070202">32</view>
  24. <view class="text-24 text-500 text-C8C9C6 mgt-8">开通会员</view>
  25. </view>
  26. <view class="line"></view>
  27. <view class="info_item">
  28. <view class="text-40 text-400 text-070202">22</view>
  29. <view class="text-24 text-500 text-C8C9C6 mgt-8">邀请好友</view>
  30. </view>
  31. </view>
  32. </view>
  33. <view class="earn">
  34. <view class="earn_item flex">
  35. <view>
  36. <view class="text-24 text-500 text-7E7E7E">累计收益</view>
  37. <view class="text-44 text-400 text-070202 mgt-18">999.99</view>
  38. </view>
  39. <view class="btn">去提现</view>
  40. </view>
  41. <view class="earn_item mgl-24">
  42. <view class="text-24 text-500 text-7E7E7E">悬赏余额</view>
  43. <view class="text-44 text-400 text-070202 mgt-18">999.99</view>
  44. </view>
  45. </view>
  46. <image class="radio-16 h-128 w mgt-24" src="/static/logo.png"></image>
  47. <image class="radio-16 h-144 w mgt-24" src="/static/logo.png"></image>
  48. <view class="w mgt-24 pdb-30">
  49. <view
  50. class="w h-96 flex jc_between ai_center mgt-8 menu_item"
  51. v-for="item in menuList"
  52. :key="item.name"
  53. @click="$navTo(item.pagePath)"
  54. >
  55. <view class="flex ai_center p-rel">
  56. <image class="w-48 h-48" :src="item.icon" mode="scaleToFill" />
  57. <view class="mgl-20 text-28 text-400 text-303030">
  58. {{ item.name }}
  59. </view>
  60. <view v-if="item.name === '我的消息'" class="badge">99+</view>
  61. </view>
  62. <image class="w-48 h-48" src="/static/logo.png" mode="scaleToFill" />
  63. </view>
  64. </view>
  65. </view>
  66. </template>
  67. <script>
  68. export default {
  69. data() {
  70. return {
  71. title: "我的",
  72. tagList: [
  73. {
  74. icon: "/static/logo.png",
  75. name: "我的接单",
  76. pagePath: "/pages/myTakeOrder/index",
  77. },
  78. {
  79. icon: "/static/logo.png",
  80. name: "我的悬赏",
  81. pagePath: "/pages/myBounty/index",
  82. },
  83. {
  84. icon: "/static/logo.png",
  85. name: "开通会员",
  86. pagePath: "/pages/activateVIP/index",
  87. },
  88. {
  89. icon: "/static/logo.png",
  90. name: "邀请好友",
  91. pagePath: "/pages/inviteFriends/index",
  92. },
  93. ],
  94. menuList: [
  95. {
  96. icon: "/static/logo.png",
  97. name: "我的工具包",
  98. pagePath: "/pages/myTools/index",
  99. },
  100. {
  101. icon: "/static/logo.png",
  102. name: "我的消息",
  103. pagePath: "/pages/myMessage/index",
  104. },
  105. {
  106. icon: "/static/logo.png",
  107. name: "维权",
  108. pagePath: "/pages/safeguardRights/index",
  109. },
  110. {
  111. icon: "/static/logo.png",
  112. name: "收益统计",
  113. pagePath: "/pages/statisticsEarnings/index",
  114. },
  115. {
  116. icon: "/static/logo.png",
  117. name: "我的店铺",
  118. pagePath: "/pages/myShop/index",
  119. },
  120. {
  121. icon: "/static/logo.png",
  122. name: "系统设置",
  123. pagePath: "/pages/setting/index",
  124. },
  125. ],
  126. };
  127. },
  128. onLoad() {},
  129. methods: {},
  130. };
  131. </script>
  132. <style lang="scss" scope>
  133. .content {
  134. display: flex;
  135. flex-direction: column;
  136. align-items: center;
  137. justify-content: center;
  138. }
  139. .top_bg {
  140. width: 100vw;
  141. height: 568rpx;
  142. flex-shrink: 0;
  143. // background: linear-gradient(to bottom, #ffd8bf, #ffffff);
  144. background: linear-gradient(180deg, #ffd8bf 10%, #fff 65%);
  145. .head {
  146. margin-top: 134rpx;
  147. padding: 0 32rpx;
  148. height: 144rpx;
  149. display: flex;
  150. justify-content: space-between;
  151. align-items: center;
  152. .vip_icon {
  153. margin-top: 16rpx;
  154. width: 112rpx;
  155. height: 44rpx;
  156. }
  157. .image {
  158. width: 144rpx;
  159. height: 144rpx;
  160. border-radius: 50%;
  161. }
  162. }
  163. .info {
  164. margin-top: 40rpx;
  165. padding: 0 32rpx;
  166. display: flex;
  167. align-items: center;
  168. justify-content: space-between;
  169. .info_item {
  170. height: 128rpx;
  171. display: flex;
  172. flex-direction: column;
  173. justify-content: center;
  174. align-items: center;
  175. }
  176. .line {
  177. height: 40rpx;
  178. width: 2rpx;
  179. background: #efedec;
  180. }
  181. }
  182. }
  183. .earn {
  184. margin-top: -122rpx;
  185. width: 100%;
  186. display: flex;
  187. justify-content: space-between;
  188. .earn_item {
  189. padding: 16rpx 16rpx 20rpx 24rpx;
  190. flex: 1;
  191. height: 148rpx;
  192. flex-shrink: 0;
  193. border-radius: 16rpx;
  194. background: #fff;
  195. box-shadow: 0 0 56rpx 0 #0000001a;
  196. }
  197. .btn {
  198. margin-left: auto;
  199. display: flex;
  200. align-items: center;
  201. justify-content: center;
  202. width: 120rpx;
  203. height: 48rpx;
  204. flex-shrink: 0;
  205. border-radius: 24rpx;
  206. background: #fe6505;
  207. box-shadow: 0 8rpx 16rpx 0 #fe650533;
  208. color: #ffffff;
  209. text-align: center;
  210. font-family: "Source Han Sans CN";
  211. font-size: 24rpx;
  212. font-weight: 400;
  213. }
  214. }
  215. .menu_item {
  216. border-bottom: 2rpx solid #f2f2f7;
  217. }
  218. .badge {
  219. display: inline-flex;
  220. height: 40rpx;
  221. padding: 4rpx 12rpx;
  222. justify-content: center;
  223. align-items: center;
  224. border-radius: 64rpx;
  225. background: #e02e24;
  226. color: #ffffff;
  227. text-align: center;
  228. font-family: "Source Han Sans CN";
  229. font-size: 20rpx;
  230. font-weight: 500;
  231. position: absolute;
  232. left: 188rpx;
  233. top: -20rpx;
  234. }
  235. </style>