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

fix: 修改错题

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