提交 1740cd8f authored 作者: lihuihui's avatar lihuihui

fix: 修改错题

上级 f4442d0f
<template>
<div>
<!-- 单选多选判断题(题目描述dom结构一样,只那选项区分) -->
<template v-if="questionData.question_item_type == 1 || questionData.question_item_type == 2 || questionData.question_item_type == 6">
<div class="title-type">
<div class="type">{{ questionData.question_item_title }}</div>
<div class="num">{{ questionData.q_order }}/{{ questionData.total_question_count }}</div>
</div>
<div class="title">
<div class="num">{{ questionData.q_order }}.</div><div class="des" v-html="questionData.content"></div>
</div>
<ul :class="questionData.question_item_type == 2 ? 'check-option' : 'radio-option'">
<template v-for="(item, index) in questionData.options">
<li
:key="index"
@click="changeOptions(questionData.question_item_type, questionData.id, item.id)"
:class="$route.query.type == 3 ? allIsClass(item.id) : isClass(questionData.id, item.id)"
>
<div class="icon"></div>
<div class="txt">{{A_Z()[index]}}. {{item.option}}</div>
</li>
</template>
</ul>
</template>
<!-- 解析 -->
<div class="analysis" v-if="!isAnswer && questionData.question_item_type != 5">
<div class="title">答案解析</div>
<div class="analy-mian">
<div class="txt1">正确答案:{{ questionData.question_answer }}</div>
<div class="txt1">您的答案:{{ myAnswer() }}</div>
<div class="explain-box">
<div>解析:</div>
<div class="w" v-html="questionData.question_analysis"></div>
<div v-for="(questionData, index) in questionData" :key="index">
<!-- 单选多选判断题(题目描述dom结构一样,只那选项区分) -->
<template v-if="questionData.question_item_type == 1 || questionData.question_item_type == 2 || questionData.question_item_type == 6">
<div class="title-type">
<div class="type">{{ questionData.question_item_title }}</div>
<div class="num">{{ questionData.q_order }}/{{ questionData.total_question_count }}</div>
</div>
<div class="title">
<div class="num">{{ questionData.q_order }}.</div><div class="des" v-html="questionData.content"></div>
</div>
<ul :class="questionData.question_item_type == 2 ? 'check-option' : 'radio-option'">
<template v-for="(item, index) in questionData.options">
<li
:key="index"
@click="changeOptions(questionData.question_item_type, questionData.id, item.id)"
:class="$route.query.type == 3 ? allIsClass(item.id) : isClass(questionData.id, item.id)"
>
<div class="icon"></div>
<div class="txt">{{A_Z()[index]}}. {{item.option}}</div>
</li>
</template>
</ul>
</template>
<!-- 解析 -->
<div class="analysis" v-if="!isAnswer && (questionData.question_item_type != 5 || questionData.question_item_type != 7)">
<div class="title">答案解析</div>
<div class="analy-mian">
<div class="txt1">正确答案:{{ questionData.question_answer }}</div>
<div class="txt1">您的答案:{{ myAnswer() }}</div>
<div class="explain-box">
<div>解析:</div>
<div class="w" v-html="questionData.question_analysis"></div>
</div>
</div>
</div>
</div>
<!-- 复合题 -->
<template v-if="questionData.question_item_type == 5">
<div class="title-type">
<div class="type">{{ questionData.question_item_title }}</div>
<div class="num">{{ questionData.q_order }}/{{ questionData.total_question_count }}</div>
</div>
<div class="case-que">
<div class="flex">
<div class="stem" v-html="questionData.common_content"></div>
<!-- 解析 -->
<div class="analysis" v-if="!isAnswer">
<div class="title">答案解析</div>
<div class="analy-mian">
<div class="txt1">正确答案:{{ questionData.question_answer }}</div>
<div class="txt1">您的答案:{{ myAnswer() }}</div>
<div class="explain-box">
<div>解析:</div>
<div class="w" v-html="questionData.question_analysis"></div>
<!-- 复合题 -->
<template v-if="questionData.question_item_type == 5 || questionData.question_item_type == 7">
<div class="title-type">
<div class="type">{{ questionData.question_item_title }}</div>
<div class="num">{{ questionData.q_order }}/{{ questionData.total_question_count }}</div>
</div>
<div class="case-que">
<div class="flex">
<div class="stem" v-html="questionData.common_content"></div>
<!-- 解析 -->
<div class="analysis" v-if="!isAnswer">
<div class="title">答案解析</div>
<div class="analy-mian">
<div class="txt1">正确答案:{{ questionData.question_answer }}</div>
<div class="txt1">您的答案:{{ myAnswer() }}</div>
<div class="explain-box">
<div>解析:</div>
<div class="w" v-html="questionData.question_analysis"></div>
</div>
</div>
</div>
</div>
<ul class="topics" :style="{height: contentHeight - 60 + 'px'}">
<li>
<div class="title">
<div class="num">{{ questionData.q_order }}.</div><div class="des" v-html="questionData.content"></div>
</div>
<ul :class="questionData.answer_count > 1 ? 'check-option' : 'radio-option'"><!-- radio-option check-option -->
<template v-for="(opt, oIndex) in questionData.options">
<li
:id="opt.id"
:key="'c' + oIndex"
@click="changeOptions(questionData.answer_count > 1 ? 2 : 1, questionData.id, opt.id)"
:class="isClass(questionData.id, opt.id)"
>
<div class="icon"></div>
<div class="txt">{{A_Z()[oIndex]}}. {{opt.option}}</div>
</li>
</template>
</ul>
</li>
</ul>
</div>
<ul class="topics" :style="{height: contentHeight - 60 + 'px'}">
<li>
<div class="title">
<div class="num">{{ questionData.q_order }}.</div><div class="des" v-html="questionData.content"></div>
</div>
<ul :class="questionData.answer_count > 1 ? 'check-option' : 'radio-option'"><!-- radio-option check-option -->
<template v-for="(opt, oIndex) in questionData.options">
<li
:id="opt.id"
:key="'c' + oIndex"
@click="changeOptions(questionData.answer_count > 1 ? 2 : 1, questionData.id, opt.id)"
:class="isClass(questionData.id, opt.id)"
>
<div class="icon"></div>
<div class="txt">{{A_Z()[oIndex]}}. {{opt.option}}</div>
</li>
</template>
</ul>
</li>
</ul>
</div>
</template>
</template>
</div>
</div>
</template>
<script>
......@@ -88,13 +90,14 @@ export default {
},
data() {
return {
questionData: {},
questionData: [],
isAnswer: true,
currentCheck: {}
}
},
created() {
this.questionData = this.questionParams.question
console.log(this.questionDatas, 'lhh=1=')
},
mounted() {
this.isChangeAnswer()
......
差异被折叠。
......@@ -161,40 +161,42 @@ export default {
},
// 改变数据
setData(list) {
return list.map(list => {
const type = {
1: '单选题',
2: '多选题',
5: '案例题',
6: '判断题'
}
const typeTotal = {
3: 'total',
1: 'error_total',
2: 'collection_total'
}
const data = {
q_order: list.num,
question_item_type: list.question_type,
content: list.question_content,
id: list.question_id,
options: list.question_options,
question_item_title: type[parseInt(list.question_type)],
total_question_count: this.questionData[typeTotal[parseInt(this.$route.query.type)]],
question_analysis: list.question_analysis,
user_answer: list.user_answer,
is_collection: list.is_collection,
answer_count: list.answer_count,
common_content: list.common_content,
sheet_time: list.sheet_time,
rightKey: list.question_answer
}
const findAB = data.question_answer = list.question_answer.map(i => {
const findIndex = list.question_options.findIndex(opt => { return opt.id === i })
return this.A_Z()[findIndex]
return list.map(pList => {
return pList.map(list => {
const type = {
1: '单选题',
2: '多选题',
5: '案例题',
6: '判断题'
}
const typeTotal = {
3: 'total',
1: 'error_total',
2: 'collection_total'
}
const data = {
q_order: list.num,
question_item_type: list.question_type,
content: list.question_content,
id: list.question_id,
options: list.question_options,
question_item_title: type[parseInt(list.question_type)],
total_question_count: this.questionData[typeTotal[parseInt(this.$route.query.type)]],
question_analysis: list.question_analysis,
user_answer: list.user_answer,
is_collection: list.is_collection,
answer_count: list.answer_count,
common_content: list.common_content,
sheet_time: list.sheet_time,
rightKey: list.question_answer
}
const findAB = data.question_answer = list.question_answer.map(i => {
const findIndex = list.question_options.findIndex(opt => { return opt.id === i })
return this.A_Z()[findIndex]
})
data.question_answer = findAB.sort().toString().replace(new RegExp(',', 'g'), '')
return data
})
data.question_answer = findAB.sort().toString().replace(new RegExp(',', 'g'), '')
return data
})
},
// 获取考卷
......@@ -248,11 +250,17 @@ export default {
},
// 点击上一题下一题 答题卡序号
changeData() {
let datas = []
this.questionData.list.map(list => {
if (list.q_order === this.questionParams.questionIndex + 1) {
this.questionParams.question = list
const findData = list.find(item => {
return item.q_order === this.questionParams.questionIndex + 1
})
if (findData) {
datas = list
return false
}
})
this.questionParams.question = datas
},
// 进入指定的题
goAppointQuestion(n) {
......
<template>
<div>
<exam-card :hasSubmitBtn="!!(!$route.query.id)" :hasCountDown="!!(!$route.query.id)" v-if="Object.keys(data).length > 1" @submitExam="submitExam" ref="exam" title="模拟考试" :data="data"></exam-card>
<exam-card :hasSubmitBtn="!!(!$route.query.id)" :hasCountDown="!!(!$route.query.id)" v-if="Object.keys(data).length" @submitExam="submitExam" ref="exam" title="模拟考试" :data="data"></exam-card>
</div>
</template>
<script>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论