|
|
- <template>
- <view class="page__view">
- <view class="bg"></view>
-
- <view class="main">
-
- <view class="header">
- <view class="title">
- <!-- todo: check key -->
- <view class="title-text">吉光研途</view>
- <view class="title-line"></view>
- </view>
- <!-- todo: check key -->
- <view class="desc">为您提供更专业、优质、靠谱的学术服务</view>
- </view>
-
- <!-- 轮播图 -->
- <view class="section swiper">
- <uv-swiper :list="bannerList" keyName="image" indicator indicatorMode="dot" indicatorActiveColor="#4883F9" indicatorInactiveColor="#FFFFFF" height="424rpx"></uv-swiper>
- </view>
-
- <view class="list">
- <!-- todo: check list will change? -->
- <view class="list-item" @click="jumpToDetail('other_service')">
- <image class="list-item-bg" src="@/static/image/bg-other-serve.png" mode="widthFix"></image>
- <view class="list-item-fg">
- <view class="title">其他服务</view>
- <view class="desc">Other services</view>
- </view>
- </view>
- </view>
-
- </view>
-
- <tabber select="center" />
- </view>
- </template>
-
- <script>
- import tabber from '@/components/base/tabbar.vue'
-
- export default {
- components: {
- tabber,
- },
- data() {
- return {
- bannerList: [],
- }
- },
- onLoad() {
- // todo: check
- this.$fetch('querySummaryList')
-
- this.fetchBanner()
- },
- methods: {
- // 获取轮播图
- async fetchBanner() {
- try {
- this.bannerList = (await this.$fetch('queryBannerList', { type: '3' }))?.records // type:0-首页 1-案例 2-服务 3-其他
- } catch (err) {
-
- }
- },
- jumpToDetail(paramCode) {
- uni.navigateTo({
- url: `/pages_order/serve/index?paramCode=${paramCode}`
- })
- },
- },
- }
- </script>
-
- <style scoped lang="scss">
- .bg {
- width: 100%;
- height: 438rpx;
- background-image: linear-gradient(#4883F9, #4883F9, #4883F9, #FCFDFF);
- }
-
- .main {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- padding: 156rpx 0 182rpx 0;
- }
-
- .header {
-
- .title {
- margin-left: 25rpx;
- position: relative;
- padding: 51rpx 0 6rpx 42rpx;
-
- &-line {
- width: 151rpx;
- height: 11rpx;
- background: linear-gradient(76deg,#ffffff 2%, #4883f9 88%);
- border-radius: 6rpx;
- }
-
- &-text {
- position: absolute;
- top: 0;
- left: 0;
- font-size: 46rpx;
- font-weight: 700;
- color: #FFFFFF;
- }
-
- }
-
- .desc {
- font-size: 30rpx;
- font-weight: 700;
- color: #FFFFFF;
- margin: 14rpx 28rpx 32rpx 28rpx;
- }
- }
-
- .swiper {
- margin: 0 18rpx;
- border-radius: 25rpx;
- overflow: hidden;
-
- /deep/ .uv-swiper-indicator__wrapper__dot {
- width: 15rpx;
- height: 15rpx;
- }
-
- /deep/ .uv-swiper-indicator__wrapper__dot--active {
- width: 15rpx;
- }
- }
-
- .list {
- padding: 0 12rpx;
-
- &-item {
- position: relative;
-
- & + & {
- margin-top: 19rpx;
- }
-
- &-bg {
- width: 100%;
- height: auto;
- }
-
- &-fg {
- position: absolute;
- top: 70rpx;
- left: 43rpx;
-
- .title {
- font-size: 32rpx;
- font-weight: 700;
- color: #000000;
- }
-
- .desc {
- margin-top: 2rpx;
- font-size: 28rpx;
- color: #8A8784;
- }
- }
- }
- }
-
- </style>
|