Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
confucius
Commits
2b341eb2
Commit
2b341eb2
authored
Sep 08, 2021
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
parents
9c9acc58
24347693
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
118 additions
and
56 deletions
+118
-56
questionconfig.js
src/api/question/questionconfig.js
+4
-5
exampaperlist.vue
src/components/exam/exampaperlist.vue
+20
-14
v-cloze.vue
src/components/questiontype/v-cloze.vue
+6
-1
v-readingcomprehensio.vue
src/components/questiontype/v-readingcomprehensio.vue
+7
-1
examtest.vue
src/pages/exam/examtest.vue
+38
-15
examtestinfo.vue
src/pages/exam/examtestinfo.vue
+4
-3
examtestreview.vue
src/pages/exam/examtestreview.vue
+37
-15
paperInfo.vue
src/pages/exam/paperInfo.vue
+2
-2
No files found.
src/api/question/questionconfig.js
View file @
2b341eb2
...
...
@@ -330,7 +330,6 @@ export function sortingproblemValidate(gName, detailsList) {
*【完型填空】验证
*/
export
function
clozeValidate
(
gName
,
detailsList
)
{
console
.
log
(
"detailsList"
,
detailsList
);
var
message
=
""
;
if
(
detailsList
&&
detailsList
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
detailsList
.
length
;
i
++
)
{
...
...
@@ -590,13 +589,13 @@ export function questionBankClozeValidate(gName, AnswerList, qObj) {
if
(
AnswerList
&&
AnswerList
.
length
>
0
)
{
for
(
let
j
=
0
;
j
<
AnswerList
.
length
;
j
++
)
{
var
Num
=
0
;
for
(
var
k
=
0
;
k
<
AnswerList
[
j
].
length
;
k
++
)
{
if
(
AnswerList
[
j
][
k
].
Content
==
''
)
{
for
(
var
k
=
0
;
k
<
AnswerList
[
j
].
OptionList
.
length
;
k
++
)
{
if
(
AnswerList
[
j
]
.
OptionList
[
k
].
Content
==
''
)
{
message
=
`请填写【
${
gName
}
】第
${
j
+
1
}
小题 选项
${
AnswerList
[
j
][
k
].
Name
}
内容!`
;
`请填写【
${
gName
}
】第
${
j
+
1
}
小题 选项
${
AnswerList
[
j
]
.
OptionList
[
k
].
Name
}
内容!`
;
return
message
;
}
if
(
AnswerList
[
j
][
k
].
IsAnswer
)
{
if
(
AnswerList
[
j
]
.
OptionList
[
k
].
IsAnswer
)
{
Num
++
}
}
...
...
src/components/exam/exampaperlist.vue
View file @
2b341eb2
...
...
@@ -2,12 +2,15 @@
.examForm
.q-table__bottom
{
min-height
:
10px
;
}
.examForm
.isOpen_Type
{
.examForm
.isOpen_Type
{
color
:
var
(
--q-color-primary
);
}
.examForm
.q-breadcrumbs__el
{
.examForm
.q-breadcrumbs__el
{
cursor
:
pointer
;
}
</
style
>
<
template
>
<div
class=
"page-content examForm"
>
...
...
@@ -20,8 +23,8 @@
<div
v-if=
"navList&&navList.length>0"
style=
"margin-right:20px;"
>
<q-breadcrumbs>
<q-breadcrumbs-el
label=
"全部"
@
click=
"getPaperChild(0)"
/>
<q-breadcrumbs-el
:label=
"item.PaperName"
:class=
"
{'lastExam':index==navList.length-1}"
@click="getPaperChild(item.PaperId)" v-for="(item,index) in navList" :key="index" />
<q-breadcrumbs-el
:label=
"item.PaperName"
:class=
"
{'lastExam':index==navList.length-1}"
@click="getPaperChild(item.PaperId)" v-for="(item,index) in navList" :key="index" />
</q-breadcrumbs>
</div>
<div>
...
...
@@ -104,12 +107,7 @@
<
template
v-slot:body-cell-ExamineStatusStr=
"props"
>
<q-td
:props=
"props"
>
<template
v-if=
"props.row.ExamineStatus==4"
>
<el-popover
placement=
"bottom"
title=
"驳回原因"
width=
"350"
trigger=
"hover"
:content=
'props.row.ExamineRemark'
>
<el-popover
placement=
"bottom"
title=
"驳回原因"
width=
"350"
trigger=
"hover"
:content=
'props.row.ExamineRemark'
>
<span
slot=
"reference"
>
{{
props
.
row
.
ExamineStatusStr
}}
</span>
</el-popover>
</
template
>
...
...
@@ -125,10 +123,10 @@
v-if=
"currentUserInfo.Id==props.row.CreateBy"
/>
</
template
>
<
template
v-if=
"props.row.PaperType==2"
>
<q-btn
flat
size=
"xs"
color=
"primary"
icon=
"edit"
style=
"font-weight:400"
@
click=
"goExameEdit(props.row)"
label=
"编辑"
/>
<q-btn
flat
size=
"xs"
color=
"primary"
icon=
"iconfont icon-View"
style=
"font-weight:400"
@
click=
"showPaperInfo(props.row)"
label=
"详情"
/>
<q-btn
flat
size=
"xs"
color=
"primary"
icon=
"edit"
style=
"font-weight:400"
v-if=
"isEdit(props.row)"
@
click=
"goExameEdit(props.row)"
label=
"编辑"
/>
<q-btn
flat
size=
"xs"
color=
"primary"
icon=
"iconfont icon-View"
style=
"font-weight:400"
@
click=
"showPaperInfo(props.row)"
label=
"详情"
/>
</
template
>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left: 10px"
>
<q-list>
...
...
@@ -314,6 +312,14 @@
}
},
methods
:
{
//是否可修改
isEdit
(
item
)
{
if
(
this
.
currentUserInfo
.
Id
==
1
)
{
return
true
;
}
return
this
.
currentUserInfo
.
Id
==
item
.
CreateBy
&&
(
item
.
ExamineStatus
==
0
||
item
.
ExamineStatus
==
3
||
item
.
ExamineStatus
==
4
)
},
//提交审核,重新提交审核
submitAudit
(
item
)
{
submitApproval
({
...
...
src/components/questiontype/v-cloze.vue
View file @
2b341eb2
...
...
@@ -38,7 +38,7 @@
<th
colspan=
"2"
>
<div
class=
"clozeTest_question_tit"
>
<div>
第
{{
index
+
1
}}
小题
(
{{
item
.
SubScore
}}
分)
第
{{
index
+
1
}}
小题
<template
v-if=
"isShowScore"
>
(
{{
item
.
SubScore
}}
分)
</
template
>
</div>
</div>
</th>
...
...
@@ -112,6 +112,11 @@
isShowStudentAnswer
:
{
type
:
Boolean
,
default
:
false
},
//是否显示小题分数
isShowScore
:
{
type
:
Boolean
,
default
:
false
,
}
},
data
()
{
...
...
src/components/questiontype/v-readingcomprehensio.vue
View file @
2b341eb2
...
...
@@ -34,7 +34,8 @@
<th
colspan=
"2"
style=
"text-align:left;"
>
<div
class=
"clozeTest_question_tit"
>
<div>
第
{{
index
+
1
}}
小题
<span
style=
"color:#A8A8B3;"
>
(
{{
item
.
QuestionName
}}
)
</span>
(
{{
item
.
SubScore
}}
分)
第
{{
index
+
1
}}
小题
<span
style=
"color:#A8A8B3;"
>
(
{{
item
.
QuestionName
}}
)
</span><template
v-if=
"isShowScore"
>
(
{{
item
.
SubScore
}}
分)
</
template
>
</div>
<div>
</div>
...
...
@@ -211,6 +212,11 @@
isShowStudentAnswer
:
{
type
:
Boolean
,
default
:
false
},
//是否显示小题分数
isShowScore
:
{
type
:
Boolean
,
default
:
false
,
}
},
data
()
{
...
...
src/pages/exam/examtest.vue
View file @
2b341eb2
...
...
@@ -304,12 +304,13 @@
<!--完型填空-->
<v-cloze
v-if=
"dItem.QuestionTypeKey=='cloze'"
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
:isOperate=
"isOperate"
>
>
</v-cloze>
:isOperate=
"isOperate"
:isShowScore=
"isShowScore"
></v-cloze>
<!--阅读理解、听力题-->
<v-readingcomprehensio
v-if=
"dItem.QuestionTypeKey=='reading-comprehensio'||dItem.QuestionTypeKey=='listening'"
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
:isOperate=
"isOperate"
></v-readingcomprehensio>
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
:isOperate=
"isOperate"
:isShowScore=
"isShowScore"
>
</v-readingcomprehensio>
<!--共用选择题-->
<v-sharingchoose
v-if=
"dItem.QuestionTypeKey=='sharing-choose'"
:questionObj=
"dItem"
...
...
@@ -375,6 +376,7 @@
PaperConfig
:
{},
//试卷配置
isShowAnswer
:
false
,
//是否显示答案
isOperate
:
true
,
//是否可操作
isShowScore
:
true
,
//是否显示完型填空、阅读理解、听力,小题分数
examScore
:
0
,
//总分,
examNum
:
0
,
//总题量
}
...
...
@@ -461,23 +463,44 @@
},
//返回
goBack
()
{
var
qMsg
=
{
Id
:
this
.
msg
.
PublishId
};
this
.
$router
.
push
({
path
:
'/exam/examlist'
})
path
:
'/exam/examineeManager'
,
query
:
qMsg
});
},
//学生提交考试
submitExamPaper
()
{
stuSubmitExamPaper
(
this
.
DataObj
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'操作成功!'
,
position
:
'top'
})
this
.
GetPaperInfo
();
}
var
that
=
this
;
var
message
=
"是否要提交考试?提交后将不能修改!"
;
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
message
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
stuSubmitExamPaper
(
that
.
DataObj
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
that
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'提交考试成功!请等候老师阅卷...'
,
position
:
'top'
});
var
qMsg
=
{
Id
:
that
.
msg
.
PublishId
};
that
.
$router
.
push
({
path
:
'/exam/examineeManager'
,
query
:
qMsg
});
}
})
})
}
}
...
...
src/pages/exam/examtestinfo.vue
View file @
2b341eb2
...
...
@@ -316,13 +316,13 @@
<!--完型填空-->
<v-cloze
v-if=
"dItem.QuestionTypeKey=='cloze'"
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
:isShowStudentAnswer=
"isShowStudentAnswer"
@
getScore=
"calcPaper"
></v-cloze>
:isShowStudentAnswer=
"isShowStudentAnswer"
@
getScore=
"calcPaper"
:isShowScore=
"isShowScore"
></v-cloze>
<!--阅读理解、听力题-->
<v-readingcomprehensio
v-if=
"dItem.QuestionTypeKey=='reading-comprehensio'||dItem.QuestionTypeKey=='listening'"
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
:isShowStudentAnswer=
"isShowStudentAnswer"
@
getScore=
"calcPaper"
>
@
getScore=
"calcPaper"
:isShowScore=
"isShowScore"
>
</v-readingcomprehensio>
<!--共用选择题-->
...
...
@@ -390,7 +390,8 @@
},
PaperConfig
:
{},
//试卷配置
isShowAnswer
:
true
,
//是否显示答案
isShowStudentAnswer
:
true
,
//是否显示学生答案
isShowStudentAnswer
:
true
,
//是否显示学生答案,
isShowScore
:
true
,
//是否显示完型填空、阅读理解、听力,小题分数
studentScore
:
0
,
//学生总得分
examScore
:
0
,
//总分,
examNum
:
0
,
//总题量
...
...
src/pages/exam/examtestreview.vue
View file @
2b341eb2
...
...
@@ -316,13 +316,13 @@
<!--完型填空-->
<v-cloze
v-if=
"dItem.QuestionTypeKey=='cloze'"
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
:isShowStudentAnswer=
"isShowStudentAnswer"
@
getScore=
"calcPaper"
></v-cloze>
:isShowStudentAnswer=
"isShowStudentAnswer"
@
getScore=
"calcPaper"
:isShowScore=
"isShowScore"
></v-cloze>
<!--阅读理解、听力题-->
<v-readingcomprehensio
v-if=
"dItem.QuestionTypeKey=='reading-comprehensio'||dItem.QuestionTypeKey=='listening'"
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
:isShowStudentAnswer=
"isShowStudentAnswer"
@
getScore=
"calcPaper"
>
@
getScore=
"calcPaper"
:isShowScore=
"isShowScore"
>
</v-readingcomprehensio>
<!--共用选择题-->
...
...
@@ -391,6 +391,7 @@
PaperConfig
:
{},
//试卷配置
isShowAnswer
:
true
,
//是否显示答案
isShowStudentAnswer
:
true
,
//是否显示学生答案
isShowScore
:
true
,
//是否显示完型填空、阅读理解、听力,小题分数
studentScore
:
0
,
//学生总得分
examScore
:
0
,
//总分,
examNum
:
0
,
//总题量
...
...
@@ -480,23 +481,44 @@
},
//返回
goBack
()
{
var
qMsg
=
{
Id
:
this
.
msg
.
PublishId
};
this
.
$router
.
push
({
path
:
'/exam/examlist'
})
path
:
'/exam/examineeManager'
,
query
:
qMsg
});
},
//老师提交阅卷
submitTeacherScoring
()
{
saveTeacherScoring
(
this
.
DataObj
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'操作成功!'
,
position
:
'top'
})
this
.
GetPaperInfo
();
}
var
that
=
this
;
var
message
=
"是否要提交阅卷?提交后将不能修改!"
;
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
message
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
saveTeacherScoring
(
that
.
DataObj
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'阅卷成功!'
,
position
:
'top'
})
var
qMsg
=
{
Id
:
that
.
msg
.
PublishId
};
that
.
$router
.
push
({
path
:
'/exam/examineeManager'
,
query
:
qMsg
});
}
})
})
}
}
...
...
src/pages/exam/paperInfo.vue
View file @
2b341eb2
...
...
@@ -300,12 +300,12 @@
:isShowAnswer=
"isShowAnswer"
></v-sortingproblem>
<!--完型填空-->
<v-cloze
v-if=
"dItem.QuestionTypeKey=='cloze'"
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
></v-cloze>
<v-cloze
v-if=
"dItem.QuestionTypeKey=='cloze'"
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
:isShowScore=
"true"
></v-cloze>
<!--阅读理解、听力题-->
<v-readingcomprehensio
v-if=
"dItem.QuestionTypeKey=='reading-comprehensio'||dItem.QuestionTypeKey=='listening'"
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
></v-readingcomprehensio>
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
:isShowScore=
"true"
></v-readingcomprehensio>
<!--共用选择题-->
<v-sharingchoose
v-if=
"dItem.QuestionTypeKey=='sharing-choose'"
:questionObj=
"dItem"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment