提交 9d5aa06e authored 作者: lihuihui's avatar lihuihui

updata

上级 f5e3a594
......@@ -21,63 +21,38 @@
</li>
</ul>
</div>
<!-- <div class="question">
<template v-for="(item, index) in dataList">
<div :key="index">
<div class="title">{{ questionType[item.type] }}</div>
<div class="question">
<template v-if="answerData['1'].data.length !=0">
<div class="title" >{{ answerData['1'].title }}</div>
<ul>
<template v-for="(cItem, cIndex) in item.question_list">
<li class="">{{ cItem.num }}</li>
<template v-if="requestData[item.id]">
<template v-if="requestData[item.id][cItem.id]">
<template v-if="requestData[item.id][cItem.id].sign">
<li @click="go(cItem.id)" :data-id="cItem.id" :key="cIndex" class="active2">{{ cItem.num }}</li>
</template>
<template v-else>
<li @click="go(cItem.id)" :data-id="cItem.id" v-if="requestData[item.id][cItem.id].answer.length != 0" :key="cIndex" class="active1">{{ cItem.num }}</li>
<li @click="go(cItem.id)" :data-id="cItem.id" v-else :key="cIndex" class="active3">{{ cItem.num }}</li>
</template>
</template>
<template v-else>
<li @click="go(cItem.id)" :data-id="cItem.id" :key="cIndex" class="active3">{{ cItem.num }}</li>
</template>
</template>
<template v-else>
<li @click="go(cItem.id)" :data-id="cItem.id" :key="cIndex" class="active3">{{ cItem.num }}</li>
</template>
<template v-for="(item, index) in answerData['1'].data">
<li @click="go(item.id)" :data-id="item.id" :key="index" :class="item.sign == true ? 'active2' : item.answer == undefined ? 'active3' : item.answer.length == 0 ? 'acitve3' : 'active1'">{{ item.num }}</li>
</template>
</ul>
</div>
</template>
</div> -->
<div class="question">
<template>
<div>
<!-- <div class="title">{{ questionType[item.type] }}</div> -->
<template v-if="answerData['2'].data.length !=0">
<div class="title" >{{ answerData['2'].title }}</div>
<ul>
<template v-for="(item, index) in dataList">
<template v-for="(cItem, cIndex) in item.question_list">
<template v-if="requestData[item.id]">
<template v-if="requestData[item.id][cItem.id]">
<template v-if="requestData[item.id][cItem.id].sign">
<li :key="cIndex+'-'+index" @click="go(cItem.id)" :data-id="cItem.id" class="active2">{{ cItem.num }}</li>
</template>
<template v-else>
<li :key="cIndex+'-'+index" @click="go(cItem.id)" :data-id="cItem.id" v-if="requestData[item.id][cItem.id].answer.length != 0" class="active1">{{ cItem.num }}</li>
<li :key="cIndex+'-'+index" @click="go(cItem.id)" :data-id="cItem.id" v-else class="active3">{{ cItem.num }}</li>
</template>
</template>
<template v-else>
<li :key="cIndex+'-'+index" @click="go(cItem.id)" :data-id="cItem.id" class="active3">{{ cItem.num }}</li>
<template v-for="(item, index) in answerData['2'].data">
<li @click="go(item.id)" :data-id="item.id" :key="index" :class="item.sign == true ? 'active2' : item.answer == undefined ? 'active3' : item.answer.length == 0 ? 'acitve3' : 'active1'">{{ item.num }}</li>
</template>
</ul>
</template>
<template v-else>
<li :key="cIndex+'-'+index" @click="go(cItem.id)" :data-id="cItem.id" class="active3">{{ cItem.num }}</li>
<template v-if="answerData['5'].data.length !=0">
<div class="title" >{{ answerData['5'].title }}</div>
<ul>
<template v-for="(item, index) in answerData['5'].data">
<li @click="go(item.id)" :data-id="item.id" :key="index" :class="item.sign == true ? 'active2' : item.answer == undefined ? 'active3' : item.answer.length == 0 ? 'acitve3' : 'active1'">{{ item.num }}</li>
</template>
</ul>
</template>
<template v-if="answerData['6'].data.length !=0">
<div class="title" >{{ answerData['6'].title }}</div>
<ul>
<template v-for="(item, index) in answerData['6'].data">
<li @click="go(item.id)" :data-id="item.id" :key="index" :class="item.sign == true ? 'active2' : item.answer == undefined ? 'active3' : item.answer.length == 0 ? 'acitve3' : 'active1'">{{ item.num }}</li>
</template>
</ul>
</div>
</template>
</div>
</div>
......@@ -98,12 +73,36 @@ export default {
default () {
return {}
}
},
clickStatus: {
type: Number,
default () {
return {}
}
}
},
mounted() {
},
data() {
return {
answerData: {
1: {
title: '单选题:',
data: []
},
2: {
title: '多选题:',
data: []
},
5: {
title: '案例题:',
data: []
},
6: {
title: '判断题:',
data: []
}
},
cardData: {},
countIndex: 1,
questionType: {
......@@ -145,9 +144,6 @@ export default {
}
},
computed: {
changeData() {
return this.questionsData
},
dataList() {
// const clone = this.clone(this.questionsData)
// const data = this.duplicates(clone.questions)
......@@ -160,20 +156,45 @@ export default {
num += item.question_list.length
return item
})
},
changeData() {
return this.clickStatus
}
},
watch: {
changeData: {
handler(newV, oldV) {
this.$forceUpdate()
changeData() {
this.answerData = {
1: {
title: '单选题:',
data: []
},
deep: true
2: {
title: '多选题:',
data: []
},
questionsData: {
handler(newV, oldV) {
// this.duplicates(this.questionsData.questions)
5: {
title: '案例题:',
data: []
},
6: {
title: '判断题:',
data: []
}
}
let num = 1
this.questionsData.questions.map(item => {
item.question_list.map((c, index) => {
c.num = num + index
if (Object.prototype.hasOwnProperty.call(this.requestData, item.id)) {
if (Object.prototype.hasOwnProperty.call(this.requestData[item.id], c.id)) {
c = Object.assign(this.requestData[item.id][c.id], c)
}
}
this.answerData[item.type].data.push(c)
})
num += item.question_list.length
})
}
}
}
</script>
......@@ -233,7 +254,7 @@ export default {
list-style: none;
margin-top: .3rem;
padding: 0 0.6rem;
// border-bottom: 0.01rem solid #EEEEEE;
border-bottom: 0.01rem solid #EEEEEE;
display: flex;
flex-wrap: wrap;
li{
......
......@@ -49,42 +49,43 @@
</li>
</ul>
</div>
<!-- <div class="question">
<template v-for="(item, index) in dataList">
<div :key="index">
<div class="title">{{ questionType[item.type] }}</div>
<div class="question">
<template v-if="answerData['1'].data.length !=0">
<div class="title" >{{ answerData['1'].title }}</div>
<ul>
<template v-for="(cItem, cIndex) in item.question_list">
<template v-if="requestData[item.id]">
<template v-if="requestData[item.id][cItem.id]">
<template v-if="requestData[item.id][cItem.id].answer.length != 0">
<template v-if="questionsData.score_items[item.id]">
<li @click="go(cItem.id)" :data-id="cItem.id" :key="cIndex" :class="questionsData.score_items[item.id][cItem.id].is_right ? 'active1' : 'active2'">{{ cItem.num }}</li>
</template>
<template v-else>
<li @click="go(cItem.id)" :data-id="cItem.id" :key="cIndex" class="active3">{{ cItem.num }}</li>
</template>
<template v-for="(item, index) in answerData['1'].data">
<li @click="go(item.id)" :data-id="item.id" :key="index" :class="item.answer == undefined ? 'active3' : item.is_right ? 'active1' : 'active2'">{{ item.num }}</li>
</template>
<template v-else>
<li @click="go(cItem.id)" :data-id="cItem.id" :key="cIndex" class="active3">{{ cItem.num }}</li>
</ul>
</template>
<template v-if="answerData['2'].data.length !=0">
<div class="title" >{{ answerData['2'].title }}</div>
<ul>
<template v-for="(item, index) in answerData['2'].data">
<li @click="go(item.id)" :data-id="item.id" :key="index" :class="item.answer == undefined ? 'active3' : item.is_right ? 'active1' : 'active2'">{{ item.num }}</li>
</template>
<template v-else>
<li @click="go(cItem.id)" :data-id="cItem.id" :key="cIndex" class="active3">{{ cItem.num }}</li>
</ul>
</template>
<template v-if="answerData['5'].data.length !=0">
<div class="title" >{{ answerData['5'].title }}</div>
<ul>
<template v-for="(item, index) in answerData['5'].data">
<li @click="go(item.id)" :data-id="item.id" :key="index" :class="item.answer == undefined ? 'active3' : item.is_right ? 'active1' : 'active2'">{{ item.num }}</li>
</template>
<template v-else>
<li @click="go(cItem.id)" :data-id="cItem.id" :key="cIndex" class="active3">{{ cItem.num }}</li>
</ul>
</template>
<template v-if="answerData['6'].data.length !=0">
<div class="title" >{{ answerData['6'].title }}</div>
<ul>
<template v-for="(item, index) in answerData['6'].data">
<li @click="go(item.id)" :data-id="item.id" :key="index" :class="item.answer == undefined ? 'active3' : item.is_right ? 'active1' : 'active2'">{{ item.num }}</li>
</template>
</ul>
</div>
</template>
</div> -->
<div class="question">
</div>
<!-- <div class="question">
<template>
<div>
<!-- <div class="title">{{ questionType[item.type] }}</div> -->
<ul>
<template v-for="(item, index) in dataList">
<template v-for="(cItem, cIndex) in item.question_list">
......@@ -114,7 +115,7 @@
</ul>
</div>
</template>
</div>
</div> -->
</div>
</div>
<div :class="ratioNum == 100 ? 'st-btn cent' : 'st-btn'" v-if="title === '随堂小测' || title === '模拟考试' || title === '知识点小测'">
......@@ -133,6 +134,24 @@ export default {
name: 'ExamEnd',
data() {
return {
answerData: {
1: {
title: '单选题:',
data: []
},
2: {
title: '多选题:',
data: []
},
5: {
title: '案例题:',
data: []
},
6: {
title: '判断题:',
data: []
}
},
questionType: {
1: '单选题:',
2: '多选题:',
......@@ -177,16 +196,6 @@ export default {
},
methods: {
goAbilityExam() {
// if (this.isWeapp) {
// wx.miniProgram.navigateTo({ url: `/pages/web/index?src=${window.location.origin}/exam/index?t=1` })
// } else {
// this.$router.push({
// path: '/exam/index',
// query: {
// t: 1
// }
// })
// }
this.$router.replace({
path: '/exam/index',
query: {
......@@ -221,7 +230,43 @@ export default {
} else {
this.ratioNum = 0
}
this.changeData()
})
},
changeData() {
this.answerData = {
1: {
title: '单选题:',
data: []
},
2: {
title: '多选题:',
data: []
},
5: {
title: '案例题:',
data: []
},
6: {
title: '判断题:',
data: []
}
}
let num = 1
this.questionsData.questions.map(item => {
item.question_list.map((c, index) => {
c.num = num + index
c = Object.assign(this.questionsData.score_items[item.id][c.id], c)
if (Object.prototype.hasOwnProperty.call(this.questionsData.answers, item.id)) {
if (Object.prototype.hasOwnProperty.call(this.questionsData.answers[item.id], c.id)) {
c = Object.assign(this.questionsData.answers[item.id][c.id], c)
}
}
this.answerData[item.type].data.push(c)
})
num += item.question_list.length
})
console.log(this.answerData)
}
}
}
......
......@@ -68,7 +68,7 @@
</template>
</template>
<swiper-slide v-show="questionsData.questions.length">
<card @cardChange="cardChange" @showCard="showCard" :questionsData="questionsData" :requestData="requestData"></card>
<card @cardChange="cardChange" @showCard="showCard" :questionsData="questionsData" :requestData="requestData" :clickStatus="clickStatus"></card>
</swiper-slide>
</swiper>
</div>
......@@ -154,6 +154,7 @@ export default {
data () {
const _this = this
return {
clickStatus: 0,
questionCount: Number,
classHide: true,
nextBtnShow: true,
......@@ -168,6 +169,7 @@ export default {
autoHeight: true,
on: {
slideChangeTransitionStart: function() {
_this.clickStatus = Date.parse(new Date())
_this.getIsSign()
if (this.activeIndex === _this.questionsData.sheet.question_count) {
_this.topicCard.isShow = true
......@@ -355,6 +357,7 @@ export default {
}
},
showCard() {
this.clickStatus = Date.parse(new Date())
if (this.swiper.activeIndex !== this.questionsData.sheet.question_count) {
this.swiperSign = this.swiper.activeIndex
} else {
......@@ -363,7 +366,6 @@ export default {
document.getElementById('bottom-view').scrollTop = 0
this.topicCard.isShow = true
this.swiper.slideTo(this.questionsData.sheet.question_count, 0, false)
// this.scrollDom()
},
// 标记
signQuestion() {
......@@ -375,6 +377,7 @@ export default {
duration: 500,
message: '已完成标记'
})
this.clickStatus = Date.parse(new Date())
}
const off = () => {
this.signText = '标记'
......@@ -382,6 +385,7 @@ export default {
duration: 500,
message: '已取消标记'
})
this.clickStatus = Date.parse(new Date())
}
if (!this.requestData[itemCid]) {
this.requestData[itemCid] = {
......@@ -499,6 +503,7 @@ export default {
}
}
}
this.clickStatus = Date.parse(new Date())
this.$forceUpdate()
},
// 多选事件
......@@ -548,6 +553,7 @@ export default {
}
cData.opaVal = opaArr.toString().replace(new RegExp(',', 'g'), '')
})
this.clickStatus = Date.parse(new Date())
this.$forceUpdate()
},
// 页面过高局部滚动
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论