Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
x-learn
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
x-learn
Commits
1740cd8f
提交
1740cd8f
authored
10月 19, 2021
作者:
lihuihui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 修改错题
上级
f4442d0f
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
120 行增加
和
109 行删除
+120
-109
question.vue
src/pages/exam/myExam/components/question.vue
+76
-73
questionDetails copy.vue
src/pages/exam/myExam/questionDetails copy.vue
+0
-0
questionDetails.vue
src/pages/exam/myExam/questionDetails.vue
+43
-35
index.vue
src/pages/exam/testExam/exam/index.vue
+1
-1
没有找到文件。
src/pages/exam/myExam/components/question.vue
浏览文件 @
1740cd8f
<
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
()
...
...
src/pages/exam/myExam/questionDetails copy.vue
0 → 100644
浏览文件 @
1740cd8f
差异被折叠。
点击展开。
src/pages/exam/myExam/questionDetails.vue
浏览文件 @
1740cd8f
...
...
@@ -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
)
{
...
...
src/pages/exam/testExam/exam/index.vue
浏览文件 @
1740cd8f
<
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论