index.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <route lang="json">
  2. { "style": { "navigationStyle": "custom" } }
  3. </route>
  4. <script setup lang="ts">
  5. import { levels } from '../../../core/libs/levels'
  6. import { useRouter } from '../../../core/utils/router'
  7. import { notify } from '@designer-hub/assets/src/assets/svgs'
  8. const router = useRouter()
  9. const current = ref(0)
  10. const swiperList = ref(levels.map(({ bgImg }) => bgImg))
  11. const items = ref([
  12. {
  13. icon: 'https://image.zhuchaohui.com/zhucaohui/95aa37b07a32a571fda86e8f8b89a2e54d1dd36d1250190ed8cfc68d638c3d43.png',
  14. title: '会员专属活动',
  15. subTitle: '参与平台内的会员活动',
  16. },
  17. {
  18. icon: 'https://image.zhuchaohui.com/zhucaohui/95aa37b07a32a571fda86e8f8b89a2e54d1dd36d1250190ed8cfc68d638c3d43.png',
  19. title: '国内外游学项目',
  20. subTitle: '参与平台国内外设计游学项目',
  21. },
  22. {
  23. icon: 'https://image.zhuchaohui.com/zhucaohui/95aa37b07a32a571fda86e8f8b89a2e54d1dd36d1250190ed8cfc68d638c3d43.png',
  24. title: '专属经纪人',
  25. subTitle: '认证成功即可拥有专属经纪人',
  26. },
  27. {
  28. icon: 'https://image.zhuchaohui.com/zhucaohui/95aa37b07a32a571fda86e8f8b89a2e54d1dd36d1250190ed8cfc68d638c3d43.png',
  29. title: '销售积分券',
  30. subTitle: '得1张200积分的销售积分券,使用时不限制...',
  31. },
  32. ])
  33. </script>
  34. <template>
  35. <div class="flex-grow flex flex-col gap-4 bg-gradient-to-b from-[#312c38] to-[#171322] px-3.5">
  36. <wd-navbar
  37. left-arrow
  38. safe-area-inset-top
  39. custom-class="mx--3.5 bg-transparent!"
  40. title="会员等级"
  41. :bordered="false"
  42. @left-click="router.back()"
  43. ></wd-navbar>
  44. <div class="flex gap-2 bg-gradient-to-r from-[#292331] to-[#35303b] rounded-md px-5 py-1">
  45. <wd-img width="22" height="22" :src="notify"></wd-img>
  46. <div class="text-[#f1d2c5] text-sm font-normal font-['PingFang SC'] leading-normal">
  47. 会员成长等级保级规则通知
  48. </div>
  49. </div>
  50. <view class="card-swiper mx--3.5">
  51. <wd-swiper
  52. :autoplay="false"
  53. v-model:current="current"
  54. custom-indicator-class="custom-indicator-class"
  55. custom-image-class="custom-image"
  56. custom-next-image-class="custom-image-prev"
  57. custom-prev-image-class="custom-image-prev"
  58. :indicator="{ type: 'dots' }"
  59. :list="swiperList"
  60. previousMargin="24px"
  61. nextMargin="24px"
  62. ></wd-swiper>
  63. </view>
  64. <template v-for="({ icon, title, subTitle }, index) in items" :key="index">
  65. <div
  66. class="bg-[#201d28] rounded-2xl shadow border border-[#504951] border-solid flex gap-4 px-2.5 py-5.5"
  67. >
  68. <wd-img width="50" height="50" :src="icon"></wd-img>
  69. <div class="flex flex-col justify-between flex-1">
  70. <div class="text-[#f1d2c5] text-base font-normal font-['PingFang SC']">
  71. {{ title }}
  72. </div>
  73. <div class="text-white/40 text-xs font-normal font-['PingFang SC']">
  74. {{ subTitle }}
  75. </div>
  76. </div>
  77. <div></div>
  78. </div>
  79. </template>
  80. </div>
  81. </template>
  82. <style lang="scss">
  83. .card-swiper {
  84. --wot-swiper-radius: 0;
  85. --wot-swiper-item-padding: 0 24rpx;
  86. --wot-swiper-nav-dot-color: #e7e7e7;
  87. --wot-swiper-nav-dot-active-color: #4d80f0;
  88. padding-bottom: 24rpx;
  89. :deep(.custom-indicator-class) {
  90. bottom: -16px;
  91. }
  92. :deep(.custom-image) {
  93. border-radius: 12rpx;
  94. }
  95. :deep(.custom-image-prev) {
  96. height: 168px !important;
  97. }
  98. }
  99. </style>