makeMoney.vue 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. <template>
  2. <view class="make-money-container">
  3. <!-- 顶部渐变背景 -->
  4. <view class="top-bg"></view>
  5. <!-- Banner -->
  6. <view class="banner-wrap">
  7. <image class="banner-image" src="@/static/image/points/icon_msg.png" mode="aspectFill"></image>
  8. </view>
  9. <!-- 菜单导航 -->
  10. <view class="nav-menu">
  11. <!-- <view class="nav-item">
  12. <image class="nav-icon" src="@/static/image/points/icon_pt_task.png" mode="aspectFit"></image>
  13. <text class="nav-text">平台任务</text>
  14. </view>
  15. <view class="nav-item">
  16. <image class="nav-icon" src="@/static/image/points/icon_cash_task.png" mode="aspectFit"></image>
  17. <text class="nav-text">现金任务</text>
  18. </view>
  19. <view class="nav-item">
  20. <image class="nav-icon" src="@/static/image/points/icon_invite_task.png" mode="aspectFit"></image>
  21. <text class="nav-text">邀请赚钱</text>
  22. </view> -->
  23. <view class="nav-item" v-for="(item,index) in tasktit" :key="index" @click="nav(item.path)">
  24. <image class="nav-icon" :src="item.icon" mode="aspectFit"></image>
  25. <text class="nav-text">{{item.title}}</text>
  26. </view>
  27. </view>
  28. <!-- 任务列表区域 -->
  29. <view class="task-section">
  30. <view class="section-header">
  31. <text class="section-title">现金任务</text>
  32. <view class="more-wrap" @click="nav('/pages/points/cashTask')">
  33. <text class="more-text">查看更多</text>
  34. <u-icon name="arrow-right" color="#999" size="14"></u-icon>
  35. </view>
  36. </view>
  37. <view class="task-list">
  38. <!-- 任务项 1 -->
  39. <view class="task-item" @click="nav('/pages/points/taskDetails')">
  40. <image class="task-img" src="@/static/image/points/icon_my_task.png" mode="aspectFit"></image>
  41. <view class="task-info">
  42. <view class="task-title">新人必做任务易上手</view>
  43. <view class="task-tags">
  44. <text class="tag">无需经验</text>
  45. <text class="tag">时间自由</text>
  46. </view>
  47. <view class="task-bottom">
  48. <text class="task-stat">128人已赚<text class="divider">|</text>剩余10单</text>
  49. <view class="task-reward-wrap">
  50. <text class="task-reward">+2.35</text>
  51. <text class="task-reward-unit">元</text>
  52. </view>
  53. </view>
  54. </view>
  55. </view>
  56. <!-- 任务项 2 -->
  57. <view class="task-item">
  58. <image class="task-img" src="@/static/image/points/icon_msg.png" mode="aspectFit"></image>
  59. <view class="task-info">
  60. <view class="task-title">下载指定软件</view>
  61. <view class="task-tags">
  62. <text class="tag">无需经验</text>
  63. <text class="tag">时间自由</text>
  64. </view>
  65. <view class="task-bottom">
  66. <text class="task-stat">128人已赚<text class="divider">|</text>剩余10单</text>
  67. <view class="task-reward-wrap">
  68. <text class="task-reward">+2.35</text>
  69. <text class="task-reward-unit">元</text>
  70. </view>
  71. </view>
  72. </view>
  73. </view>
  74. <!-- 任务项 3 -->
  75. <view class="task-item">
  76. <image class="task-img" src="@/static/image/points/icon_msg.png" mode="aspectFit"></image>
  77. <view class="task-info">
  78. <view class="task-title">加微信群</view>
  79. <view class="task-tags">
  80. <text class="tag">无需经验</text>
  81. <text class="tag">时间自由</text>
  82. </view>
  83. <view class="task-bottom">
  84. <text class="task-stat">128人已赚<text class="divider">|</text>剩余10单</text>
  85. <view class="task-reward-wrap">
  86. <text class="task-reward">+2.35</text>
  87. <text class="task-reward-unit">元</text>
  88. </view>
  89. </view>
  90. </view>
  91. </view>
  92. <!-- 任务项 4 -->
  93. <view class="task-item">
  94. <image class="task-img" src="@/static/image/points/icon_msg.png" mode="aspectFit"></image>
  95. <view class="task-info">
  96. <view class="task-title">下载指定软件</view>
  97. <view class="task-tags">
  98. <text class="tag">无需经验</text>
  99. <text class="tag">时间自由</text>
  100. </view>
  101. <view class="task-bottom">
  102. <text class="task-stat">128人已赚<text class="divider">|</text>剩余10单</text>
  103. <view class="task-reward-wrap">
  104. <text class="task-reward">+2.35</text>
  105. <text class="task-reward-unit">元</text>
  106. </view>
  107. </view>
  108. </view>
  109. </view>
  110. </view>
  111. </view>
  112. </view>
  113. </template>
  114. <script>
  115. export default {
  116. name: "makeMoney",
  117. data() {
  118. return {
  119. tasktit:[
  120. {
  121. title:'平台任务',
  122. icon:'/static/image/points/icon_pt_task.png',
  123. path:'/pages/points/platformTask'
  124. },
  125. {
  126. title:'现金任务',
  127. icon:'/static/image/points/icon_cash_task.png',
  128. path:'/pages/points/cashTask'
  129. },
  130. {
  131. title:'邀请赚钱',
  132. icon:'/static/image/points/icon_invite_task.png',
  133. path:'/pages/points/InviteEarnMoney'
  134. },
  135. {
  136. title:'我的任务',
  137. icon:'/static/image/points/icon_my_task.png',
  138. path:'/pages/points/myTask'
  139. }
  140. ]
  141. };
  142. },
  143. methods: {
  144. nav(url){
  145. uni.navigateTo({
  146. url:url
  147. })
  148. }
  149. }
  150. };
  151. </script>
  152. <style lang="scss" scoped>
  153. .make-money-container {
  154. min-height: 100vh;
  155. position: relative;
  156. padding-bottom: 40rpx;
  157. }
  158. .top-bg {
  159. position: absolute;
  160. top: 0;
  161. left: 0;
  162. width: 100%;
  163. height: 400rpx;
  164. z-index: 0;
  165. }
  166. .banner-wrap {
  167. position: relative;
  168. z-index: 1;
  169. padding: 20rpx 30rpx 0;
  170. }
  171. .banner-image {
  172. width: 100%;
  173. height: 240rpx;
  174. background-color: #fff;
  175. border-radius: 20rpx;
  176. }
  177. .nav-menu {
  178. position: relative;
  179. z-index: 1;
  180. display: flex;
  181. justify-content: space-around;
  182. padding: 40rpx 20rpx;
  183. }
  184. .nav-item {
  185. display: flex;
  186. flex-direction: column;
  187. align-items: center;
  188. }
  189. .nav-icon {
  190. width: 100rpx;
  191. height: 100rpx;
  192. margin-bottom: 12rpx;
  193. }
  194. .nav-text {
  195. font-size: 26rpx;
  196. color: #333;
  197. margin-top: 10rpx;
  198. }
  199. .task-section {
  200. position: relative;
  201. z-index: 1;
  202. background-color: #fff;
  203. border-radius: 24rpx;
  204. margin: 0 30rpx;
  205. padding: 30rpx;
  206. }
  207. .section-header {
  208. display: flex;
  209. justify-content: space-between;
  210. align-items: center;
  211. margin-bottom: 30rpx;
  212. }
  213. .section-title {
  214. font-size: 34rpx;
  215. font-weight: bold;
  216. color: #333;
  217. }
  218. .more-wrap {
  219. display: flex;
  220. align-items: center;
  221. }
  222. .more-text {
  223. font-size: 24rpx;
  224. color: #999;
  225. margin-right: 4rpx;
  226. }
  227. .task-list {
  228. display: flex;
  229. flex-direction: column;
  230. }
  231. .task-item {
  232. display: flex;
  233. padding: 30rpx 0;
  234. border-bottom: 1px solid #F5F6F8;
  235. }
  236. .task-item:last-child {
  237. border-bottom: none;
  238. padding-bottom: 0;
  239. }
  240. .task-img {
  241. width: 140rpx;
  242. height: 140rpx;
  243. border-radius: 20rpx;
  244. flex-shrink: 0;
  245. }
  246. .task-info {
  247. flex: 1;
  248. margin-left: 20rpx;
  249. display: flex;
  250. flex-direction: column;
  251. justify-content: space-between;
  252. }
  253. .task-title {
  254. font-size: 30rpx;
  255. color: #333;
  256. font-weight: bold;
  257. line-height: 1.4;
  258. }
  259. .task-tags {
  260. display: flex;
  261. flex-wrap: wrap;
  262. margin-top: 12rpx;
  263. }
  264. .tag {
  265. font-size: 20rpx;
  266. color: #647294;
  267. background-color: #F5F7FA;
  268. padding: 4rpx 12rpx;
  269. border-radius: 6rpx;
  270. margin-right: 12rpx;
  271. margin-bottom: 8rpx;
  272. }
  273. .task-bottom {
  274. display: flex;
  275. justify-content: space-between;
  276. align-items: center;
  277. margin-top: auto;
  278. }
  279. .task-stat {
  280. font-size: 22rpx;
  281. color: #999;
  282. }
  283. .divider {
  284. margin: 0 16rpx;
  285. color: #E5E6EB;
  286. }
  287. .task-reward-wrap {
  288. display: flex;
  289. align-items: baseline;
  290. }
  291. .task-reward {
  292. font-size: 32rpx;
  293. color: #FF5A1F;
  294. font-weight: bold;
  295. }
  296. .task-reward-unit {
  297. font-size: 24rpx;
  298. color: #FF5A1F;
  299. font-weight: normal;
  300. }
  301. </style>