|
|
- <template>
- <view class="page__view">
-
- <view class="bg"></view>
-
- <view class="main">
-
- <view class="swiper">
- <uv-swiper
- :list="bannerList" keyName="image"
- indicator
- indicatorMode="dot"
- indicatorActiveColor="#62BBFF"
- indicatorInactiveColor="#FFFFFF"
- height="340rpx"
- ></uv-swiper>
- </view>
-
- <view class="flex flex-column card">
- <view class="title">{{ configList.page_index_title }}</view>
- <image class="icon" src="@/static/image/icon-index.png" mode="widthFix"></image>
- <button class="btn" @click="onStartTest">开始测评</button>
- </view>
-
- <unfinishTestPopup ref="unfinishTestPopup"></unfinishTestPopup>
-
- <tabber select="home" />
-
- </view>
-
- </view>
- </template>
-
- <script>
- import tabber from '@/components/base/tabbar.vue'
- import unfinishTestPopup from '@/components/home/unfinishTestPopup.vue'
-
- export default {
- components: {
- tabber,
- unfinishTestPopup,
- },
- data() {
- return {
- bannerList: [],
- }
- },
- onLoad() {
- if(uni.getStorageSync('token')){
- this.$store.commit('getUserInfo')
- }
- this.fetchBanner()
- },
- onShow() {
- if(uni.getStorageSync('token')){
- this.fetchUnfinish()
- }
- },
- methods: {
- async fetchBanner() {
- try {
-
- this.bannerList = (await this.$fetch('queryBannerList', { type: '0' }))?.records // type:0-首页
-
- } catch (err) {
-
- }
- },
- async fetchUnfinish() {
- // todo: delete
- // let data = { id: '001', unfinishCount: 15, current: 18, }
- // this.$refs.unfinishTestPopup.open(data)
-
- try {
- const { records, total } = await this.$fetch('queryExamLogList', { pageNo: 1, pageSize: 1, isFinished: '0' })
-
- total && this.$refs.unfinishTestPopup.open(records[0])
-
- } catch (err) {
-
- }
- },
- onStartTest() {
- uni.navigateTo({
- url: `/pages_order/test/start`
- })
- },
- },
- }
- </script>
-
- <style scoped lang="scss">
-
- .bg {
- width: 100%;
- height: 376rpx;
- background: linear-gradient(164deg, #014FA2 30%, #4C8FD6);
- }
-
- .main {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- padding: 174rpx 30rpx 0 30rpx;
- box-sizing: border-box;
- }
-
- .swiper {
- border-radius: 10rpx;
- overflow: hidden;
-
- /deep/ .uv-swiper-indicator__wrapper__dot,
- /deep/ .uv-swiper-indicator__wrapper__dot--active {
- width: 5px;
- }
- }
-
- .card {
- margin-top: 32rpx;
- justify-content: space-between;
- min-height: 803rpx;
- padding: 135rpx 0 55rpx 0;
- box-sizing: border-box;
- background: linear-gradient(rgba($color: #FCFDFE, $alpha: 0.93), rgba($color: #FCFDFE, $alpha: 0.93) 180rpx, rgba($color: #3381D4, $alpha: 0.43));
- border-radius: 25rpx;
- border: 3rpx solid #FFFFFF;
- box-shadow: 0rpx 3rpx 6rpx 0rpx rgba(0,0,0,0.16);
-
- .title {
- font-size: 32rpx;
- font-weight: 600;
- color: #000000;
- }
-
- .icon {
- margin: 99rpx 0 86rpx;
- width: 285rpx;
- height: auto;
- }
-
- .btn {
- padding: 20rpx 212rpx;
- font-size: 30rpx;
- white-space: nowrap;
- color: #FFFFFF;
- line-height: 1.4;
- background: #014FA2;
- border-radius: 42rpx;
- }
- }
-
- </style>
|