Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-qa
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-qa
Commits
f9bfe926
提交
f9bfe926
authored
2月 22, 2022
作者:
matian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:新增试卷列表
上级
b7f50005
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
94 行增加
和
66 行删除
+94
-66
QuestionList.vue
src/modules/paper/components/QuestionList.vue
+17
-10
QuestionListItem.vue
src/modules/paper/components/QuestionListItem.vue
+26
-43
QuestionListItems.vue
src/modules/paper/components/QuestionListItems.vue
+51
-13
没有找到文件。
src/modules/paper/components/QuestionList.vue
浏览文件 @
f9bfe926
...
...
@@ -11,10 +11,10 @@
>
<el-button
class=
"clearfix_add"
type=
"primary"
@
click=
"addPaper"
>
添加试题
</el-button>
</div>
<!-- 题目列表 -->
<div
v-for=
"(item, index) in questionList"
:key=
"index"
>
<!-- 题目列表 -->
<QuestionListItems
:
questionList=
"questionList
"
:
item=
"item
"
ref=
"listItemRef"
@
handlePosition=
"handlePosition"
@
selectSubjectsChange=
"selectSubjectsChange"
...
...
@@ -68,13 +68,11 @@ export default {
data
()
{
return
{
visible
:
false
,
// 控制增加试题弹框显示还是隐藏
questionList
:
[
{
question_type
:
1
,
question_title
:
'xxxxx'
,
question_content
:
'这是一道单选题'
,
is_parent
:
1
,
child_question_type
:
0
,
question_answer
:
'答案就是你猜呀'
,
question_score
:
'3'
,
...
...
@@ -88,7 +86,6 @@ export default {
question_type
:
2
,
question_title
:
'xxxxx'
,
question_content
:
'这是一道多选题'
,
is_parent
:
1
,
child_question_type
:
0
,
question_answer
:
'答案就是你猜呀'
,
question_score
:
'3'
,
...
...
@@ -99,10 +96,20 @@ export default {
]
},
{
question_type
:
2
,
question_type
:
3
,
question_title
:
'xxxxx'
,
question_content
:
'这是一道问答题'
,
child_question_type
:
0
,
question_answer
:
'答案就是你猜呀'
,
question_score
:
'3'
,
group_id
:
'0'
,
question_options
:
[]
},
{
question_type
:
8
,
question_title
:
'xxxxx'
,
question_content
:
'这是一道情景题'
,
is_parent
:
0
,
is_parent
:
1
,
child_question_type
:
''
,
question_answer
:
'答案就是你猜呀'
,
question_score
:
'3'
,
...
...
@@ -110,12 +117,12 @@ export default {
question_options
:
[]
},
{
question_type
:
2
,
question_type
:
8
,
question_title
:
'xxxxx'
,
question_content
:
'这是一道单选题'
,
is_parent
:
1
,
is_parent
:
0
,
child_question_type
:
1
,
question_answer
:
'答案就是你猜呀'
,
question_answer
:
'答案就是你猜呀
111111
'
,
question_score
:
'3'
,
group_id
:
'0'
,
question_options
:
[
...
...
src/modules/paper/components/QuestionListItem.vue
浏览文件 @
f9bfe926
<
template
>
<div>
<el-card
style=
"margin-top: 32px"
:key=
"index"
>
<div
class=
"question_hd"
>
<div
class=
"question_hd_left"
>
<div
class=
"question_hd_left_type"
>
{{
item
[
0
].
question_options
}}
<input
type=
"checkbox"
v-model=
"checkboxValue"
:value=
"item"
@
change=
"slectSubItem(item)"
/>
{{
index
+
1
}}
、
{{
title
}}
<span
class=
"question_hd_left_title"
>
{{
item
[
0
].
question_content
}}
</span>
</div>
</div>
<div
class=
"question_hd_right"
>
分数 :
<el-input
:value=
"item.score"
></el-input></div>
<div
class=
"question_bd"
>
<span
class=
"question_hd_left_title"
v-if=
"item.is_parent === 0"
>
{{
item
.
question_content
}}
</span>
<!-- 单选判断 -->
<template
v-if=
"[1, 6].includes(item.question_type) || item.child_question_type === 1"
>
<div
v-for=
"(item, id) in item.question_options"
:key=
"id"
class=
"options"
>
<el-radio-group>
<el-radio
label=
"item.options"
class=
"question_bd_desc"
>
<span
class=
"question_bd_desc_item"
>
{{
item
.
options
}}
</span>
</el-radio>
</el-radio-group>
</div>
<div
class=
"question_bd"
>
<!-- 单选判断 -->
<template
v-if=
"item.tag === '1'"
>
<div
v-for=
"(item, id) in item[0].question_options"
:key=
"id"
class=
"options"
>
<el-radio-group>
<el-radio
label=
"item.option"
class=
"question_bd_desc"
>
<span
class=
"question_bd_desc_item"
>
{{
item
.
option
}}
</span>
</el-radio>
</el-radio-group>
</div>
</
template
>
<!-- 多选 -->
<
template
v-if=
"item.tag === '2'"
>
<div
class=
"question-option-item"
v-for=
"item in item.checkList"
:key=
"item.id"
>
<el-checkbox
label=
"item.id"
class=
"question_bd_desc"
><span
class=
"question_bd_desc_item"
>
{{
item
.
desc
}}
</span>
</el-checkbox>
</div>
</
template
>
<!-- 简答题 -->
<
template
v-if=
"item.tag === '3'"
>
<el-input
type=
"textarea"
class=
"question_bd_desc"
></el-input>
</
template
>
<div
v-if=
"item.is_parent === 0"
>
正确答案:
{{
item
.
question_answer
}}
</div>
</
template
>
<!-- 多选 -->
<
template
v-if=
"item.question_type === 2 || item.child_question_type === 2"
>
<div
class=
"question-option-item"
v-for=
"item in item.question_options"
:key=
"item.id"
>
<el-checkbox
label=
"item.id"
class=
"question_bd_desc"
><span
class=
"question_bd_desc_item"
>
{{
item
.
options
}}
</span>
</el-checkbox>
</div>
<div
style=
"margin-top: 10px"
class=
"question_ft"
>
正确答案:{{ item.answer }}
</div>
</el-card>
<div
v-if=
"item.is_parent === 0"
>
正确答案:
{{
item
.
question_answer
}}
</div>
</
template
>
<!-- 简答题 -->
<
template
v-if=
"item.question_type === 3 || item.child_question_type === 3"
>
<el-input
type=
"textarea"
></el-input>
<div
v-if=
"item.is_parent === 0"
>
正确答案:
{{
item
.
question_answer
}}
</div>
</
template
>
</div>
</template>
...
...
@@ -49,12 +37,7 @@ export default {
}
},
props
:
{
item
:
{
type
:
Object
},
title
:
{
type
:
String
}
item
:
{}
},
methods
:
{
handleScroll
(
key
)
{
...
...
src/modules/paper/components/QuestionListItems.vue
浏览文件 @
f9bfe926
<
template
>
<div>
<el-card
style=
"margin-top: 32px"
v-for=
"(item, index) in item.question_list"
:key=
"index"
:id=
"`page$
{index}`">
<!--
<div
style=
"margin-top: 32px"
v-for=
"(item, index) in questionList"
:key=
"index"
:id=
"`page$
{index}`"> -->
<div
style=
"margin-top: 32px"
>
<div
class=
"question_hd"
>
<div
class=
"question_hd_left"
>
<div
class=
"question_hd_left_type"
>
<input
type=
"checkbox"
v-model=
"checkboxValue"
:value=
"item"
@
change=
"slectSubItem(item)"
/>
{{
index
+
1
}}
、
{{
title
}}
<span
class=
"question_hd_left_title"
>
{{
item
[
0
].
question_content
}}
</span>
<input
type=
"checkbox"
v-model=
"checkboxValue"
:value=
"item"
@
change=
"slectSubItem(item)"
v-show=
"item.is_parent !== 0"
/>
<span
v-show=
"item.is_parent !== 0"
>
{{
questionType
(
item
)
}}
</span>
<div
class=
"question_hd_left_title"
v-if=
"item.is_parent !== 0"
>
{{
item
.
question_content
}}
</div>
</div>
</div>
<div
class=
"question_hd_right"
>
分数 :
<el-input
:value=
"item.question_score"
></el-input></div>
</div>
<div
class=
"question_bd"
>
<question-list-item
:item=
"item"
></question-list-item>
<question-list-item
:item=
"item"
></question-list-item>
<div
v-if=
"item.is_parent !== 0 && [1, 2, 3, 6].includes(item.question_type)"
style=
"margin-top: 10px"
class=
"question_ft"
>
正确答案:
{{
item
.
question_answer
}}
</div>
</
el-card
>
</
div
>
</div>
</
template
>
<
script
>
import
QuestionListItem
from
'./QuestionListItem.vue'
export
default
{
components
:
{
QuestionListItem
},
data
()
{
return
{
checkboxValue
:
false
}
},
props
:
{
item
:
{
type
:
Object
},
title
:
{
type
:
String
}
item
:
{},
questionList
:
[]
},
// computed: {
// // 试题类型
// questionType() {
// const questionType = this.questionList.map(item => item.question_type)
// return questionType
// }
// },
methods
:
{
// 试题类型
questionType
(
item
)
{
if
(
item
.
question_type
===
1
)
{
return
'单选题'
}
else
if
(
item
.
question_type
===
2
)
{
return
'多选题'
}
else
if
(
item
.
question_type
===
3
)
{
return
'问答题'
}
else
if
(
item
.
question_type
===
5
)
{
return
'案例题'
}
else
if
(
item
.
question_type
===
6
)
{
return
'判断题'
}
else
if
(
item
.
question_type
===
7
)
{
return
'实操题'
}
else
if
(
item
.
question_type
===
8
)
{
return
'情景题'
}
},
handleScroll
(
key
)
{
const
PageId
=
document
.
querySelector
(
'#page'
+
key
)
this
.
$emit
(
'handlePosition'
,
PageId
.
offsetTop
)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论