吉光研途前端代码仓库
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.

215 lines
4.4 KiB

3 months ago
3 months ago
1 month ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
1 month ago
3 months ago
1 month ago
3 months ago
3 months ago
1 month ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
2 months ago
3 months ago
3 months ago
3 months ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
3 months ago
1 month ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
1 month ago
3 months ago
1 month ago
1 month ago
1 month ago
3 months ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
1 month ago
3 months ago
3 months ago
  1. <template>
  2. <view class="page__view">
  3. <view class="bg">
  4. <image class="img" :src="configList.page_index_bg" mode="widthFix"></image>
  5. <image class="bg-logo" src="@/static/image/bg-icon.png" mode="widthFix"></image>
  6. </view>
  7. <view class="main">
  8. <view class="flex section header" :style="style">
  9. <view>
  10. <view class="title">{{ configList.page_center_title }}</view>
  11. <view class="desc">{{ configList.page_center_desc }}</view>
  12. </view>
  13. </view>
  14. <view class="list">
  15. <view class="list-item" @click="jumpToDetail('other_service')">
  16. <!-- <image class="list-item-bg" :src="configList.config_image_service" mode="scaleToFill"></image> -->
  17. <image class="list-item-bg" src="@/static/image/bg-other-serve.png" mode="widthFix"></image>
  18. <view class="flex list-item-fg">
  19. <image class="icon" src="@/static/image/icon-other-serve.png" mode="widthFix"></image>
  20. <view class="info">
  21. <view class="title">其他服务</view>
  22. <view class="desc">Other services</view>
  23. </view>
  24. </view>
  25. </view>
  26. </view>
  27. <tabber select="center" />
  28. </view>
  29. </view>
  30. </template>
  31. <script>
  32. import utils from '@/utils/utils'
  33. import tabber from '@/components/base/tabbar.vue'
  34. export default {
  35. components: {
  36. tabber,
  37. },
  38. data() {
  39. return {
  40. style: '',
  41. }
  42. },
  43. onLoad() {
  44. this.style = `padding-top: calc(${utils.getNavHeight()}px - 16rpx)`
  45. },
  46. methods: {
  47. jumpToDetail(paramCode) {
  48. uni.navigateTo({
  49. url: `/pages_order/center/serve?paramCode=${paramCode}`
  50. })
  51. },
  52. },
  53. }
  54. </script>
  55. <style scoped lang="scss">
  56. .page__view {
  57. /deep/ .tabbar-box {
  58. height: 0;
  59. padding: 0;
  60. }
  61. }
  62. .header {
  63. padding-top: calc(var(--status-bar-height) + 120rpx);
  64. justify-content: space-between;
  65. align-items: flex-start;
  66. min-height: calc(342rpx / 621 * 542);
  67. box-sizing: border-box;
  68. .title {
  69. font-size: 44rpx;
  70. font-weight: 700;
  71. color: #6851A7;
  72. }
  73. .desc {
  74. font-size: 22rpx;
  75. font-weight: 600;
  76. color: #808080;
  77. }
  78. .icon {
  79. margin-top: 16rpx;
  80. width: 62rpx;
  81. height: 62rpx;
  82. border: 2rpx solid #A3A2C5;
  83. border-radius: 50%;
  84. overflow: hidden;
  85. box-sizing: border-box;
  86. .img {
  87. width: 50rpx;
  88. height: auto;
  89. }
  90. }
  91. }
  92. .section {
  93. margin: 0 38rpx;
  94. }
  95. .bg {
  96. width: 100vw;
  97. height: auto;
  98. .img {
  99. width: 100%;
  100. height: auto;
  101. }
  102. &-logo {
  103. position: absolute;
  104. top: 0;
  105. right: 0;
  106. width: 342rpx;
  107. height: auto;
  108. opacity: 0.3;
  109. }
  110. }
  111. .main {
  112. position: absolute;
  113. top: 0;
  114. left: 0;
  115. width: 100vw;
  116. padding-bottom: 182rpx;
  117. box-sizing: border-box;
  118. }
  119. .swiper {
  120. border-radius: 10rpx;
  121. overflow: hidden;
  122. /deep/ .uv-swiper-indicator__wrapper__dot {
  123. width: 25rpx;
  124. height: 5rpx;
  125. border-radius: 4rpx;
  126. margin: 0 4rpx;
  127. }
  128. /deep/ .uv-swiper-indicator__wrapper__dot--active {
  129. width: 25rpx;
  130. }
  131. }
  132. .list {
  133. // margin-top: 60rpx;
  134. padding: 0 38rpx;
  135. &-item {
  136. position: relative;
  137. width: 100%;
  138. height: 170rpx;
  139. font-size: 0;
  140. border-radius: 10rpx;
  141. overflow: hidden;
  142. background: linear-gradient(to right, rgba($color: #E2DDFF, $alpha: 0.26), rgba($color: #C8C3FD, $alpha: 0.26));
  143. box-shadow: 4rpx 4rpx 6rpx 0rpx rgba(0,0,0,0.15);
  144. & + & {
  145. margin-top: 19rpx;
  146. }
  147. &-bg {
  148. // $w: calc(100vw - 18rpx*2);
  149. // width: $w;
  150. // height: calc(#{$w} * 179 / 714);
  151. width: 100%;
  152. height: 100%;
  153. }
  154. &-fg {
  155. justify-content: flex-start;
  156. align-items: flex-start;
  157. column-gap: 84rpx;
  158. position: absolute;
  159. top: 0;
  160. left: 0;
  161. width: 100%;
  162. height: 100%;
  163. padding: 10rpx 32rpx;
  164. box-sizing: border-box;
  165. .icon {
  166. width: 146rpx;
  167. height: auto;
  168. }
  169. .info {
  170. margin-top: 40rpx;
  171. }
  172. .title {
  173. font-size: 34rpx;
  174. font-weight: 700;
  175. color: #9082D8;
  176. }
  177. .desc {
  178. margin-top: 8rpx;
  179. font-size: 28rpx;
  180. font-weight: 700;
  181. color: #9C97B2;
  182. }
  183. }
  184. }
  185. }
  186. </style>