level.uvue 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. <template>
  2. <view class="page-container">
  3. <!-- 头部 -->
  4. <view class="header">
  5. <view class="header-left" @click="goBack">
  6. <u-icon name="arrow-left" size="24" color="#333"/>
  7. </view>
  8. <view class="header-title">
  9. 我的等级
  10. </view>
  11. <view class="header-right"></view>
  12. </view>
  13. <!-- 内容区域 -->
  14. <view class="content">
  15. <!-- 等级信息 -->
  16. <view class="level-info">
  17. <view class="growth-info">
  18. <text class="growth-value">60</text>
  19. <text class="growth-label">当前成长值</text>
  20. </view>
  21. <view class="level-icon">
  22. <view class="level-circle">
  23. <text class="level-text">V</text>
  24. </view>
  25. <text class="level-title">当前等级 V1</text>
  26. </view>
  27. <view class="daily-info">
  28. <text class="daily-value">-12</text>
  29. <text class="daily-label">每日成长值</text>
  30. </view>
  31. </view>
  32. <!-- 进度条 -->
  33. <view class="progress-section">
  34. <view class="progress-labels">
  35. <text>V1</text>
  36. <text>还差15成长值可升至V2</text>
  37. <text>V2</text>
  38. </view>
  39. <view class="progress-bar">
  40. <view class="progress-fill" :style="{ width: '60%' }"></view>
  41. </view>
  42. <view class="progress-values">
  43. <text>0</text>
  44. <text>65</text>
  45. </view>
  46. </view>
  47. <!-- 成长等级介绍 -->
  48. <view class="section">
  49. <view class="section-header">
  50. <text class="section-title">成长等级介绍</text>
  51. </view>
  52. <text class="section-desc">
  53. 成长等级由有效成长值决定的,共分为30个等级,成长值越高,等级越高,享受的分成比例越多。
  54. </text>
  55. </view>
  56. <!-- 等级表格 -->
  57. <view class="level-table">
  58. <view class="table-header">
  59. <text>等级</text>
  60. <text>对应成长值</text>
  61. <text>对应收益比例</text>
  62. <u-icon name="info-o" size="20" color="#999"/>
  63. </view>
  64. <view class="table-row">
  65. <text>V1</text>
  66. <text>50</text>
  67. <text>1%</text>
  68. </view>
  69. <view class="table-row">
  70. <text>V2</text>
  71. <text>65</text>
  72. <text>2%</text>
  73. </view>
  74. <view class="table-row">
  75. <text>V3</text>
  76. <text>85</text>
  77. <text>3%</text>
  78. </view>
  79. <view class="table-row">
  80. <text>V4</text>
  81. <text>111</text>
  82. <text>4%</text>
  83. </view>
  84. <view class="table-row">
  85. <text>V5</text>
  86. <text>144</text>
  87. <text>5%</text>
  88. </view>
  89. </view>
  90. <!-- 表格底部说明 -->
  91. <text class="table-note">注:其余等级需解锁后查看</text>
  92. <!-- 什么是成长值 -->
  93. <view class="section">
  94. <view class="section-header">
  95. <text class="section-title">什么是成长值?</text>
  96. <u-icon name="info-o" size="20" color="#999"/>
  97. </view>
  98. <text class="section-desc">
  99. 成长值是商户在小丁到家平台赚取实际金额(包含项目分成、佣金、车费、红包、加钟分成、用户评价、复购、转单、用户投诉)对相应比例算出的数值。成长值不能兑换,仅可用于成长等级提升。
  100. </text>
  101. </view>
  102. <!-- 如何获取成长值 -->
  103. <view class="section">
  104. <view class="section-header">
  105. <text class="section-title">如何获取成长值?</text>
  106. </view>
  107. <view class="growth-rules">
  108. <view class="rule-item">
  109. <text class="rule-number">1.</text>
  110. <text class="rule-text">使用小丁到家平台进行接单并完成,所获得的成长值均可计入有效成长值。</text>
  111. </view>
  112. <view class="rule-item">
  113. <text class="rule-number">2.</text>
  114. <text class="rule-text">若用户发生退款、取消订单、差评、投诉等行为,或识别到账户安全风险及其它违法行为,则扣除相应成长值,不计入有效成长值。</text>
  115. </view>
  116. </view>
  117. </view>
  118. </view>
  119. </view>
  120. </template>
  121. <script setup lang="ts">
  122. const goBack = () => {
  123. uni.navigateBack();
  124. };
  125. </script>
  126. <style scoped>
  127. .page-container {
  128. background-color: #f5f5f5;
  129. min-height: 100vh;
  130. }
  131. .header {
  132. display: flex;
  133. align-items: center;
  134. justify-content: space-between;
  135. padding: 20rpx;
  136. background-color: #ffffff;
  137. border-bottom: 1rpx solid #f0f0f0;
  138. }
  139. .header-left, .header-right {
  140. width: 60rpx;
  141. }
  142. .header-title {
  143. font-size: 32rpx;
  144. font-weight: bold;
  145. color: #333;
  146. }
  147. .content {
  148. padding: 30rpx;
  149. }
  150. .level-info {
  151. display: flex;
  152. align-items: center;
  153. justify-content: space-between;
  154. background-color: #ffffff;
  155. border-radius: 16rpx;
  156. padding: 30rpx;
  157. margin-bottom: 30rpx;
  158. }
  159. .growth-info, .daily-info {
  160. display: flex;
  161. flex-direction: column;
  162. align-items: center;
  163. }
  164. .growth-value, .daily-value {
  165. font-size: 40rpx;
  166. font-weight: bold;
  167. color: #333;
  168. }
  169. .growth-label, .daily-label {
  170. font-size: 24rpx;
  171. color: #666;
  172. margin-top: 8rpx;
  173. }
  174. .level-icon {
  175. display: flex;
  176. flex-direction: column;
  177. align-items: center;
  178. }
  179. .level-circle {
  180. width: 100rpx;
  181. height: 100rpx;
  182. border-radius: 50rpx;
  183. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  184. display: flex;
  185. align-items: center;
  186. justify-content: center;
  187. margin-bottom: 10rpx;
  188. }
  189. .level-text {
  190. font-size: 48rpx;
  191. font-weight: bold;
  192. color: #ffffff;
  193. }
  194. .level-title {
  195. font-size: 24rpx;
  196. color: #333;
  197. font-weight: bold;
  198. }
  199. .progress-section {
  200. background-color: #ffffff;
  201. border-radius: 16rpx;
  202. padding: 20rpx;
  203. margin-bottom: 30rpx;
  204. }
  205. .progress-labels {
  206. display: flex;
  207. justify-content: space-between;
  208. font-size: 24rpx;
  209. color: #666;
  210. margin-bottom: 10rpx;
  211. }
  212. .progress-bar {
  213. width: 100%;
  214. height: 12rpx;
  215. background-color: #f0f0f0;
  216. border-radius: 6rpx;
  217. overflow: hidden;
  218. margin-bottom: 5rpx;
  219. }
  220. .progress-fill {
  221. height: 100%;
  222. background: linear-gradient(to right, #667eea, #764ba2);
  223. border-radius: 6rpx;
  224. }
  225. .progress-values {
  226. display: flex;
  227. justify-content: space-between;
  228. font-size: 22rpx;
  229. color: #999;
  230. }
  231. .section {
  232. background-color: #ffffff;
  233. border-radius: 16rpx;
  234. padding: 20rpx;
  235. margin-bottom: 20rpx;
  236. }
  237. .section-header {
  238. display: flex;
  239. align-items: center;
  240. justify-content: space-between;
  241. margin-bottom: 15rpx;
  242. }
  243. .section-title {
  244. font-size: 28rpx;
  245. color: #333;
  246. font-weight: bold;
  247. }
  248. .section-desc {
  249. font-size: 26rpx;
  250. color: #666;
  251. line-height: 1.5;
  252. }
  253. .level-table {
  254. background-color: #ffffff;
  255. border-radius: 16rpx;
  256. overflow: hidden;
  257. margin-bottom: 15rpx;
  258. }
  259. .table-header, .table-row {
  260. display: flex;
  261. align-items: center;
  262. padding: 15rpx 20rpx;
  263. border-bottom: 1rpx solid #f0f0f0;
  264. }
  265. .table-header {
  266. background-color: #f5f5f5;
  267. font-weight: bold;
  268. }
  269. .table-header text, .table-row text {
  270. flex: 1;
  271. text-align: center;
  272. font-size: 26rpx;
  273. color: #333;
  274. }
  275. .table-note {
  276. font-size: 24rpx;
  277. color: #999;
  278. text-align: center;
  279. margin-bottom: 30rpx;
  280. display: block;
  281. }
  282. .growth-rules {
  283. display: flex;
  284. flex-direction: column;
  285. gap: 15rpx;
  286. }
  287. .rule-item {
  288. display: flex;
  289. align-items: flex-start;
  290. }
  291. .rule-number {
  292. font-size: 26rpx;
  293. color: #ff6b35;
  294. font-weight: bold;
  295. margin-right: 10rpx;
  296. }
  297. .rule-text {
  298. flex: 1;
  299. font-size: 26rpx;
  300. color: #666;
  301. line-height: 1.5;
  302. }
  303. </style>