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.
 
 
 

149 lines
3.4 KiB

<template>
<view class="content">
<up-navbar leftText=" " :leftIconColor="'#fff'" :safeAreaInsetTop="true" :autoBack="true" :fixed="false"
:bgColor="'transparent'" title="考试" :titleStyle="{color: '#fff'}"></up-navbar>
<view class="padding">
<view class="tabs flex-b">
<view class="btn" @click="changeNav(item, index)" :class="{active: currentNav==index}"
v-for="(item,index) in tabData" :key="index">{{ item.name }}</view>
</view>
<view class="card">
<view class="title">
<view class="titlebg">{{ tabData[currentNav]?.name }}</view>
</view>
<!-- <tab1 v-if="currentNav=='考试简介'"/>
<tab2 v-if="currentNav=='考试流程'"/>
<tab3 v-if="currentNav=='考试准备'"/>
<tab4 v-if="currentNav=='注意事项'"/> -->
<!-- <rich-text :nodes="nodes"></rich-text> -->
<u-parse :content="nodes" :tagStyle="style"></u-parse>
</view>
</view>
</view>
</template>
<script setup>
import carStore from '@/store/modules/car.js'
let usecarStore = carStore()
import { examProcessInfo } from '@/config/api.js'
import {
ref
} from 'vue'
import {
onLoad,
} from '@dcloudio/uni-app'
import tab1 from './comp/tab1.vue'
import tab2 from './comp/tab2.vue'
import tab3 from './comp/tab3.vue'
import tab4 from './comp/tab4.vue'
const value = ref(false)
const currentNav = ref(0)
const nodes = ref('')
function changeNav(val, index) {
currentNav.value = index
console.log(index)
console.log(dataList.value[index])
nodes.value = dataList.value[index]?dataList.value[index].content: '<p>暂无内容</p>'
}
let style = {
img: 'max-width:100%;height:auto',
p: 'font-size:32rpx',
}
onLoad((option) => {
if (option.tab) currentNav.value = option.tab
examProcessInfoFn()
})
const tabData = ref([{
name: '考试简介',
id: 0
},
{
name: '考试准备',
id: 1
},
{
name: '考试流程',
id: 2
},
{
name: '注意事项',
id: 3
},
])
const dataList = ref([])
async function examProcessInfoFn() {
const {data:res} = await examProcessInfo( usecarStore.carInfo.stepType)
if(!res.length) return
dataList.value = res
nodes.value = res[currentNav.value]?res[currentNav.value].content: '<p>暂无内容</p>'
}
</script>
<style lang="scss" scoped>
.tabs {
display: flex;
padding: 20rpx 0 10rpx 0;
.btn {
color: #fff;
position: relative;
// padding: 0 20rpx;
&.active {
&::before {
content: '';
position: absolute;
left: 50%;
bottom: -20rpx;
width: 40rpx;
height: 6rpx;
background: #F6F7F8;
border-radius: 3rpx;
transform: translateX(-50%);
}
}
}
}
.content {
width: 100%;
// background-color: #F6F7FA;
min-height: 100vh;
// padding: 0rpx 30rpx 30rpx 30rpx;
padding-bottom: 30rpx;
background: url('../../../static/images/bigImg/exambg.png') #F6F7FA no-repeat;
background-size: 100% 800rpx;
.card {
background: #FFFFFF;
border-radius: 20rpx;
padding: 0 30rpx 30rpx 30rpx;
margin-top: 50rpx;
.title {
height: 116rpx;
display: flex;
justify-content: center;
.titlebg {
width: 260rpx;
height: 70rpx;
font-weight: bold;
font-size: 36rpx;
background: url('../../../static/images/greetab.png') no-repeat;
background-size: 100% 100%;
text-align: center;
line-height: 70rpx;
color: #fff;
}
}
}
}
</style>