提交
This commit is contained in:
@@ -13,30 +13,66 @@
|
||||
<text class="tag_box">{{getQuestType(quesItem.type)}}</text>
|
||||
<text class="fs18">{{quesItem.question}}</text>
|
||||
</view>
|
||||
<view class="flex m14lr ai-c mt20" v-for="(item,index) in quesItem.optionList"
|
||||
:key="item.op" @tap="answerQues(item.opValue,index)">
|
||||
<template v-if="item.opDesc">
|
||||
<template
|
||||
v-if="quesItem.clickAnswer&&quesItem.trueAnswer.includes(item.opValue)">
|
||||
<u-icon class="mr15" name="checkmark-circle-fill" color="#05C341" size="32"></u-icon>
|
||||
</template>
|
||||
<template
|
||||
v-else-if="quesItem.clickAnswer&&quesItem.clickAnswer.includes(item.opValue)&&!quesItem.trueAnswer.includes(item.opValue)">
|
||||
<u-icon class="mr15" name="close-circle-fill" color="red" size="32"></u-icon>
|
||||
</template>
|
||||
<template v-else-if="!item.chooseOption">
|
||||
<view class="option_item">{{item.op}}</view>
|
||||
</template>
|
||||
<text class="fs18">{{item.opDesc}}</text>
|
||||
</template>
|
||||
</view>
|
||||
<view class="m14lr mt30"
|
||||
v-if="quesItem.clickAnswer&&!quesItem.trueAnswer.includes(quesItem.clickAnswer) || tCurrent===1">
|
||||
<view class="answer_box">
|
||||
<text class="fs18 fw600 cor-000">答案:{{getRightOp(quesItem.trueAnswer)}}</text>
|
||||
<view class="fs18 cor-000" style="text-indent:2em;"> {{quesItem.bestAnswer}}</view>
|
||||
<template v-if="quesItem.type!='3'">
|
||||
<view class="flex m14lr ai-c mt20" v-for="(item,index) in quesItem.optionList"
|
||||
:key="item.op" @tap="answerQues(item.opValue,index)">
|
||||
<template v-if="item.opDesc">
|
||||
<template
|
||||
v-if="quesItem.clickAnswer&&quesItem.trueAnswer.includes(item.opValue)">
|
||||
<u-icon class="mr15" name="checkmark-circle-fill" color="#05C341" size="32"></u-icon>
|
||||
</template>
|
||||
<template
|
||||
v-else-if="quesItem.clickAnswer&&quesItem.clickAnswer?.includes(item.opValue)&&!quesItem.trueAnswer.includes(item.opValue)">
|
||||
<u-icon class="mr15" name="close-circle-fill" color="red" size="32"></u-icon>
|
||||
</template>
|
||||
<template v-else-if="!item.chooseOption">
|
||||
<view class="option_item">{{item.op}}</view>
|
||||
</template>
|
||||
<text class="fs18">{{item.opDesc}}</text>
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
<view class="m14lr mt30"
|
||||
v-if="quesItem.clickAnswer&&!quesItem.trueAnswer.includes(quesItem.clickAnswer)">
|
||||
<view class="answer_box">
|
||||
<text class="fs18 fw600 cor-000">答案:{{getRightOp(quesItem.trueAnswer)}}</text>
|
||||
<view class="fs18 cor-000" style="text-indent:2em;"> {{quesItem.bestAnswer}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="flex m14lr ai-c mt20" v-for="(item,index) in quesItem.optionList"
|
||||
:key="item.op" @tap="answerQues(item.opValue,index)">
|
||||
<template v-if="item.opDesc">
|
||||
<template
|
||||
v-if="quesItem.isChoose&&quesItem.trueAnswer.includes(item.opValue)&&quesItem.clickAnswer&&quesItem.clickAnswer.includes(item.opValue)">
|
||||
<u-icon class="mr15" name="checkmark-circle-fill" color="#05C341" size="32"></u-icon>
|
||||
</template>
|
||||
<template
|
||||
v-else-if="quesItem.isChoose&&quesItem.clickAnswer&&quesItem.clickAnswer.includes(item.opValue)&&!quesItem.trueAnswer.includes(item.opValue)">
|
||||
<u-icon class="mr15" name="close-circle-fill" color="red" size="32"></u-icon>
|
||||
</template>
|
||||
<template v-else-if="!quesItem.isChoose||quesItem.clickAnswer&&!quesItem.clickAnswer.includes(item.opValue)&&quesItem.isChoose">
|
||||
<template v-if="quesItem.isChoose">
|
||||
<view class="option_item" :class="quesItem.trueAnswer.includes(item.opValue)&&quesItem.clickAnswer&&!quesItem.clickAnswer.includes(item.opValue)?'right_option':''">{{item.op}}</view>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="option_item" :class="quesItem.clickAnswer&&quesItem.clickAnswer.includes(item.opValue)&&!quesItem.isChoose?'checked_option':''">{{item.op}}</view>
|
||||
</template>
|
||||
</template>
|
||||
<text class="fs18">{{item.opDesc}}</text>
|
||||
</template>
|
||||
</view>
|
||||
<view class="p14">
|
||||
<button :class="quesItem.clickAnswer&&quesItem.clickAnswer.length>1?'dx_checked':'dx_btn'" @click="duoxuan(quesItem.clickAnswer)">确认</button>
|
||||
</view>
|
||||
<view class="m14lr mt30"
|
||||
v-if="isShowAnswer">
|
||||
<view class="answer_box">
|
||||
<text class="fs18 fw600 cor-000">答案:{{getRightOp(quesItem.trueAnswer)}}</text>
|
||||
<view class="fs18 cor-000" style="text-indent:2em;"> {{quesItem.bestAnswer}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</swiper-item>
|
||||
@@ -174,8 +210,8 @@
|
||||
<image style="width: 65rpx;height: 65rpx; position: absolute;right: 20px;top: -5px;" src="../../static/image/practice/vip_include.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 528rpx;width: 100%;background-image: url(../../static/image/practice/vip_bg.png);background-size: 100% 100%;margin-top: -65px;position: relative;">
|
||||
<text style="position: absolute;top: 138px;left:100px;rotate: 16deg;" class="fs25 cor-fff">VIP题库</text>
|
||||
<view style="height: 528rpx;width: 100%;background-image: url(../../static/image/practice/vip_bg.jpg);background-size: 100% 100%;margin-top: -65px;position: relative;">
|
||||
<text style="position: absolute;top: 151px;left:117px;rotate: 16deg;" class="fs25 cor-fff">VIP题库</text>
|
||||
</view>
|
||||
<view class="wp100 p14" style="position: absolute;left: 0;bottom:20px">
|
||||
<view class="sub_btn flex ai-c jc-sb">
|
||||
@@ -245,12 +281,92 @@ export default {
|
||||
time:0,
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
computed: {
|
||||
...mapState(useQuestionStore, ["currentIndex_subject1","currentIndex_subject2"]) //映射函数,取出tagslist
|
||||
...mapState(useQuestionStore, ["currentIndex_subject1","currentIndex_subject2"]) ,//映射函数,取出tagslist
|
||||
isShowAnswer(){
|
||||
// quesItem.isChoose&&quesItem.clickAnswer&&!quesItem.trueAnswer.includes(quesItem.clickAnswer)
|
||||
if(this.questionList[this.topicIndex].isChoose){
|
||||
const arr1=this.questionList[this.topicIndex].clickAnswer.split('')
|
||||
const arr2=this.questionList[this.topicIndex].trueAnswer.split('')
|
||||
if(!this.isArrEqual(arr1,arr2)){
|
||||
return true
|
||||
}else{
|
||||
return false
|
||||
}
|
||||
}else{
|
||||
return false
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
...mapActions(useQuestionStore,['getCurrentIndex']),
|
||||
duoxuan(val){
|
||||
if(val&&val.length>1){
|
||||
this.questionList[this.topicIndex].isChoose=true
|
||||
const falseList =storage.get(`wrongList_subject${this.subject}`) || []
|
||||
const trueList =storage.get(`rightList_subject${this.subject}`) || []
|
||||
if(this.tCurrent!==1){
|
||||
const arr1=this.questionList[this.topicIndex].clickAnswer.split('')
|
||||
const arr2=this.questionList[this.topicIndex].trueAnswer.split('')
|
||||
if(this.isArrEqual(arr1,arr2)){
|
||||
//判断选择的答案和实际的答案是否相同,如果相同,判断如果该题的ID在不在正确的数组中,不在则Push(存储的的同理)
|
||||
//如果这道题在错误的数组中则把这道题在错误数组中删掉
|
||||
if(!this.rightList.includes(this.questionList[this.topicIndex].questionId)){
|
||||
this.rightList.push(this.questionList[this.topicIndex].questionId)
|
||||
}
|
||||
if(!trueList.includes(this.questionList[this.topicIndex].questionId)){
|
||||
trueList.push(this.questionList[this.topicIndex].questionId)
|
||||
storage.set(`rightList_subject${this.subject}`,trueList)
|
||||
}
|
||||
if(this.wrongList.includes(this.questionList[this.topicIndex].questionId)){
|
||||
const wIndex=this.wrongList.indexOf(this.questionList[this.topicIndex].questionId)
|
||||
this.wrongList.splice(wIndex,1)
|
||||
}
|
||||
if(falseList.includes(this.questionList[this.topicIndex].questionId)){
|
||||
const wIndex=falseList.indexOf(this.questionList[this.topicIndex].questionId)
|
||||
falseList.splice(wIndex,1)
|
||||
storage.set(`wrongList_subject${this.subject}`,falseList)
|
||||
}
|
||||
//答对题目 如果不是最后一题,跳下一题
|
||||
if(this.topicIndex<this.questionList.length-1){
|
||||
this.topicIndex ++;
|
||||
this.qIndex=this.topicIndex
|
||||
setTimeout(()=>{
|
||||
console.log(12345);
|
||||
this.renderSwiper(this.topicIndex);
|
||||
},1000)
|
||||
}
|
||||
if(this.topicIndex<=this.questionList.length-1){
|
||||
this.qIndex=this.topicIndex
|
||||
}else{
|
||||
this.qIndex++
|
||||
}
|
||||
if(this.qIndex>=this.questionList.length-1){
|
||||
setTimeout(()=>{
|
||||
this.tipShow=true
|
||||
},1000)
|
||||
}else{
|
||||
this.tipShow=false
|
||||
}
|
||||
}else{
|
||||
if(!this.wrongList.includes(this.questionList[this.topicIndex].questionId)){
|
||||
this.wrongList.push(this.questionList[this.topicIndex].questionId)
|
||||
}
|
||||
if(!falseList.includes(this.questionList[this.topicIndex].questionId)){
|
||||
falseList.push(this.questionList[this.topicIndex].questionId)
|
||||
storage.set(`wrongList_subject${this.subject}`,falseList)
|
||||
}
|
||||
if(trueList.includes(this.questionList[this.topicIndex].questionId)){
|
||||
const rIndex=trueList.indexOf(this.questionList[this.topicIndex].questionId)
|
||||
trueList.splice(rIndex,1)
|
||||
storage.set(`rightList_subject${this.subject}`,trueList)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
timeChange(e){
|
||||
this.time=e
|
||||
if(e.hours==0&&e.minutes==0&&e.seconds==0&&e.milliseconds==0){
|
||||
@@ -381,7 +497,7 @@ export default {
|
||||
if (this.questionList[index + 1]) {
|
||||
list.push(this.questionList[index + 1]);
|
||||
}
|
||||
|
||||
|
||||
this.duration = 0;
|
||||
|
||||
setTimeout(() => {
|
||||
@@ -407,6 +523,7 @@ export default {
|
||||
// 轮播图当前位置小于原来时则表示为上一题
|
||||
this.topicIndex--;
|
||||
}
|
||||
|
||||
this.getCurrentIndex(this.topicIndex,this.subject)
|
||||
// 更新轮播图位置数值,为更新时让 Vue 能监听到数据有改变
|
||||
this.swiperIndex = e.detail.current;
|
||||
@@ -447,8 +564,13 @@ export default {
|
||||
if (!this.questionList[this.topicIndex].clickAnswer) {
|
||||
this.questionList[this.topicIndex].optionList[index].chooseOption =`${this.questionList[this.topicIndex].optionList[index].chooseOption?this.questionList[this.topicIndex].optionList[index].chooseOption:''}${op}`
|
||||
this.questionList[this.topicIndex].clickAnswer = `${this.questionList[this.topicIndex].optionList[index].clickAnswer?this.questionList[this.topicIndex].optionList[index].clickAnswer:''}${op}`
|
||||
}else{
|
||||
if(this.questionList[this.topicIndex].type=='3'&&!this.questionList[this.topicIndex].clickAnswer.includes(op)){
|
||||
this.questionList[this.topicIndex].optionList[index].chooseOption =`${this.questionList[this.topicIndex].optionList[index].chooseOption?this.questionList[this.topicIndex].optionList[index].chooseOption:''}${op}`
|
||||
this.questionList[this.topicIndex].clickAnswer =`${this.questionList[this.topicIndex].clickAnswer}${op}`
|
||||
}
|
||||
}
|
||||
if(this.tCurrent!==1){
|
||||
if(this.tCurrent!==1&&this.questionList[this.topicIndex].type!='3'){
|
||||
const arr1=this.questionList[this.topicIndex].clickAnswer.split('')
|
||||
const arr2=this.questionList[this.topicIndex].trueAnswer.split('')
|
||||
if(this.isArrEqual(arr1,arr2)){
|
||||
@@ -521,6 +643,7 @@ export default {
|
||||
isCollect=true
|
||||
}
|
||||
this.questionList.push({
|
||||
isChoose:false,
|
||||
isCollect:isCollect,
|
||||
...item
|
||||
})
|
||||
@@ -536,6 +659,11 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.checked_option{
|
||||
background-color: #000;
|
||||
border: 1px solid #000;
|
||||
color:#fff
|
||||
}
|
||||
.type_box {
|
||||
width: 350rpx;
|
||||
height: 72rpx;
|
||||
@@ -610,26 +738,26 @@ export default {
|
||||
border-radius: 50%;
|
||||
line-height: 80rpx;
|
||||
text-align: center;
|
||||
|
||||
|
||||
&.active {
|
||||
border: #05C341 solid 1px;
|
||||
}
|
||||
|
||||
|
||||
&.success {
|
||||
background-color:rgb(236,247,241);
|
||||
color: #05C341;
|
||||
border: none;
|
||||
|
||||
|
||||
&.active {
|
||||
border: #05C341 solid 1px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.error {
|
||||
background-color: #ffeceb;
|
||||
color: #f84d27;
|
||||
border: none;
|
||||
|
||||
|
||||
&.active {
|
||||
border: #f84d27 solid 1px;
|
||||
}
|
||||
@@ -657,4 +785,27 @@ export default {
|
||||
border-radius: 55rpx;
|
||||
padding: 14rpx;
|
||||
}
|
||||
.dx_btn{
|
||||
width:100%;
|
||||
height: 100rpx;
|
||||
line-height: 100rpx;
|
||||
text-align: center;
|
||||
color:#fff;
|
||||
background: rgb(204,204,204);
|
||||
border-radius:100rpx;
|
||||
}
|
||||
.dx_checked{
|
||||
width:100%;
|
||||
height: 100rpx;
|
||||
line-height: 100rpx;
|
||||
text-align: center;
|
||||
color:#fff;
|
||||
background: #05C341;
|
||||
border-radius:100rpx;
|
||||
}
|
||||
.right_option{
|
||||
border-color: #05C341;
|
||||
background-color: #fff;
|
||||
color: #05C341
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -31,9 +31,9 @@
|
||||
<view class="mt14 p14 bc-fff" style="border-radius: 20rpx;">
|
||||
<text class="fs18 cor-000 fw600">常见考点</text>
|
||||
<view class="flex ai-c wp100 mt15" style="flex-wrap: wrap;">
|
||||
<view class="wp50 flex ai-c mb15" v-for="(item,index) of testCenterList" :key="index">
|
||||
<view class="wp50 flex ai-c mb25" v-for="(item,index) of testCenterList" :key="index" @tap="toQuestionBank(item)">
|
||||
<view class="dot_item">{{index+1}}</view>
|
||||
<text class="ml5">{{item.label}}</text>
|
||||
<text class="ml5">{{item.configItemName}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -44,6 +44,10 @@
|
||||
import errorIcon from "../../static/image/practice/error_icon.png"
|
||||
import newRulesIcon from "../../static/image/practice/newRules_icon.png"
|
||||
import neverWriteIcon from "../../static/image/practice/neverWrite_icon.png"
|
||||
import {
|
||||
querySysConfigList,
|
||||
} from '@/jtools/api/question';
|
||||
import storage from '@/jtools/storage';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -75,23 +79,31 @@
|
||||
subTitle:'392题',
|
||||
image:neverWriteIcon
|
||||
}],
|
||||
testCenterList:[
|
||||
{label:'驾驶证申请相关'},
|
||||
{label:'驾驶证申请相关'},
|
||||
{label:'驾驶证登记处罚'},
|
||||
{label:'机动车强制报废'},
|
||||
{label:'其他考点'},
|
||||
{label:'驾驶证登记处罚'},
|
||||
{label:'机动车强制报废'},
|
||||
{label:'其他考点'}]
|
||||
testCenterList:[]
|
||||
}
|
||||
},
|
||||
onLoad(){
|
||||
this.getExamPoint()
|
||||
},
|
||||
methods: {
|
||||
getExamPoint(){
|
||||
const carTypeId=storage.get('carType') || '1001'
|
||||
querySysConfigList(carTypeId,'ExamKeys').then(resp=>{
|
||||
if(resp.code==='0000'){
|
||||
this.testCenterList=resp.data
|
||||
}
|
||||
})
|
||||
},
|
||||
toAnswer(title) {
|
||||
uni.navigateTo({
|
||||
url:"/pages/questionBank/questionBank?navTitle="+title
|
||||
})
|
||||
},
|
||||
toQuestionBank(val){
|
||||
uni.navigateTo({
|
||||
url:"/pages/questionBank/questionBank?navTitle="+val.configItemName+"&examKey="+val.configItemCode
|
||||
})
|
||||
},
|
||||
toIconSkill(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/index/iconSkill"
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
<view class="p14 wp100">
|
||||
<GradesChart :titleName="rightPencentDesc" :actualValue="Number(rightPencent)" />
|
||||
<view class="top_box flex jc-c" style="flex-direction: column;">
|
||||
<view class="wp100 text-center" >
|
||||
<text>太棒了!正确率很高了!</text>
|
||||
<view class="wp100 text-center" style="margin-top: -80px;">
|
||||
<text v-if="Number(rightPencent)>=90">太棒了!正确率很高了!</text>
|
||||
<text v-else>继续努力吧,正确率有点低~</text>
|
||||
<view class="flex ai-c jc-c mt10">
|
||||
<view class="text-center wp50" @tap="toQuestionBank">
|
||||
<view>{{wrongList.length}}/{{allDoNum}}</view>
|
||||
@@ -25,7 +26,7 @@
|
||||
<view class="flex ai-c jc-sb">
|
||||
<view>
|
||||
<text class="fs18 cor-000 fw600">累计练题</text>
|
||||
<text class="fs14 cor-666 ml10">33题</text>
|
||||
<text class="fs14 cor-666 ml10">{{allRightList.length+allWrongList.length}}题</text>
|
||||
</view>
|
||||
<text class="fs14 cor-666">未做题{{getNotDoNum}}题</text>
|
||||
</view>
|
||||
@@ -80,7 +81,7 @@
|
||||
}
|
||||
if(op.wrongList){
|
||||
this.wrongList=JSON.parse(op.wrongList)
|
||||
this.rightPencent=((this.allDoNum-this.wrongList.length)/this.allDoNum).toFixed(2)
|
||||
this.rightPencent=this.allDoNum>0?((this.allDoNum-this.wrongList.length)/this.allDoNum).toFixed(2):0
|
||||
this.rightPencentDesc=(this.rightPencent*100).toFixed(0)+'%'
|
||||
}
|
||||
if(op.subject){
|
||||
|
||||
@@ -75,6 +75,9 @@
|
||||
if(op.chapter){
|
||||
param.chapter=op.chapter
|
||||
}
|
||||
if(op.examKey){
|
||||
param.examKey=op.examKey
|
||||
}
|
||||
queryQuestion(param).then(res => {
|
||||
if (res.code == '0000') {
|
||||
this.questionArr = res.data
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
<template>
|
||||
<view>
|
||||
<sunny-video style="width: 100%" videoHeight="422rpx" ref="sunny-video" title="测试视频" src="https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4" @timeupdate="timeupdate" />
|
||||
<view class="p14 bc-fff">
|
||||
<u-scroll-list :indicator="false" v-if="videoType=='test'">
|
||||
<view class="flex ai-c jc-sb mt15">
|
||||
<view class="tab_iem mr15" :class="videoIndex===item.value?'checked_tab':''" v-for="(item,index) of testList" :key="index" @tap="checkTest(item.value)">{{item.label}}</view>
|
||||
<sunny-video style="width: 100%" videoHeight="422rpx" ref="sunny-video" title="测试视频"
|
||||
src="https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4"
|
||||
@timeupdate="timeupdate" />
|
||||
<view class="p14tb bc-fff">
|
||||
<view class="skill-sequence-panel-content-wrapper pr14" v-if="videoType=='test'">
|
||||
<scroll-view class="skill-sequence-panel-content" scroll-x>
|
||||
<view class="skill-sequence-skill-wrapper tab_iem" :class="videoIndex===item.value?'checked_tab':''" v-for="(item,index) of testList"
|
||||
:key="index" @tap="checkTest(item.value)">{{item.label}}</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</u-scroll-list>
|
||||
<view class="flex ai-c jc-sb mt10 wp100">
|
||||
<view class="flex ai-c jc-sb mt10 wp100 p14">
|
||||
<text class="fs18 fw600 cor-000">C1捷达-基础操作视频讲解</text>
|
||||
<view class="flex" @tap="popupShow=true" v-if="videoType!='test'">
|
||||
<text class="fs14 cor-666">更多</text>
|
||||
@@ -18,20 +21,23 @@
|
||||
<view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pl14 bc-fff">
|
||||
<u-scroll-list :indicator="false" class="mr15">
|
||||
<view v-for="(item, index) in videoList" :key="index" class="mr15" @click="checkVideo(item.id)">
|
||||
<view>
|
||||
<view class="mb10 relative">
|
||||
<image class="contain-box" src="../../static/image/index/index_bg.png"></image>
|
||||
<view v-if="nowVideo===item.id" class="playLogo">播放中</view>
|
||||
<image class="play_btn" src="../../static/image/index/play.png" />
|
||||
<text style="position: absolute;right: 8rpx;bottom: 8rpx;color:#fff">13:14</text>
|
||||
</view>
|
||||
<text :style="{color:nowVideo===item.id?'#FF6E02':'#333'}">正确的驾驶姿势</text>
|
||||
<view class="bc-fff pl14">
|
||||
<view class="skill-sequence-panel-content-wrapper">
|
||||
<scroll-view class="skill-sequence-panel-content" scroll-x :scroll-left="164*currentIndex">
|
||||
<view class="skill-sequence-skill-wrapper" v-for="(item, index) in videoList" :key="index"
|
||||
@click="checkVideo(item.projectId)">
|
||||
<view>
|
||||
<view class="mb10 relative">
|
||||
<image class="contain-box" src="../../static/image/index/index_bg.png"></image>
|
||||
<view v-if="projectId==item.projectId" class="playLogo">播放中</view>
|
||||
<image class="play_btn" src="../../static/image/index/play.png" />
|
||||
<text style="position: absolute;right: 8rpx;bottom: 8rpx;color:#fff">13:14</text>
|
||||
</view>
|
||||
</view>
|
||||
</u-scroll-list>
|
||||
<text :style="{color:projectId==item.projectId?'#FF6E02':'#333'}">{{item.description}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
<u-popup :show="popupShow" mode="bottom" :closeOnClickOverlay="true" @close="popupShow=false">
|
||||
<view class="p14 flex ai-c jc-sb">
|
||||
@@ -39,14 +45,15 @@
|
||||
<text class="fs16 cor-666" @tap="popupShow=false">收起</text>
|
||||
</view>
|
||||
<view style="max-height: 800rpx;overflow-y: scroll;" class="p14lr">
|
||||
<view class="flex bc-fff mt10" style="border-radius: 16rpx;" v-for="(item,index) of videoList" :key="index" @tap="toDetail">
|
||||
<view class="flex bc-fff mt10" style="border-radius: 16rpx;" v-for="(item,index) of videoList" :key="index"
|
||||
@tap="toDetail">
|
||||
<view class="pic relative">
|
||||
<image class="pic" src="../../static/image/index/index_bg.png"></image>
|
||||
<image class="play_btn_2" src="../../static/image/index/play.png" />
|
||||
<text style="position: absolute;right: 8rpx;bottom: 8rpx;color:#fff">13:14</text>
|
||||
</view>
|
||||
<view class="ml10">
|
||||
<text class="fs16 cor-000 fw600">上车、下车的方法</text>
|
||||
<text class="fs16 cor-000 fw600">{{item.description}}</text>
|
||||
<view class="fs14 mt5 cor-666">上车、下车的方法</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -56,73 +63,103 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
videoIndex:0,
|
||||
testList:[{
|
||||
label:"八一考场",
|
||||
value:0,
|
||||
},{
|
||||
label:"富凯考场",
|
||||
value:1
|
||||
},{
|
||||
label:"新亚考场",
|
||||
value:2
|
||||
},{
|
||||
label:"庐江考场",
|
||||
value:3
|
||||
},{
|
||||
label:"富凯考场",
|
||||
value:4
|
||||
},{
|
||||
label:"新亚考场",
|
||||
value:5
|
||||
},{
|
||||
label:"庐江考场",
|
||||
value:6
|
||||
}],
|
||||
videoType:'',
|
||||
popupShow:false,
|
||||
nowVideo:0,
|
||||
videoList:[{
|
||||
title:'正确的驾驶姿势',
|
||||
time:'13:14',
|
||||
id:0
|
||||
},{
|
||||
title:'正确的驾驶姿势',
|
||||
time:'13:14',
|
||||
id:1
|
||||
},{
|
||||
title:'正确的驾驶姿势',
|
||||
time:'13:14',
|
||||
id:2
|
||||
},{
|
||||
title:'正确的驾驶姿势',
|
||||
time:'13:14',
|
||||
id:3
|
||||
},{
|
||||
title:'正确的驾驶姿势',
|
||||
time:'13:14',
|
||||
id:4
|
||||
},{
|
||||
title:'正确的驾驶姿势',
|
||||
time:'13:14',
|
||||
id:5
|
||||
}]
|
||||
import {
|
||||
queryProjectList
|
||||
} from '@/jtools/api/question';
|
||||
import storage from '@/jtools/storage';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
currentIndex:0,
|
||||
videoIndex: 0,
|
||||
testList: [{
|
||||
label: "八一考场",
|
||||
value: 0,
|
||||
}, {
|
||||
label: "富凯考场",
|
||||
value: 1
|
||||
}, {
|
||||
label: "新亚考场",
|
||||
value: 2
|
||||
}, {
|
||||
label: "庐江考场",
|
||||
value: 3
|
||||
}, {
|
||||
label: "富凯考场",
|
||||
value: 4
|
||||
}, {
|
||||
label: "新亚考场",
|
||||
value: 5
|
||||
}, {
|
||||
label: "庐江考场",
|
||||
value: 6
|
||||
}],
|
||||
videoType: '',
|
||||
popupShow: false,
|
||||
videoList: [{
|
||||
title: '正确的驾驶姿势',
|
||||
time: '13:14',
|
||||
id: 0
|
||||
}, {
|
||||
title: '正确的驾驶姿势',
|
||||
time: '13:14',
|
||||
id: 1
|
||||
}, {
|
||||
title: '正确的驾驶姿势',
|
||||
time: '13:14',
|
||||
id: 2
|
||||
}, {
|
||||
title: '正确的驾驶姿势',
|
||||
time: '13:14',
|
||||
id: 3
|
||||
}, {
|
||||
title: '正确的驾驶姿势',
|
||||
time: '13:14',
|
||||
id: 4
|
||||
}, {
|
||||
title: '正确的驾驶姿势',
|
||||
time: '13:14',
|
||||
id: 5
|
||||
}],
|
||||
projectId:undefined,
|
||||
param:{}
|
||||
}
|
||||
},
|
||||
onLoad(op){
|
||||
onLoad(op) {
|
||||
if (op.type) {
|
||||
this.videoType = op.type
|
||||
}
|
||||
if(op.projectId){
|
||||
this.projectId=op.projectId
|
||||
}
|
||||
if(op.driveType){
|
||||
this.param.driveType=op.driveType
|
||||
}
|
||||
if(op.subject){
|
||||
this.param.subject=op.subject
|
||||
}
|
||||
if(op.type){
|
||||
this.videoType=op.type
|
||||
this.param.type=op.type
|
||||
}
|
||||
this.getVieoList()
|
||||
},
|
||||
methods:{
|
||||
checkTest(val){
|
||||
this.videoIndex=val
|
||||
methods: {
|
||||
getVieoList(){
|
||||
queryProjectList({
|
||||
"carTypeId": storage.get('carType') || '1001',
|
||||
"driveType": this.param.driveType,
|
||||
"subject": this.param.subject,
|
||||
"type": this.param.type
|
||||
}).then(resp=>{
|
||||
this.videoList=resp.data
|
||||
this.currentIndex=this.videoList.findIndex(item=>item.projectId==this.projectId)
|
||||
})
|
||||
},
|
||||
checkVideo(val){
|
||||
this.nowVideo=val
|
||||
checkTest(val) {
|
||||
this.videoIndex = val
|
||||
},
|
||||
checkVideo(val) {
|
||||
this.projectId = val
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -135,7 +172,8 @@
|
||||
background: #00B74F;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
.playLogo{
|
||||
|
||||
.playLogo {
|
||||
width: 90rpx;
|
||||
height: 40rpx;
|
||||
background: #FF6E02;
|
||||
@@ -146,39 +184,58 @@
|
||||
font-size: 12px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top:0
|
||||
top: 0
|
||||
}
|
||||
.play_btn{
|
||||
|
||||
.play_btn {
|
||||
width: 65rpx;
|
||||
height: 65rpx;
|
||||
position: absolute;
|
||||
left: 97.5rpx;
|
||||
top:39.5rpx
|
||||
top: 39.5rpx
|
||||
}
|
||||
.play_btn_2{
|
||||
|
||||
.play_btn_2 {
|
||||
width: 65rpx;
|
||||
height: 65rpx;
|
||||
position: absolute;
|
||||
left: 117.5rpx;
|
||||
top:52rpx
|
||||
top: 52rpx
|
||||
}
|
||||
.pic{
|
||||
|
||||
.pic {
|
||||
width: 300rpx;
|
||||
height: 169rpx;
|
||||
background: #00B74F;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
.tab_iem{
|
||||
|
||||
.tab_iem {
|
||||
width: 145rpx;
|
||||
height: 56rpx;
|
||||
line-height: 56rpx;
|
||||
text-align: center;
|
||||
background: #F5F5F5;
|
||||
border-radius: 10rpx;
|
||||
color:#333
|
||||
}
|
||||
.checked_tab{
|
||||
color: #333
|
||||
}
|
||||
|
||||
.checked_tab {
|
||||
background: linear-gradient(90deg, #11DF20 0%, #01B74F 100%);
|
||||
color:#fff
|
||||
color: #fff
|
||||
}
|
||||
/*scroll-view外层*/
|
||||
.skill-sequence-panel-content-wrapper{
|
||||
position: relative;
|
||||
white-space:nowrap;
|
||||
}
|
||||
/*scroll-view本身*/
|
||||
.skill-sequence-panel-content{
|
||||
min-width:100%;
|
||||
}
|
||||
/*scroll-view内层*/
|
||||
.skill-sequence-skill-wrapper{
|
||||
display: inline-block;
|
||||
margin-right: 15px;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user