Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-qa
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-qa
Commits
a6cadadb
提交
a6cadadb
authored
2月 28, 2022
作者:
pengxiaohui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化批阅试卷接口
上级
a3edb6df
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
36 行增加
和
24 行删除
+36
-24
PaperQuestion.vue
src/modules/exam/components/PaperQuestion.vue
+11
-5
QuestionItem.vue
src/modules/exam/components/QuestionItem.vue
+11
-11
MarkingPaper.vue
src/modules/exam/views/MarkingPaper.vue
+10
-8
axios.js
src/utils/axios.js
+4
-0
没有找到文件。
src/modules/exam/components/PaperQuestion.vue
浏览文件 @
a6cadadb
<
template
>
<el-card
class=
"container"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
{{
options
.
question_item_title
}}
</span>
<span>
{{
questionItem
.
question_item_title
}}
</span>
</div>
<div
class=
"content"
>
<template
v-for=
"item in
options
.question_list"
>
<template
v-for=
"item in
questionItem
.question_list"
>
<div
class=
"sub-content"
v-if=
"item.group_id"
:key=
"item.id"
>
<div
class=
"title"
v-html=
"item.common_content"
></div>
<div
class=
"sub-container"
>
<question-item
v-for=
"subItem in item.list"
:key=
"subItem.id"
:question=
"
{item: subItem, question_item_id, questionType}" :question_item_id="question_item_id" />
<question-item
v-for=
"subItem in item.list"
:key=
"subItem.id"
:question=
"
{item: subItem, question_item_id, questionType
, sheet_id
}" :question_item_id="question_item_id" />
</div>
</div>
<question-item
v-else
:question=
"
{item, question_item_id, questionType}" :question_item_id="question_item_id" :key="item.id" />
<question-item
v-else
:question=
"
{item, question_item_id, questionType
, sheet_id
}" :question_item_id="question_item_id" :key="item.id" />
</
template
>
</div>
</el-card>
...
...
@@ -35,8 +35,14 @@ export default {
return
{}
},
computed
:
{
questionItem
()
{
return
this
.
options
.
item
},
sheet_id
()
{
return
this
.
options
.
sheet_id
},
questionType
()
{
return
this
.
options
.
question_item_type
return
this
.
options
.
item
.
question_item_type
},
// 选项类型
questionTypeText
()
{
...
...
src/modules/exam/components/QuestionItem.vue
浏览文件 @
a6cadadb
...
...
@@ -24,12 +24,12 @@
<div
class=
"comment-top"
>
<p>
本题
{{
questionData
.
score
}}
分
</p>
<div
class=
"get-score"
>
学生得分:
<el-input-number
v-model=
"questionData.get_score"
controls-position=
"right"
:min=
"0"
:max=
"questionData.score"
size=
"mini"
></el-input-number>
学生得分:
<el-input-number
:disabled=
"questionData.checked_flag"
v-model=
"questionData.get_score"
controls-position=
"right"
:min=
"0"
:max=
"questionData.score"
size=
"mini"
></el-input-number>
</div>
</div>
<el-input
type=
"textarea"
placeholder=
"请输入评语"
v-model=
"
comment"
rows=
"3"
/>
<el-input
type=
"textarea"
placeholder=
"请输入评语"
v-model=
"
questionData.comment"
rows=
"3"
:disabled=
"questionData.checked_flag"
/>
<div
style=
"text-align:center;padding-top:10px;"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"
handleComment"
>
提交点评
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"
fetchComment"
:disabled=
"questionData.checked_flag"
>
提交点评
</el-button>
</div>
</div>
</
template
>
...
...
@@ -63,8 +63,8 @@ export default {
const
type
=
this
.
questionData
.
type
||
this
.
question
.
questionType
||
1
return
parseInt
(
type
)
},
e
id
()
{
return
this
.
$route
.
query
.
e
id
sheet_
id
()
{
return
this
.
question
.
sheet_
id
}
// // 选项类型
// questionTypeText() {
...
...
@@ -74,24 +74,24 @@ export default {
},
created
()
{
this
.
questionData
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
question
.
item
))
console
.
log
(
this
.
question
)
// if (this.questionType === 3) console.log(this.questionData
)
},
methods
:
{
handleComment
()
{
console
.
log
(
this
.
question_item_id
)
console
.
log
(
this
.
questionData
)
//
console.log(this.question_item_id)
//
console.log(this.questionData)
this
.
fetchComment
()
},
fetchComment
()
{
const
params
=
{
sheet_id
:
this
.
e
id
,
sheet_id
:
this
.
sheet_
id
,
question_item_id
:
this
.
question_item_id
,
question_id
:
this
.
questionData
.
id
,
score
:
this
.
questionData
.
get_score
,
comment
:
this
.
comment
comment
:
this
.
questionData
.
comment
}
submitPaper
(
params
).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
if
(
res
.
success
)
{
this
.
$message
.
success
(
'提交点评成功'
)
}
else
{
this
.
$message
.
success
(
'提交点评失败'
)
...
...
src/modules/exam/views/MarkingPaper.vue
浏览文件 @
a6cadadb
<
template
>
<div>
<template
v-for=
"item in questionList"
>
<paper-question
:options=
"
item
"
:question_item_id=
"item.question_item_id"
:key=
"item.question_item_id"
/>
<paper-question
:options=
"
{ item, sheet_id: questionData.sheet_id, question_item_id: item.question_item_id }
" :question_item_id="item.question_item_id" :key="item.question_item_id" />
</
template
>
</div>
</template>
...
...
@@ -319,7 +319,7 @@ export default {
getDetail
()
{
getPaperDetails
({
exam_id
:
this
.
eid
,
student_id
:
this
.
sid
}).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
console
.
log
(
res
.
data
)
//
console.log(res.data)
this
.
questionData
=
res
.
data
.
sheet
this
.
assembleData
()
}
...
...
@@ -333,16 +333,18 @@ export default {
if
(
subItem
.
group_id
)
{
subItem
.
list
.
forEach
(
it
=>
{
const
obj
=
score
[
it
.
id
]
it
.
get_score
=
0
it
.
get_score
=
obj
.
score
if
(
it
.
answer
)
it
.
answer
=
JSON
.
parse
(
it
.
answer
)
it
.
get_score
=
obj
.
score
||
0
it
.
checked_flag
=
obj
.
checked_flag
||
false
if
(
obj
.
comment
)
it
.
comment
=
obj
.
comment
// if (it.answer) it.answer = JSON.parse(it.answer)
if
(
it
.
options
)
it
.
options
=
JSON
.
parse
(
it
.
options
)
})
}
else
{
const
obj
=
score
[
subItem
.
id
]
subItem
.
get_score
=
0
subItem
.
get_score
=
obj
.
score
if
(
subItem
.
answer
)
subItem
.
answer
=
JSON
.
parse
(
subItem
.
answer
)
subItem
.
get_score
=
obj
.
score
||
0
subItem
.
checked_flag
=
obj
.
checked_flag
||
false
if
(
obj
.
comment
)
subItem
.
comment
=
obj
.
comment
// if (subItem.answer) subItem.answer = JSON.parse(subItem.answer)
if
(
subItem
.
options
)
subItem
.
options
=
JSON
.
parse
(
subItem
.
options
)
}
})
...
...
src/utils/axios.js
浏览文件 @
a6cadadb
...
...
@@ -53,6 +53,10 @@ httpRequest.interceptors.response.use(
if
(
data
.
code
===
0
||
data
.
type
===
'application/vnd.ms-excel'
)
{
return
data
}
// 批阅试卷接口
if
(
data
.
success
&&
data
.
message
===
'ok'
)
{
return
data
}
// 未登录
if
(
data
.
code
===
4001
)
{
window
.
location
.
href
=
`
${
import
.
meta
.
env
.
VITE_LOGIN_URL
}
?rd=
${
encodeURIComponent
(
window
.
location
.
href
)}
`
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论