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
77e3fb8e
Commit
77e3fb8e
authored
Sep 18, 2021
by
Mac
Browse files
Options
Browse Files
Download
Plain Diff
1
parents
f3135500
1b0a3703
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1176 additions
and
899 deletions
+1176
-899
question.js
src/api/question/question.js
+15
-3
exampaperlist.vue
src/components/exam/exampaperlist.vue
+3
-3
exampublishlist.vue
src/components/exam/exampublishlist.vue
+2
-1
examtemplate-form.vue
src/components/exam/examtemplate-form.vue
+6
-0
v-cloze.vue
src/components/questiontype/v-cloze.vue
+13
-2
v-fillin.vue
src/components/questiontype/v-fillin.vue
+5
-5
v-judge.vue
src/components/questiontype/v-judge.vue
+11
-5
v-matching.vue
src/components/questiontype/v-matching.vue
+9
-8
v-multiple.vue
src/components/questiontype/v-multiple.vue
+18
-8
v-readingcomprehensio.vue
src/components/questiontype/v-readingcomprehensio.vue
+4
-3
v-sharingchoose.vue
src/components/questiontype/v-sharingchoose.vue
+20
-13
v-shortanswer.vue
src/components/questiontype/v-shortanswer.vue
+3
-3
v-single.vue
src/components/questiontype/v-single.vue
+10
-6
v-sortingproblem.vue
src/components/questiontype/v-sortingproblem.vue
+8
-6
addPhase.vue
src/pages/enterprise/customer/CSChild/addPhase.vue
+110
-131
addfield.vue
...pages/enterprise/customer/CSChild/components/addfield.vue
+290
-290
stageManagement.vue
src/pages/enterprise/customer/CSChild/stageManagement.vue
+255
-241
examtest.vue
src/pages/exam/examtest.vue
+14
-9
examtestinfo.vue
src/pages/exam/examtestinfo.vue
+16
-8
examtestreview.vue
src/pages/exam/examtestreview.vue
+14
-9
paperCreate.vue
src/pages/exam/paperCreate.vue
+210
-108
paperEdit.vue
src/pages/exam/paperEdit.vue
+140
-37
No files found.
src/api/question/question.js
View file @
77e3fb8e
...
...
@@ -243,12 +243,24 @@ export function saveBatchQuestionLevel(data) {
}
/**
* 根据题库编号获取题库题型
分类列表
【试卷组卷使用】
* 根据题库编号获取题库题型
列表(单选题、多选题、等)
【试卷组卷使用】
* @param {*} data
*/
export
function
queryQuestion
Category
List
(
data
)
{
export
function
queryQuestion
TypeStatic
List
(
data
)
{
return
request
({
url
:
'/Question/GetQuestionCategoryList'
,
url
:
'/Question/GetQuestionTypeStaticList'
,
method
:
'post'
,
data
})
}
/**
* 根据题库编号获取题库题型分类列表(读音选择题、汉字选择题等)【试卷组卷使用】
* @param {*} data
*/
export
function
queryQuestionCategoryStaticList
(
data
)
{
return
request
({
url
:
'/Question/GetQuestionCategoryStaticList'
,
method
:
'post'
,
data
})
...
...
src/components/exam/exampaperlist.vue
View file @
77e3fb8e
...
...
@@ -314,9 +314,9 @@
methods
:
{
//是否可修改
isEdit
(
item
)
{
//
if (this.currentUserInfo.Id == 1) {
//
return true;
//
}
if
(
this
.
currentUserInfo
.
Id
==
1
)
{
return
true
;
}
return
this
.
currentUserInfo
.
Id
==
item
.
CreateBy
&&
(
item
.
ExamineStatus
==
0
||
item
.
ExamineStatus
==
3
||
item
.
ExamineStatus
==
4
)
},
...
...
src/components/exam/exampublishlist.vue
View file @
77e3fb8e
...
...
@@ -20,7 +20,8 @@
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<q-btn
flat
size=
"xs"
v-if=
"props.row.IsEdit==1"
color=
"accent"
style=
"font-weight: 400"
label=
"修改"
@
click=
"publishExam(props.row)"
/>
<!--v-if="props.row.IsEdit==1"-->
<q-btn
flat
size=
"xs"
color=
"accent"
style=
"font-weight: 400"
label=
"修改"
@
click=
"publishExam(props.row)"
/>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left: 10px"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"submitExamAudit(props.row)"
...
...
src/components/exam/examtemplate-form.vue
View file @
77e3fb8e
...
...
@@ -69,6 +69,12 @@
label
:
'模板名称'
,
field
:
'TemplateName'
,
align
:
'left'
,
},
{
name
:
'GroupTypeName'
,
label
:
'组卷类型'
,
field
:
'GroupTypeName'
,
align
:
'left'
,
},
{
name
:
'TemplateScore'
,
...
...
src/components/questiontype/v-cloze.vue
View file @
77e3fb8e
...
...
@@ -37,7 +37,18 @@
.vClozeQuestionBold
{
font-weight
:
bold
;
}
.chooseOptionList
:before
{
content
:
"-"
;
display
:
block
;
line-height
:
1.5em
;
color
:
transparent
;
}
.chooseOptionList
:after
{
content
:
"-"
;
display
:
block
;
line-height
:
1em
;
color
:
transparent
;
}
</
style
>
<
template
>
<div
class=
"vClozeQuestion"
>
...
...
@@ -54,7 +65,7 @@
</thead>
<tbody
class=
"chooseOptionList"
>
<tr
v-for=
"(subItem,subIndex) in item.OptionList"
:key=
"subIndex"
>
<td
style=
"width:40px;text-align:center;"
>
<td
style=
"width:40px;text-align:center;
height:50px;
"
>
<
template
v-if=
"isOperate"
>
<div
class=
"Answer_List"
@
click=
"ChangeItem(item,subItem)"
:class=
"
{'Is_Answer':subItem.IsAnswer}">
{{
subItem
.
Name
}}
...
...
src/components/questiontype/v-fillin.vue
View file @
77e3fb8e
...
...
@@ -48,15 +48,15 @@
<td
colspan=
"2"
><span
v-if=
"data&&data.IsMutex==1"
style=
"font-size:13px;"
>
答案顺序打乱也判正确
</span></td>
</tr>
<tr>
<td
colspan=
"2"
>
1. 一个空有多种答案时请用";"隔开。如:水;H2O
</td>
<td
colspan=
"2"
style=
"height:40px;"
>
1. 一个空有多种答案时请用";"隔开。如:水;H2O
</td>
</tr>
<tr>
<td
colspan=
"2"
>
2. 若试题答案是数字,可设置范围,两个数字之间用"-"。如:1-9,学生填写1到9之间的数字都算正确(包括1和9)
</td>
<td
colspan=
"2"
style=
"height:40px;"
>
2. 若试题答案是数字,可设置范围,两个数字之间用"-"。如:1-9,学生填写1到9之间的数字都算正确(包括1和9)
</td>
</tr>
</tbody>
<tfoot
v-if=
"isShowAnswer"
>
<tr
v-if=
"isShowStudentAnswer"
>
<td
class=
"v_fillInBold"
>
<td
class=
"v_fillInBold"
style=
"height:40px;"
>
考生答案
</td>
<td>
...
...
@@ -73,8 +73,8 @@
</tr>
</
template
>
<tr
v-if=
"isShowStudentAnswer"
>
<td
colspan=
"2"
>
<q-input
v-if=
"isEditStudentScore"
standout=
"bg-primary text-white
"
v-model=
"data.StudentScore"
label=
"得分:"
<td
colspan=
"2"
style=
"height:70px;"
>
<q-input
v-if=
"isEditStudentScore"
filled
style=
"width:180px;
"
v-model=
"data.StudentScore"
label=
"得分:"
maxlength=
"20"
@
input=
"getQuestionScore"
/>
<span
v-else
class=
"v_fillInBold"
>
考生得分:{{data.StudentScore}}
</span>
</td>
...
...
src/components/questiontype/v-judge.vue
View file @
77e3fb8e
...
...
@@ -7,11 +7,17 @@
.v_judgeQuestionBold
{
font-weight
:
bold
}
.v_judgeTable
tfoot
:before
{
content
:
"-"
;
display
:
block
;
line-height
:
1em
;
color
:
transparent
;
}
</
style
>
<
template
>
<div
class=
"v_judgeQuestion"
>
<table
v-if=
"data&&data.QuestionContentObj&&data.QuestionContentObj.length>0"
class=
"common_TiTable"
>
<table
v-if=
"data&&data.QuestionContentObj&&data.QuestionContentObj.length>0"
class=
"common_TiTable
judgeTable
"
>
<tbody
v-for=
"(item,index) in data.QuestionContentObj"
:key=
"index"
>
<tr>
<td
style=
"width:50px;text-align:center;"
>
...
...
@@ -34,15 +40,15 @@
</tbody>
<tfoot
v-if=
"isShowAnswer"
>
<tr>
<td
colspan=
"2"
class=
"v_judgeQuestionBold"
>
正确答案:{{data.Answer}}
</td>
<td
colspan=
"2"
style=
"height:40px;"
class=
"v_judgeQuestionBold"
>
正确答案:{{data.Answer}}
</td>
</tr>
<tr
v-if=
"isShowStudentAnswer"
>
<td
colspan=
"2"
class=
"v_judgeQuestionBold"
:style=
"{color:data.Answer ==data.StundetAnswer?'#67c23a':'red'}"
>
<td
colspan=
"2"
class=
"v_judgeQuestionBold"
style=
"height:40px;"
:style=
"{color:data.Answer ==data.StundetAnswer?'#67c23a':'red'}"
>
考生答案:{{data.StundetAnswer}}
</td>
</tr>
<tr
v-if=
"isShowStudentAnswer"
>
<td
colspan=
"2"
>
<q-input
v-if=
"isEditStudentScore"
standout=
"bg-primary text-white
"
v-model=
"data.StudentScore"
label=
"得分:"
<td
colspan=
"2"
style=
"height:70px;"
>
<q-input
v-if=
"isEditStudentScore"
filled
style=
"width:180px
"
v-model=
"data.StudentScore"
label=
"得分:"
maxlength=
"20"
@
input=
"getQuestionScore"
/>
<span
v-else
class=
"v_judgeQuestionBold"
>
考生得分:{{data.StudentScore}}
</span>
</td>
...
...
src/components/questiontype/v-matching.vue
View file @
77e3fb8e
...
...
@@ -23,11 +23,10 @@
.v_matchingQuestionBold
{
font-weight
:
bold
;
}
</
style
>
<
template
>
<div
class=
"v_matchingQuestion"
>
<table
v-if=
"data&&data.QuestionContentObj&&data.QuestionContentObj.length>0"
class=
"common_TiTable"
>
<table
v-if=
"data&&data.QuestionContentObj&&data.QuestionContentObj.length>0"
class=
"common_TiTable"
style=
"width:360px;"
>
<thead>
<tr>
<th
colspan=
"2"
>
第一组
</th>
...
...
@@ -58,12 +57,14 @@
<span
class=
"line_center"
></span>
</td>
<td>
<select
v-model=
"data.QuestionContentObj[2][index].Content"
class=
"selectBox2"
>
<template
v-for=
"(cItem,cIndex) in data.QuestionContentObj[1]"
>
<option
:key=
"cIndex"
:label=
"cItem.Name"
:value=
"cItem.Name"
>
</option>
</
template
>
</select>
<el-select
v-model=
"data.QuestionContentObj[2][index].Content"
style=
"width:100px"
size=
"small"
placeholder=
"请选择"
>
<el-option
v-for=
"(cItem,cIndex) in data.QuestionContentObj[1]"
:key=
"cIndex"
:label=
"cItem.Name"
:value=
"cItem.Name"
>
</el-option>
</el-select>
</td>
</tr>
</table>
...
...
src/components/questiontype/v-multiple.vue
View file @
77e3fb8e
...
...
@@ -6,12 +6,19 @@
.v_multipleQuestionBold
{
font-weight
:
bold
;
height
:
40px
;
}
.mutiTable
tfoot
:before
{
content
:
"-"
;
display
:
block
;
line-height
:
1em
;
color
:
transparent
;
}
</
style
>
<
template
>
<div
class=
"v_multipleQuestion"
>
<table
v-if=
"data&&data.QuestionContentObj&&data.QuestionContentObj.length>0"
class=
"common_TiTable"
>
<table
v-if=
"data&&data.QuestionContentObj&&data.QuestionContentObj.length>0"
class=
"common_TiTable
mutiTable
"
>
<tbody
v-for=
"(item,index) in data.QuestionContentObj"
:key=
"index"
>
<tr>
<td
style=
"width:40px;text-align:center;"
>
...
...
@@ -27,7 +34,7 @@
</div>
</
template
>
</td>
<td>
<td
style=
"height:40px;"
>
<div
class=
"InpDIV"
style=
"border:0;"
v-html=
"item.Content"
></div>
</td>
</tr>
...
...
@@ -41,18 +48,21 @@
:style=
"{color:data.Answer ==data.StundetAnswer?'#67c23a':'red'}"
>
考生答案:{{data.StundetAnswer}}
</td>
</tr>
<tr
v-if=
"isShowStudentAnswer"
>
<td
colspan=
"2"
>
<q-input
v-if=
"isEditStudentScore"
st
andout=
"bg-primary text-white"
v-model=
"data.StudentScore"
label=
"得分:"
<td
colspan=
"2"
style=
"height:70px;"
>
<q-input
v-if=
"isEditStudentScore"
st
yle=
"width:180px;"
filled
v-model=
"data.StudentScore"
label=
"得分:"
maxlength=
"20"
@
input=
"getQuestionScore"
/>
<span
v-else
class=
"v_multipleQuestionBold"
>
考生得分:{{data.StudentScore}}
</span>
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<span
class=
"v_multipleQuestionBold"
>
解析:
</span>
<span
v-html=
"data.AnswerParse"
></span></td>
<div
style=
"display:flex;"
>
<span
class=
"v_multipleQuestionBold"
>
解析:
</span>
<span
v-html=
"data.AnswerParse"
></span>
</div>
</td>
</tr>
</tfoot>
</table>
...
...
src/components/questiontype/v-readingcomprehensio.vue
View file @
77e3fb8e
...
...
@@ -26,6 +26,7 @@
.v_readingComprehensioQuestionBold
{
font-weight
:
bold
;
height
:
40px
;
}
</
style
>
...
...
@@ -164,17 +165,17 @@
</tr>
</
template
>
<tr
v-if=
"isShowAnswer"
>
<td
colspan=
"2"
class=
"v_readingComprehensioQuestionBold"
>
<td
colspan=
"2"
style=
"height:40px"
class=
"v_readingComprehensioQuestionBold"
>
答案: {{data.QuestionAnswerList[index].SubAnswer}}
</td>
</tr>
<tr
v-if=
"isShowStudentAnswer"
>
<td
colspan=
"2"
class=
"v_readingComprehensioQuestionBold"
:style=
"{color:data.QuestionAnswerList[index].SubAnswer ==data.AnswerList[index].SubAnswer?'#67c23a':'red'}"
>
<td
colspan=
"2"
style=
"height:40px"
class=
"v_readingComprehensioQuestionBold"
:style=
"{color:data.QuestionAnswerList[index].SubAnswer ==data.AnswerList[index].SubAnswer?'#67c23a':'red'}"
>
学生答案: {{data.AnswerList[index].SubAnswer}}
</td>
</tr>
<tr
v-if=
"isShowStudentAnswer"
>
<td
colspan=
"2"
>
<td
colspan=
"2"
style=
"height:40px"
>
<q-input
v-if=
"isEditStudentScore"
standout=
"bg-primary text-white"
v-model=
"data.AnswerList[index].StudentScore"
label=
"得分:"
maxlength=
"20"
@
input=
"getQuestionScore"
/>
<span
v-else
class=
"v_readingComprehensioQuestionBold"
>
考生得分:{{data.AnswerList[index].StudentScore}}
</span>
...
...
src/components/questiontype/v-sharingchoose.vue
View file @
77e3fb8e
...
...
@@ -14,11 +14,16 @@
.v_sharingChooseQuestionBold
{
font-weight
:
bold
;
}
.shareChooseTable
td
{
vertical-align
:
middle
!important
;
}
.shareChooseTable
td
p
{
margin
:
0
!important
;
}
</
style
>
<
template
>
<div
class=
"v_sharingChooseQuestion"
>
<table
v-if=
"data.QuestionContentObj&&data.QuestionContentObj.length>0"
class=
"common_TiTable"
>
<table
v-if=
"data.QuestionContentObj&&data.QuestionContentObj.length>0"
class=
"common_TiTable
shareChooseTable
"
>
<thead>
<tr>
<th
colspan=
"2"
style=
"text-align:left;"
>
...
...
@@ -29,7 +34,7 @@
</tr>
</thead>
<tr
v-for=
"(item,index) in data.QuestionContentObj[0]"
:key=
"index"
>
<td
style=
"width:40px;text-align:center; "
>
<td
style=
"width:40px;text-align:center;
height:40px;
"
>
{{item.Name}}
</td>
<td>
...
...
@@ -37,10 +42,10 @@
</td>
</tr>
</table>
<table
v-if=
"data.QuestionContentObj&&data.QuestionContentObj.length>0"
class=
"common_TiTable"
>
<table
v-if=
"data.QuestionContentObj&&data.QuestionContentObj.length>0"
class=
"common_TiTable
shareChooseTable
"
>
<tbody
v-for=
"(item,index) in data.QuestionContentObj[1]"
:key=
"index"
>
<tr>
<td
style=
"width:40px;text-align:center;"
>
<td
style=
"width:40px;text-align:center;
height:40px;
"
>
({{index+1}})
</td>
<td>
...
...
@@ -55,25 +60,27 @@
答案:
{{
data
.
QuestionContentObj
[
1
][
index
].
Name
}}
</
template
>
<
template
v-if=
"isOperate"
>
<select
v-model=
"item.Name"
class=
"selectBox"
style=
"margin:10px 0 0 0;outline:none;"
>
<template
v-for=
"(cItem,cIndex) in data.QuestionContentObj[0]"
>
<option
:key=
"cIndex"
:label=
"cItem.Name"
:value=
"cItem.Name"
>
</option>
</
template
>
</select>
<el-select
v-model=
"item.Name"
style=
"width:100px"
size=
"small"
placeholder=
"请选择"
>
<el-option
v-for=
"(cItem,cIndex) in data.QuestionContentObj[0]"
:key=
"cIndex"
:label=
"cItem.Name"
:value=
"cItem.Name"
>
</el-option>
</el-select>
</
template
>
</td>
</tr>
</tbody>
<tfoot
v-if=
"isShowStudentAnswer"
>
<tr>
<td
colspan=
"2"
class=
"v_sharingChooseQuestionBold"
:style=
"{color:data.Answer ==data.StundetAnswer?'#67c23a':'red'}"
>
<td
colspan=
"2"
class=
"v_sharingChooseQuestionBold"
style=
"height:70px"
:style=
"{color:data.Answer ==data.StundetAnswer?'#67c23a':'red'}"
>
考生答案:{{data.StundetAnswer}}
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<q-input
v-if=
"isEditStudentScore"
standout=
"bg-primary text-white
"
v-model=
"data.StudentScore"
label=
"得分:"
<q-input
v-if=
"isEditStudentScore"
filled
style=
"width:180px
"
v-model=
"data.StudentScore"
label=
"得分:"
maxlength=
"20"
@
input=
"getQuestionScore"
/>
<span
v-else
class=
"v_sharingChooseQuestionBold"
>
考生得分:{{data.StudentScore}}
</span>
</td>
...
...
src/components/questiontype/v-shortanswer.vue
View file @
77e3fb8e
...
...
@@ -20,11 +20,11 @@
<el-input
v-model=
"data.Answer"
placeholder=
"请填写问题答案"
>
</el-input>
</div>
<div
v-if=
"isShowStudentAnswer"
style=
"display:flex;"
>
<div
class=
"v_shortAnswerQuestionBold"
>
考生答案:
</div>
<div
class=
"v_shortAnswerQuestionBold"
style=
"margin:20px 0"
>
考生答案:
</div>
<div
v-html=
"data.StundetAnswer"
></div>
</div>
<div
v-if=
"isShowStudentAnswer"
style=
"display:flex;"
>
<q-input
v-if=
"isEditStudentScore"
standout=
"bg-primary text-white"
v-model=
"data.StudentScore"
label=
"得分:"
<div
v-if=
"isShowStudentAnswer"
style=
"display:flex;
;margin-bottom:20px;
"
>
<q-input
v-if=
"isEditStudentScore"
filled
v-model=
"data.StudentScore"
label=
"得分:"
maxlength=
"20"
@
input=
"getQuestionScore"
/>
<span
v-else
class=
"v_shortAnswerQuestionBold"
>
考生得分:
{{
data
.
StudentScore
}}
</span>
</div>
...
...
src/components/questiontype/v-single.vue
View file @
77e3fb8e
...
...
@@ -5,6 +5,7 @@
.v_singleQuestionBold
{
font-weight
:
bold
;
height
:
40px
;
}
</
style
>
...
...
@@ -41,18 +42,21 @@
:style=
"{color:data.Answer ==data.StundetAnswer?'#67c23a':'red'}"
>
考生答案:{{data.StundetAnswer}}
</td>
</tr>
<tr
v-if=
"isShowStudentAnswer"
>
<td
colspan=
"2"
>
<q-input
v-if=
"isEditStudentScore"
standout=
"bg-primary text-white"
v-model=
"data.StudentScore"
label=
"得分:"
<td
colspan=
"2"
style=
"height:70px;"
>
<q-input
v-if=
"isEditStudentScore"
filled
v-model=
"data.StudentScore"
label=
"得分:"
maxlength=
"20"
@
input=
"getQuestionScore"
/>
<span
v-else
class=
"v_singleQuestionBold"
>
考生得分:{{data.StudentScore}}
</span>
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<span
class=
"v_singleQuestionBold"
>
解析:
</span>
<span
v-html=
"data.AnswerParse"
></span></td>
<div
style=
"display:flex;"
>
<span
class=
"v_singleQuestionBold"
>
解析:
</span>
<span
v-html=
"data.AnswerParse"
></span>
</div>
</td>
</tr>
</tfoot>
</table>
...
...
src/components/questiontype/v-sortingproblem.vue
View file @
77e3fb8e
...
...
@@ -56,12 +56,14 @@
<tr>
<td>
<template
v-for=
"(item,index) in data.QuestionContentObj[1]"
>
<select
v-model=
"item.Name"
class=
"selectBox"
:key=
"index"
>
<template
v-for=
"(cItem,cIndex) in data.QuestionContentObj[0]"
>
<option
:key=
"cIndex"
:label=
"cItem.Name"
:value=
"cItem.Name"
>
</option>
</
template
>
</select>
<el-select
v-model=
"item.Name"
:key=
"index"
style=
"width:100px;margin-right:20px;"
size=
"small"
placeholder=
"请选择"
>
<el-option
v-for=
"(cItem,cIndex) in data.QuestionContentObj[0]"
:key=
"cIndex"
:label=
"cItem.Name"
:value=
"cItem.Name"
>
</el-option>
</el-select>
</
template
>
</td>
</tr>
...
...
src/pages/enterprise/customer/CSChild/addPhase.vue
View file @
77e3fb8e
<
style
>
@import
"../../../financial/css/cssReset.css"
;
@import
"../../../financial/css/cssReset.css"
;
.addPhase
{
padding
:
20px
;
}
.addPhase
.box
{
width
:
100%
;
border-radius
:
6px
;
background
:
#fff
;
padding
:
20px
;
margin-bottom
:
25px
;
}
.addPhase
.bold
{
font-weight
:
760
;
font-size
:
16px
;
color
:
#333
;
border-left
:
3px
solid
#3470ff
;
margin-bottom
:
20px
;
margin-left
:
-20px
;
padding-left
:
20px
;
}
.addPhase
{
padding
:
20px
;
}
.addPhase
.box
{
width
:
100%
;
border-radius
:
6px
;
background
:
#fff
;
padding
:
20px
;
margin-bottom
:
25px
;
}
.addPhase
.bold
{
font-weight
:
760
;
font-size
:
16px
;
color
:
#333
;
border-left
:
3px
solid
#3470ff
;
margin-bottom
:
20px
;
margin-left
:
-20px
;
padding-left
:
20px
;
}
</
style
>
<
template
>
<div
class=
"addPhase"
style=
"background: transparent;"
>
<div
class=
"box"
>
<div
class=
"bold"
>
名称
</div>
<q-input
clearable
debounce
filled
maxlength=
"20"
counter
v-model=
"addMsg.FlowName"
style=
"width:600px"
@
input=
"$forceUpdate()"
placeholder=
"名称"
:rules=
"[val => !!val || '不能为空']"
/>
</div>
<div
class=
"box"
>
<div
class=
"bold"
>
阶段适用范围
</div>
<q-btn
class=
"q-mr-md"
label=
"选择部门/成员"
@
click=
"outerVisible = true"
/>
</div>
<div
class=
"box"
>
<div
class=
"bold"
>
选择使用阶段
</div>
<div
style=
"display:flex;align-items: center;"
>
</div>
</div>
<div
v-if=
"StageList"
>
<div
class=
"box"
v-for=
"(x,y) in StageList"
v-if=
"x.Type==2"
>
<div
class=
"bold"
v-if=
"x.Name=='已输单'"
>
选择输单原因
</div>
<div
class=
"bold"
v-if=
"x.Name=='无效'"
>
选择无效原因
</div>
<div
style=
"display:flex;align-items: center;flex-wrap: wrap;"
>
<q-checkbox
v-model=
"addMsg.LoseCause"
v-if=
"x.Name=='已输单'"
v-for=
"(item,index) in x.OptionsList"
:key=
'index'
:val=
"item.Id"
:label=
"item.Name"
/>
<q-checkbox
v-model=
"addMsg.InvalidCause"
v-if=
"x.Name=='无效'"
v-for=
"(item,index) in x.OptionsList"
:key=
'index'
:val=
"item.Id"
:label=
"item.Name"
/>
</div>
</div>
</div>
<div
class=
"box"
>
<el-form
label-width=
"120px"
>
</el-form>
<q-card-actions
align=
"left"
class=
"bg-white"
>
<q-btn
color=
"accent"
class=
"q-mr-md"
label=
"保存"
@
click=
"savemove()"
style=
"width: 100px;"
:loading=
"loading"
/>
<q-btn
class=
"q-mr-md"
label=
"返回"
@
click=
"goblck()"
style=
"width: 60px;"
/>
</q-card-actions>
<div
class=
"addPhase"
style=
"background: transparent;"
>
<div
class=
"box"
>
<div
class=
"bold"
>
名称
</div>
<q-input
clearable
debounce
filled
maxlength=
"20"
counter
v-model=
"addMsg.FlowName"
style=
"width:600px"
@
input=
"$forceUpdate()"
placeholder=
"名称"
:rules=
"[val => !!val || '不能为空']"
/>
</div>
<div
class=
"box"
>
<div
class=
"bold"
>
阶段适用范围
</div>
<q-btn
class=
"q-mr-md"
label=
"选择部门/成员"
@
click=
"outerVisible = true"
/>
</div>
<div
class=
"box"
>
<div
class=
"bold"
>
选择使用阶段
</div>
<div
style=
"display:flex;align-items: center;"
>
</div>
</div>
<div
v-if=
"StageList"
>
<div
class=
"box"
v-for=
"(x,y) in StageList"
v-if=
"x.Type==2"
>
<div
class=
"bold"
v-if=
"x.Name=='已输单'"
>
选择输单原因
</div>
<div
class=
"bold"
v-if=
"x.Name=='无效'"
>
选择无效原因
</div>
<div
style=
"display:flex;align-items: center;flex-wrap: wrap;"
>
<q-checkbox
v-model=
"addMsg.LoseCause"
v-if=
"x.Name=='已输单'"
v-for=
"(item,index) in x.OptionsList"
:key=
'index'
:val=
"item.Id"
:label=
"item.Name"
/>
<q-checkbox
v-model=
"addMsg.InvalidCause"
v-if=
"x.Name=='无效'"
v-for=
"(item,index) in x.OptionsList"
:key=
'index'
:val=
"item.Id"
:label=
"item.Name"
/>
</div>
<!-- 人员/部门选择 -->
<choiceapprovalorbranch
v-if=
"outerVisible"
@
close=
"outerVisible = false"
@
success=
"getsuccess2"
:byval=
'showMember'
cptype=
"1"
></choiceapprovalorbranch>
</div>
</div>
<div
class=
"box"
>
<el-form
label-width=
"120px"
>
</el-form>
<q-card-actions
align=
"left"
class=
"bg-white"
>
<q-btn
color=
"accent"
class=
"q-mr-md"
label=
"保存"
@
click=
"savemove()"
style=
"width: 100px;"
:loading=
"loading"
/>
<q-btn
class=
"q-mr-md"
label=
"返回"
@
click=
"goblck()"
style=
"width: 60px;"
/>
</q-card-actions>
</div>
<!-- 人员/部门选择 -->
<choiceapprovalorbranch
v-if=
"outerVisible"
@
close=
"outerVisible = false"
@
success=
"getsuccess2"
:byval=
'showMember'
cptype=
"1"
></choiceapprovalorbranch>
</div>
</
template
>
<
script
>
import
choiceapprovalorbranch
from
'./components/choiceapprovalorbranch'
import
{
getCustomerStageList
,
}
from
'../../../../api/system/wechat'
;
export
default
{
meta
:
{
title
:
"阶段管理"
},
components
:
{
choiceapprovalorbranch
},
name
:
"addPhase"
,
data
()
{
return
{
loading
:
false
,
outerVisible
:
false
,
addMsg
:{
FlowName
:
''
,
DeptEmpList
:[],
UseStage
:
''
,
LoseCause
:[],
InvalidCause
:[],
},
showMember
:[],
StageList
:[],
}
},
created
()
{
this
.
getCustomerStageList
()
import
choiceapprovalorbranch
from
'./components/choiceapprovalorbranch'
import
{
getCustomerStageList
,
}
from
'../../../../api/system/wechat'
;
export
default
{
meta
:
{
title
:
"阶段管理"
},
components
:
{
choiceapprovalorbranch
},
name
:
"addPhase"
,
data
()
{
return
{
loading
:
false
,
outerVisible
:
false
,
addMsg
:
{
FlowName
:
''
,
DeptEmpList
:
[],
UseStage
:
''
,
LoseCause
:
[],
InvalidCause
:
[],
},
methods
:
{
goblck
()
{
//返回上一个页面
this
.
$router
.
go
(
-
1
);
//返回上一层
},
savemove
(){
},
getCustomerStageList
(){
getCustomerStageList
({}).
then
(
res
=>
{
this
.
loading
=
false
if
(
res
.
Code
==
1
)
{
this
.
StageList
=
res
.
Data
}
})
},
getsuccess2
(
list
,
type
){
console
.
log
(
list
)
this
.
showMember
=
list
this
.
outerVisible
=
false
},
}
showMember
:
[],
StageList
:
[],
}
},
created
()
{
this
.
getCustomerStageList
()
},
methods
:
{
goblck
()
{
//返回上一个页面
this
.
$router
.
go
(
-
1
);
//返回上一层
},
savemove
()
{},
getCustomerStageList
()
{
getCustomerStageList
({}).
then
(
res
=>
{
this
.
loading
=
false
if
(
res
.
Code
==
1
)
{
this
.
StageList
=
res
.
Data
}
})
},
getsuccess2
(
list
,
type
)
{
this
.
showMember
=
list
this
.
outerVisible
=
false
},
}
}
</
script
>
\ No newline at end of file
src/pages/enterprise/customer/CSChild/components/addfield.vue
View file @
77e3fb8e
This diff is collapsed.
Click to expand it.
src/pages/enterprise/customer/CSChild/stageManagement.vue
View file @
77e3fb8e
This diff is collapsed.
Click to expand it.
src/pages/exam/examtest.vue
View file @
77e3fb8e
...
...
@@ -241,16 +241,19 @@
.examPaperInfo_Top
.vClozeQuestion
.clozeTest_question_tit
{
margin
:
15px
0
;
}
.Exam_PaperNameV2
{
font-size
:
20px
;
font-weight
:
bold
;
margin-bottom
:
5px
;
}
</
style
>
<
template
>
<div
class=
"examPaper page-body"
>
<div
class=
"examPaperInfo_Top"
>
<div>
<div>
{{
DataObj
.
PaperName
}}
<br
/>
题量:
{{
examNum
}}
满分:
{{
examScore
}}
<div
class=
"Exam_PaperNameV2"
>
{{
DataObj
.
PaperName
}}
</div>
<div>
题量:
{{
examNum
}}
满分:
{{
examScore
}}
</div>
</div>
</div>
<div
style=
"width:20%;text-align:right;"
>
...
...
@@ -264,11 +267,13 @@
<div
class=
"pGNameDiv"
><span
class=
"pGroupName"
>
{{
NoToChinese
(
gIndex
+
1
)
}}
、
{{
gItem
.
GroupName
}}
</span>
(共
{{
gItem
.
DetailsList
.
length
}}
题,
{{
gItem
.
GScore
}}
分)
</div>
<div
v-for=
"(dItem,dIndex) in gItem.DetailsList"
:key=
"dIndex"
>
<span>
{{
dIndex
+
1
}}
、
</span>
<span
class=
"paper_Title"
v-html=
"dItem.Title"
></span>
<span
style=
"margin:10px 0;display:inline-block;"
>
(
{{
dItem
.
Score
}}
分)
</span>
<div
style=
"display:flex;margin:10px 0;"
>
<span>
{{
dIndex
+
1
}}
、
</span>
<span
class=
"paper_Title"
v-html=
"dItem.Title"
></span>
<span
style=
"margin-left:10px;display:inline-block;"
>
(
{{
dItem
.
Score
}}
分)
</span>
</div>
<!--单选题-->
<v-single
v-if=
"dItem.QuestionTypeKey=='single'||dItem.QuestionTypeKey=='single-number'"
:questionObj=
"dItem"
:isShowAnswer=
"isShowAnswer"
:isOperate=
"isOperate"
>
...
...
src/pages/exam/examtestinfo.vue
View file @
77e3fb8e
<
style
>
.examPaperInfo_Top
{
height
:
83px
;
min-
height
:
83px
;
border-bottom
:
1px
solid
#d9d9d9
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin
:
0
100px
;
padding-bottom
:
15px
;
}
.Exam-main
{
...
...
@@ -241,7 +241,14 @@
.examPaperInfo_Top
.vClozeQuestion
.clozeTest_question_tit
{
margin
:
15px
0
;
}
.Exam_PaperNameV2
{
font-size
:
20px
;
font-weight
:
bold
;
margin-bottom
:
5px
;
}
.pGNameDiv
:first-child
{
margin-top
:
0
;
}
</
style
>
<!--阅卷-->
<
template
>
...
...
@@ -249,14 +256,15 @@
<div
class=
"examPaperInfo_Top"
>
<div>
<div>
{{
DataObj
.
PaperName
}}
<br
/>
题量:
{{
examNum
}}
满分:
{{
examScore
}}
<br
/>
学生总得分:
{{
studentScore
}}
<br
/>
<div
class=
"Exam_PaperNameV2"
>
{{
DataObj
.
PaperName
}}
</div>
<div>
<span>
题量:
{{
examNum
}}
满分:
{{
examScore
}}
</span>
<span
style=
"margin-left:30px;"
>
学生总得分:
{{
studentScore
}}
</span>
</div>
评语:
{{
DataObj
.
StuComment
}}
<br/>
</div>
</div>
<div
style=
"width:20%;text-align:right;"
>
<div
style=
"width:20%;text-align:right;
flex-shrink:0;
"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
@
click=
"goBack()"
label=
"返回"
/>
</div>
</div>
...
...
src/pages/exam/examtestreview.vue
View file @
77e3fb8e
<
style
>
.examPaperInfo_Top
{
height
:
83px
;
min-
height
:
83px
;
border-bottom
:
1px
solid
#d9d9d9
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin
:
0
100px
;
padding-bottom
:
20px
;
}
.Exam-main
{
...
...
@@ -241,20 +241,25 @@
.examPaperInfo_Top
.vClozeQuestion
.clozeTest_question_tit
{
margin
:
15px
0
;
}
.Exam_PaperNameV2
{
font-size
:
20px
;
font-weight
:
bold
;
margin-bottom
:
5px
;
}
</
style
>
<!--阅卷-->
<
template
>
<div
class=
"examPaper page-body"
>
<div
class=
"examPaperInfo_Top"
>
<div>
<div
style=
"width:80%;"
>
<div>
{{
DataObj
.
PaperName
}}
<br
/
>
题量:
{{
examNum
}}
满分:
{{
examScore
}}
<br
/>
学生总得分:
{{
studentScore
}}
<
q-input
filled
stack-label
maxlength=
"100"
:dense=
"false"
v-model=
"DataObj.StuComment"
class=
"col-6 q-pb-lg q-pr-lg"
label
=
"评语"
/>
<div
class=
"Exam_PaperNameV2"
>
{{
DataObj
.
PaperName
}}
</div
>
<div
style=
"margin-bottom:10px;"
>
题量:
{{
examNum
}}
满分:
{{
examScore
}}
<span
style=
"margin-left:30px;"
>
学生总得分:
{{
studentScore
}}
</span>
<
/div>
<q-input
v-model=
"DataObj.StuComment"
filled
type=
"textarea"
placeholder
=
"评语"
/>
</div>
</div>
<div
style=
"width:20%;text-align:right;"
>
...
...
src/pages/exam/paperCreate.vue
View file @
77e3fb8e
This diff is collapsed.
Click to expand it.
src/pages/exam/paperEdit.vue
View file @
77e3fb8e
This diff is collapsed.
Click to expand it.
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