Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
educationStu
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
向伟
educationStu
Commits
f1a8b15d
Commit
f1a8b15d
authored
Nov 28, 2022
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
。。
parent
c8cb8124
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
580 additions
and
802 deletions
+580
-802
answer.vue
src/components/question/subject/answer.vue
+1
-1
singlenumber.vue
src/components/question/subject/singlenumber.vue
+1
-0
FillInTheBlanks.vue
src/components/subject/FillInTheBlanks.vue
+88
-100
MultipleChoice.vue
src/components/subject/MultipleChoice.vue
+91
-117
SingleChoice.vue
src/components/subject/SingleChoice.vue
+252
-237
answer.vue
src/components/subject/answer.vue
+28
-50
pages.json
src/pages.json
+3
-1
examGongu.vue
src/pages/exam/examGongu.vue
+1
-0
examPaper.vue
src/pages/exam/examPaper.vue
+101
-286
login.vue
src/pages/login/login.vue
+2
-1
index.vue
src/wxcomponents/vant/icon/index.vue
+9
-6
notify.js
src/wxcomponents/vant/notify/notify.js
+3
-3
No files found.
src/components/question/subject/answer.vue
View file @
f1a8b15d
...
...
@@ -48,7 +48,7 @@
props
:
{
paperData
:
Array
,
saveId
:
Number
,
isShowJx
:
Boolean
isShowJx
:
Boolean
,
},
setup
(
props
,
ctx
)
{
let
data
=
reactive
({
...
...
src/components/question/subject/singlenumber.vue
View file @
f1a8b15d
...
...
@@ -157,6 +157,7 @@
}
.chooseNum
{
/* background: yellow; */
width
:
50
rpx
;
height
:
50
rpx
;
text-align
:
center
;
...
...
src/components/subject/FillInTheBlanks.vue
View file @
f1a8b15d
...
...
@@ -5,42 +5,27 @@
<view
class=
"name"
>
<view>
{{
changeNumToHan
(
sortIndex
)
}}
、
{{
data
.
GroupName
}}
</view>
<view
class=
"ExamIndex_Box"
>
<text
class=
"Single_Before"
>
{{
ExamIndex
}}
</text
>
/
<text
class=
"Exam_Total"
>
{{
data
.
DetailsList
.
length
}}
</text>
<text
class=
"Single_Before"
>
{{
ExamIndex
}}
</text
>
/
<text
class=
"Exam_Total"
>
{{
data
.
DetailsList
.
length
}}
</text>
</view>
</view>
<swiper
class=
"swiper-box"
:style=
"
{
<swiper
class=
"swiper-box"
:style=
"
{
height: `calc(100vh - 300rpx - ${statusBarHeight}px)`,
}"
:autoplay="autoplay"
:current="current"
@change="onchange"
>
}" :autoplay="autoplay" :current="current" @change="onchange">
<swiper-item
v-if=
"sortIndex != 1"
></swiper-item>
<swiper-item
v-for=
"(item1, index1) in data.DetailsList"
:key=
"index1"
>
<view
class=
"item1"
:style=
"
{
height: `calc(100vh - 390rpx - ${statusBarHeight}px)`
}">
<view
class=
"item1"
:style=
"
{
height: `calc(100vh - 390rpx - ${statusBarHeight}px)`
}">
<view
class=
"flex"
>
<view>
{{
index1
+
1
}}
、
</view>
<view
class=
"num"
v-html=
"item1.Title"
></view><text
class=
"Exam_Score"
>
(
{{
item1
.
Score
}}
)
</text>
<view
class=
"num"
v-html=
"item1.Title"
></view><text
class=
"Exam_Score"
>
(
{{
item1
.
Score
}}
)
</text>
</view>
<view
v-for=
"(item2, index2) in item1.QuestionContentObj"
:key=
"index2"
class=
"flex item2"
style=
"align-items: center;"
>
<view
v-for=
"(item2, index2) in item1.QuestionContentObj"
:key=
"index2"
class=
"flex item2"
style=
"align-items: center;"
>
<view
class=
"chooseNum"
>
{{
index2
+
1
}}
</view>
<template
v-if=
"isOperate"
>
<view
class=
"chooseName"
>
<input
type=
"text"
v-model=
"item2.Content"
@
input=
"getIsRes(item1)"
:placeholder=
"'请填写第 ' + (index2 + 1) + ' 空答案'"
class=
"input"
/>
<input
type=
"text"
v-model=
"item2.Content"
@
input=
"getIsRes(item1)"
:placeholder=
"'请填写第 ' + (index2 + 1) + ' 空答案'"
class=
"input"
/>
</view>
</
template
>
<
template
v-else
>
...
...
@@ -51,11 +36,7 @@
<view>
您的答案:
<
template
v-if=
"item1.AnswerList && item1.AnswerList.length > 0"
>
<view
v-for=
"(cItem, cIndex) in item1.AnswerList"
class=
"flex"
style=
"margin-top: 20rpx"
>
<view
v-for=
"(cItem, cIndex) in item1.AnswerList"
class=
"flex"
style=
"margin-top: 20rpx"
>
<view
class=
"chooseNum"
>
{{
cIndex
+
1
}}
</view>
<view
class=
"viewAnswerContent"
>
{{
cItem
==
""
?
"未作答"
:
cItem
}}
...
...
@@ -63,22 +44,19 @@
</view>
</
template
>
</view>
<view
style=
"margin:25rpx 0;"
v-if=
"item1.StudentScore!=''||item1.StudentScore===
0"
>
<view
style=
"margin:25rpx 0;"
v-if=
"item1.StudentScore != '' || item1.StudentScore ===
0"
>
<text
style=
"color:#8c8a94"
>
您的得分:
</text>
<text
class=
"isTrueAnswer"
v-if=
"item1.StudentScore>0"
>
{{item1.StudentScore
}}
</text>
<text
class=
"isNotAnswer"
v-else
>
{{item1.StudentScore
}}
</text>
<text
class=
"isTrueAnswer"
v-if=
"item1.StudentScore > 0"
>
{{ item1.StudentScore
}}
</text>
<text
class=
"isNotAnswer"
v-else
>
{{ item1.StudentScore
}}
</text>
</view>
<view
style=
"word-wrap: break-word"
v-if=
"item1.AnswerParse"
>
<text
style=
"color: #8c8a94"
>
解析:
</text>
<view
style=
"color: #000; display: inline-block"
v-html=
"item1.AnswerParse"
></view>
<view
style=
"color: #000; display: inline-block"
v-html=
"item1.AnswerParse"
></view>
</view>
</view>
</view>
<view
class=
"AnswerBtn clear"
>
<view
class=
"AnswerBtnFirst"
@
click=
"getBeforeExam()"
v-if=
"ExamIndex!=1||sortIndex!=
1"
>
上一题
</view>
<view
class=
"AnswerBtnFirst"
@
click=
"getBeforeExam()"
v-if=
"ExamIndex != 1 || sortIndex !=
1"
>
上一题
</view>
<view
class=
"AnswerBtnSecond"
v-if=
"sortIndex != sortTotal"
@
click=
"getNextExam()"
>
下一题
</view>
</view>
</swiper-item>
...
...
@@ -167,12 +145,12 @@ export default {
});
},
//点击上一题
getBeforeExam
()
{
data
.
current
=
data
.
current
-
1
;
getBeforeExam
()
{
data
.
current
=
data
.
current
-
1
;
},
//点击下一题
getNextExam
()
{
data
.
current
=
data
.
current
+
1
;
getNextExam
()
{
data
.
current
=
data
.
current
+
1
;
}
};
onMounted
(()
=>
{
...
...
@@ -193,30 +171,36 @@ export default {
};
</
script
>
<
style
scoped
>
.AnswerBtn
{
.AnswerBtn
{
margin-top
:
20
rpx
;
}
.clear
{
clear
:
both
}
.AnswerBtnFirst
{
width
:
250
rpx
;
height
:
60
rpx
;
.clear
{
clear
:
both
}
.AnswerBtnFirst
{
width
:
250
rpx
;
height
:
60
rpx
;
text-align
:
center
;
line-height
:
60
rpx
;
border-radius
:
10
rpx
;
border
:
1px
solid
#00ACF9
;
color
:
#00ACF9
;
float
:
left
;
border
:
1px
solid
#00ACF9
;
color
:
#00ACF9
;
float
:
left
;
}
.AnswerBtnSecond
{
width
:
250
rpx
;
height
:
60
rpx
;
.AnswerBtnSecond
{
width
:
250
rpx
;
height
:
60
rpx
;
text-align
:
center
;
line-height
:
60
rpx
;
border-radius
:
10
rpx
;
background-color
:
#00ACF9
;
color
:
#fff
;
float
:
right
;
color
:
#fff
;
float
:
right
;
}
.name
{
height
:
90
rpx
;
font-size
:
30
rpx
;
...
...
@@ -227,6 +211,7 @@ export default {
align-items
:
center
;
justify-content
:
space-between
;
}
.isTrueAnswer
{
color
:
green
!important
;
}
...
...
@@ -234,12 +219,14 @@ export default {
.isNotAnswer
{
color
:
red
!important
;
}
.AnswerContent
{
font-size
:
30
rpx
;
padding
:
25
rpx
;
background-color
:
#f4f4f4
;
border-radius
:
5px
;
}
.ExamIndex_Box
{
margin-right
:
40
rpx
;
}
...
...
@@ -254,7 +241,7 @@ export default {
width
:
100%
;
border-bottom
:
1px
solid
#d1d1d1
;
padding-bottom
:
5px
;
font-size
:
30
rpx
;
font-size
:
30
rpx
;
}
.Exam_Total
{
...
...
@@ -307,17 +294,18 @@ export default {
font-family
:
PingFang
SC
;
font-weight
:
500
;
color
:
#111111
;
width
:
100%
;
width
:
100%
;
}
.input
{
box-sizing
:
border-box
;
border-bottom
:
2
rpx
solid
#000
;
height
:
70
rpx
;
font-size
:
26
rpx
;
height
:
70
rpx
;
font-size
:
26
rpx
;
}
.Exam_Score
{
color
:
#999999
;
font-size
:
28
rpx
;
.Exam_Score
{
color
:
#999999
;
font-size
:
28
rpx
;
}
</
style
>
src/components/subject/MultipleChoice.vue
View file @
f1a8b15d
...
...
@@ -5,86 +5,56 @@
<view
class=
"name"
>
<view>
{{
changeNumToHan
(
sortIndex
)
}}
、
{{
data
.
GroupName
}}
<text
class=
"Exam_Score"
>
(共
{{
data
.
DetailsList
.
length
}}
道,
{{
data
.
GScore
}}
分)
</text
>
<text
class=
"Exam_Score"
>
(
{{
data
.
DetailsList
.
length
}}
道,
{{
data
.
GScore
}}
分)
</text>
</view>
<view
class=
"ExamIndex_Box"
>
<text
class=
"Single_Before"
>
{{
ExamIndex
}}
</text
>
/
<text
class=
"Exam_Total"
>
{{
data
.
DetailsList
.
length
}}
</text>
<text
class=
"Single_Before"
>
{{
ExamIndex
}}
</text
>
/
<text
class=
"Exam_Total"
>
{{
data
.
DetailsList
.
length
}}
</text>
</view>
</view>
<swiper
class=
"swiper-box"
:style=
"
{
<swiper
class=
"swiper-box"
:style=
"
{
height: `calc(100vh - 300rpx - ${statusBarHeight}px)`,
}"
:autoplay="autoplay"
:current="current"
@change="onchange"
>
}" :autoplay="autoplay" :current="current" @change="onchange">
<swiper-item
v-if=
"sortIndex != 1"
></swiper-item>
<swiper-item
v-for=
"(item1, index1) in data.DetailsList"
:key=
"index1"
>
<view
class=
"item1"
:style=
"
{
height: `calc(100vh - 390rpx - ${statusBarHeight}px)`
}">
<view
class=
"item1"
:style=
"
{
height: `calc(100vh - 390rpx - ${statusBarHeight}px)`
}">
<view
class=
"flex"
>
<view
class=
"num"
v-html=
"item1.Title"
></view><text
class=
"Exam_Score"
>
(
{{
item1
.
Score
}}
)
</text>
<view
class=
"num"
v-html=
"item1.Title"
></view><text
class=
"Exam_Score"
>
(
{{
item1
.
Score
}}
)
</text>
</view>
<view
v-for=
"(item2, index2) in item1.QuestionContentObj"
:key=
"index2"
class=
"item2 flex flex_start_center"
>
<view
v-for=
"(item2, index2) in item1.QuestionContentObj"
:key=
"index2"
class=
"item2 flex flex_start_center"
>
<template
v-if=
"isOperate"
>
<view
class=
"chooseNum"
:class=
"
{ myAnswer: item2.IsAnswer }"
@click="change(item1, item2)"
>
{{
item2
.
ShowName
}}
<view
class=
"chooseNum"
:class=
"
{ myAnswer: item2.IsAnswer }" @click="change(item1, item2)">
{{
item2
.
ShowName
}}
</view>
<view
class=
"chooseName"
@
click=
"change(item1, item2)"
v-html=
"item2.Content"
></view>
<view
class=
"chooseName"
@
click=
"change(item1, item2)"
v-html=
"item2.Content"
></view>
</
template
>
<
template
v-else
>
<view
class=
"chooseNum"
:class=
"
{ isTrueAnswer: item2.IsAnswer }"
>
{{
item2
.
Name
}}
<view
class=
"chooseNum"
:class=
"
{ isTrueAnswer: item2.IsAnswer }">
{{
item2
.
Name
}}
</view>
<view
class=
"chooseName"
:class=
"
{ isTrueAnswer: item2.IsAnswer }"
v-html="item2.Content"
>
<view
class=
"chooseName"
:class=
"
{ isTrueAnswer: item2.IsAnswer }" v-html="item2.Content">
</view>
</
template
>
</view>
<view
class=
"AnswerContent"
v-if=
"!isOperate"
>
<view>
<text
style=
"color: #8c8a94"
>
正确答案:
</text>
<text
class=
"isTrueAnswer"
>
{{ item1.Answer }}
</text
>
,
<text
class=
"isTrueAnswer"
>
{{ item1.Answer }}
</text>
,
<text>
您的答案:
<
template
v-if=
"item1.StundetAnswer != ''"
>
<text
v-if=
"item1.Answer == item1.StundetAnswer"
class=
"isTrueAnswer"
>
<text
v-if=
"item1.Answer == item1.StundetAnswer"
class=
"isTrueAnswer"
>
{{
item1
.
StundetAnswer
}}
,回答正确
</text>
<text
v-else
class=
"isNotAnswer"
>
{{
item1
.
StundetAnswer
}}
,回答错误
</text
>
<text
v-else
class=
"isNotAnswer"
>
{{
item1
.
StundetAnswer
}}
,回答错误
</text>
</
template
>
<
template
v-else
>
<text>
未作答
</text>
</
template
>
</text>
</view>
<view
style=
"margin: 20rpx 0"
v-if=
"item1.StudentScore!=''||item1.StudentScore===
0"
>
<view
style=
"margin: 20rpx 0"
v-if=
"item1.StudentScore != '' || item1.StudentScore ===
0"
>
<text
style=
"color: #8c8a94"
>
您的得分:
</text>
<text
class=
"isTrueAnswer"
v-if=
"item1.StudentScore > 0"
>
{{
item1.StudentScore
...
...
@@ -93,15 +63,12 @@
</view>
<view
style=
"word-wrap: break-word"
v-if=
"item1.AnswerParse"
>
<text
style=
"color: #8c8a94"
>
解析:
</text>
<view
style=
"color: #000; display: inline-block"
v-html=
"item1.AnswerParse"
></view>
<view
style=
"color: #000; display: inline-block"
v-html=
"item1.AnswerParse"
></view>
</view>
</view>
</view>
<view
class=
"AnswerBtn clear"
>
<view
class=
"AnswerBtnFirst"
@
click=
"getBeforeExam()"
v-if=
"ExamIndex!=1||sortIndex!=
1"
>
上一题
</view>
<view
class=
"AnswerBtnFirst"
@
click=
"getBeforeExam()"
v-if=
"ExamIndex != 1 || sortIndex !=
1"
>
上一题
</view>
<view
class=
"AnswerBtnSecond"
v-if=
"sortIndex != sortTotal"
@
click=
"getNextExam()"
>
下一题
</view>
</view>
</swiper-item>
...
...
@@ -193,12 +160,12 @@ export default {
}
},
//点击上一题
getBeforeExam
()
{
data
.
current
=
data
.
current
-
1
;
getBeforeExam
()
{
data
.
current
=
data
.
current
-
1
;
},
//点击下一题
getNextExam
()
{
data
.
current
=
data
.
current
+
1
;
getNextExam
()
{
data
.
current
=
data
.
current
+
1
;
}
};
onMounted
(()
=>
{
...
...
@@ -217,34 +184,40 @@ export default {
...
methods
,
};
},
onLoad
()
{},
onLoad
()
{
},
};
</
script
>
<
style
scoped
>
.AnswerBtn
{
.AnswerBtn
{
margin-top
:
20
rpx
;
}
.clear
{
clear
:
both
}
.AnswerBtnFirst
{
width
:
250
rpx
;
height
:
60
rpx
;
.clear
{
clear
:
both
}
.AnswerBtnFirst
{
width
:
250
rpx
;
height
:
60
rpx
;
text-align
:
center
;
line-height
:
60
rpx
;
border-radius
:
10
rpx
;
border
:
1px
solid
#00ACF9
;
color
:
#00ACF9
;
float
:
left
;
border
:
1px
solid
#00ACF9
;
color
:
#00ACF9
;
float
:
left
;
}
.AnswerBtnSecond
{
width
:
250
rpx
;
height
:
60
rpx
;
.AnswerBtnSecond
{
width
:
250
rpx
;
height
:
60
rpx
;
text-align
:
center
;
line-height
:
60
rpx
;
border-radius
:
10
rpx
;
background-color
:
#00ACF9
;
color
:
#fff
;
float
:
right
;
color
:
#fff
;
float
:
right
;
}
.name
{
height
:
90
rpx
;
font-size
:
30
rpx
;
...
...
@@ -336,8 +309,9 @@ export default {
font-weight
:
500
;
color
:
#111111
;
}
.Exam_Score
{
color
:
#999999
;
font-size
:
28
rpx
;
.Exam_Score
{
color
:
#999999
;
font-size
:
28
rpx
;
}
</
style
>
src/components/subject/SingleChoice.vue
View file @
f1a8b15d
...
...
@@ -8,17 +8,20 @@
<text
class=
"Exam_Score"
>
(共
{{
data
.
DetailsList
.
length
}}
道,
{{
data
.
GScore
}}
分)
</text>
</view>
<view
class=
"ExamIndex_Box"
>
<text
class=
"Single_Before"
>
{{
ExamIndex
}}
</text>
/
<text
class=
"Exam_Total"
>
{{
data
.
DetailsList
.
length
}}
</text>
<text
class=
"Single_Before"
>
{{
ExamIndex
}}
</text>
/
<text
class=
"Exam_Total"
>
{{
data
.
DetailsList
.
length
}}
</text>
</view>
</view>
<swiper
class=
"swiper-box"
:style=
"
{height: `calc(100vh - 300rpx - ${statusBarHeight}px)`}" :autoplay="autoplay" :current="current" @change="onchange" :skip-hidden-item-layout="true"
<swiper
class=
"swiper-box"
:style=
"
{ height: `calc(100vh - 300rpx - ${statusBarHeight}px)` }"
:autoplay="autoplay" :current="current" @change="onchange" :skip-hidden-item-layout="true"
:disable-programmatic-animation="true">
<swiper-item
v-if=
"sortIndex != 1"
></swiper-item>
<swiper-item
v-for=
"(item1, index1) in data.DetailsList"
:key=
"index1"
>
<view
class=
"item1"
:style=
"
{
height: `calc(100vh - 390rpx - ${statusBarHeight}px)`
}">
<view
class=
"item1"
:style=
"
{
height: `calc(100vh - 390rpx - ${statusBarHeight}px)`
}">
<view
class=
"flex flex_start_center"
>
<view
class=
"num"
v-html=
"item1.Title"
></view><text
class=
"Exam_Score"
>
(
{{
item1
.
Score
}}
)
</text>
<view
class=
"num"
v-html=
"item1.Title"
></view><text
class=
"Exam_Score"
>
(
{{
item1
.
Score
}}
)
</text>
</view>
<view
v-for=
"(item2, index2) in item1.QuestionContentObj"
:key=
"index2"
class=
"flex item2 flex_start_center"
>
...
...
@@ -52,19 +55,22 @@
</
template
>
</text>
</view>
<view
style=
"margin:20rpx 0;"
v-if=
"item1.StudentScore
!=''||item1.StudentScore===
0"
>
<view
style=
"margin:20rpx 0;"
v-if=
"item1.StudentScore
!= '' || item1.StudentScore ===
0"
>
<text
style=
"color:#8c8a94"
>
您的得分:
</text>
<text
class=
"isTrueAnswer"
v-if=
"item1.StudentScore
>0"
>
{{item1.StudentScore
}}
</text>
<text
class=
"isNotAnswer"
v-else
>
{{
item1.StudentScore
}}
</text>
<text
class=
"isTrueAnswer"
v-if=
"item1.StudentScore
> 0"
>
{{ item1.StudentScore
}}
</text>
<text
class=
"isNotAnswer"
v-else
>
{{
item1.StudentScore
}}
</text>
</view>
<view
style=
"margin-top: 20rpx; word-wrap: break-word"
class=
"flex"
v-if=
"item1.AnswerParse"
>
<view
style=
"margin-top: 20rpx; word-wrap: break-word"
class=
"flex"
v-if=
"item1.AnswerParse"
>
<text
style=
"color: #8c8a94;flex-shrink: 0;"
>
解析:
</text>
<view
style=
"color: #000"
v-html=
"item1.AnswerParse"
></view>
</view>
</view>
</view>
<view
class=
"AnswerBtn clear"
>
<view
class=
"AnswerBtnFirst"
@
click=
"getBeforeExam()"
v-if=
"ExamIndex!=1||sortIndex!=1"
>
上一题
</view>
<view
class=
"AnswerBtnFirst"
@
click=
"getBeforeExam()"
v-if=
"ExamIndex != 1 || sortIndex != 1"
>
上一题
</view>
<view
class=
"AnswerBtnSecond"
v-if=
"sortIndex != sortTotal"
@
click=
"getNextExam()"
>
下一题
</view>
</view>
</swiper-item>
...
...
@@ -78,7 +84,7 @@
</template>
<
script
>
import
{
import
{
ref
,
reactive
,
toRefs
,
...
...
@@ -87,11 +93,11 @@
watch
,
computed
,
onMounted
,
}
from
"vue"
;
import
{
}
from
"vue"
;
import
{
changeNumToHan
}
from
"../../utils/index"
;
export
default
{
}
from
"../../utils/index"
;
export
default
{
props
:
{
paperData
:
Object
,
sort
:
Number
,
...
...
@@ -123,11 +129,13 @@
if
(
props
.
startIndex
)
{
data
.
current
=
props
.
startIndex
-
1
;
data
.
ExamIndex
=
props
.
startIndex
;
console
.
log
(
'666'
)
}
}
else
{
if
(
props
.
startIndex
)
{
data
.
current
=
props
.
startIndex
;
data
.
ExamIndex
=
props
.
startIndex
;
// console.log('77777777777777')
}
}
...
...
@@ -175,12 +183,12 @@
});
},
//点击上一题
getBeforeExam
()
{
data
.
current
=
data
.
current
-
1
;
getBeforeExam
()
{
data
.
current
=
data
.
current
-
1
;
},
//点击下一题
getNextExam
()
{
data
.
current
=
data
.
current
+
1
;
getNextExam
()
{
data
.
current
=
data
.
current
+
1
;
}
};
onMounted
(()
=>
{
...
...
@@ -199,34 +207,40 @@
...
methods
,
};
},
};
};
</
script
>
<
style
scoped
>
.AnswerBtn
{
.AnswerBtn
{
margin-top
:
20
rpx
;
}
.clear
{
clear
:
both
}
.AnswerBtnFirst
{
width
:
250
rpx
;
height
:
60
rpx
;
}
.clear
{
clear
:
both
}
.AnswerBtnFirst
{
width
:
250
rpx
;
height
:
60
rpx
;
text-align
:
center
;
line-height
:
60
rpx
;
border-radius
:
10
rpx
;
border
:
1px
solid
#00ACF9
;
color
:
#00ACF9
;
float
:
left
;
}
.AnswerBtnSecond
{
width
:
250
rpx
;
height
:
60
rpx
;
border
:
1px
solid
#00ACF9
;
color
:
#00ACF9
;
float
:
left
;
}
.AnswerBtnSecond
{
width
:
250
rpx
;
height
:
60
rpx
;
text-align
:
center
;
line-height
:
60
rpx
;
border-radius
:
10
rpx
;
background-color
:
#00ACF9
;
color
:
#fff
;
float
:
right
;
}
.name
{
color
:
#fff
;
float
:
right
;
}
.name
{
height
:
90
rpx
;
font-size
:
30
rpx
;
font-family
:
PingFang
SC
;
...
...
@@ -235,75 +249,75 @@
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
}
.isTrueAnswer
{
.isTrueAnswer
{
color
:
green
!important
;
}
}
.isNotAnswer
{
.isNotAnswer
{
color
:
red
!important
;
}
}
.AnswerContent
{
.AnswerContent
{
font-size
:
28
rpx
;
padding
:
25
rpx
;
background-color
:
#f4f4f4
;
border-radius
:
5px
;
}
}
.Single_Before
{
.Single_Before
{
font-size
:
30
rpx
;
font-weight
:
bold
;
color
:
#da7878
;
}
}
.ExamIndex_Box
{
.ExamIndex_Box
{
margin-right
:
40
rpx
;
}
}
.Exam_Total
{
.Exam_Total
{
font-size
:
25
rpx
;
color
:
gray
;
}
}
.answerSheet
{
.answerSheet
{
font-size
:
30
rpx
;
margin-left
:
20
rpx
;
color
:
#000
;
}
}
.swiper-box
{
.swiper-box
{
box-sizing
:
border-box
;
}
}
.num
{
.num
{
font-size
:
30
rpx
;
font-family
:
PingFang
SC
;
color
:
#111111
;
}
}
.item
{
.item
{
/* margin-bottom: 40rpx; */
position
:
relative
;
}
}
.item1
{
.item1
{
/* margin: 25rpx 0; */
align-items
:
center
;
}
}
.item2
{
.item2
{
padding-left
:
25
rpx
;
margin
:
30
rpx
0
;
}
}
.myAnswer
{
.myAnswer
{
background-color
:
#00acf9
!important
;
color
:
#ffffff
!important
;
}
}
.chooseNum
{
.chooseNum
{
width
:
50
rpx
;
height
:
50
rpx
;
text-align
:
center
;
...
...
@@ -315,16 +329,17 @@
font-family
:
PingFang
SC
;
font-weight
:
bold
;
color
:
#111111
;
}
}
.chooseName
{
.chooseName
{
font-size
:
30
rpx
;
font-family
:
PingFang
SC
;
font-weight
:
500
;
color
:
#111111
;
}
.Exam_Score
{
color
:
#999999
;
font-size
:
28
rpx
;
}
}
.Exam_Score
{
color
:
#999999
;
font-size
:
28
rpx
;
}
</
style
>
src/components/subject/answer.vue
View file @
f1a8b15d
...
...
@@ -2,69 +2,37 @@
<view>
<van-nav-bar
fixed
>
<template
#
left
>
<van-icon
name=
"cross"
style=
"font-size: 32rpx; color: #111"
@
click=
"back"
/>
<van-icon
name=
"cross"
style=
"font-size: 32rpx; color: #111"
@
click=
"back"
/>
</
template
>
<
template
#
title
>
<view
style=
"
<view
style=
"
font-size: 32rpx;
color: #111;
font-family: PingFang SC;
font-weight: 800;
"
>
答题卡
</view
>
"
>
答题卡
</view>
</
template
>
</van-nav-bar>
<view
class=
"answer-sheets"
>
<view
v-for=
"(item, index) in questionList"
:key=
"index"
class=
"item"
>
<view
class=
"name"
>
{{ changeNumToHan(index + 1) }}、{{ item.GroupName }}
</view
>
{{ changeNumToHan(index + 1) }}、{{ item.GroupName }}
</view>
<view
class=
"flex flex_wrap"
>
<view
v-for=
"(item1, index1) in item.DetailsList"
:key=
"index1"
class=
"flex flex_wrap"
>
<view
class=
"item1-1"
v-if=
"
<view
v-for=
"(item1, index1) in item.DetailsList"
:key=
"index1"
class=
"flex flex_wrap"
>
<view
class=
"item1-1"
v-if=
"
item1.QuestionTypeKey === 'reading-comprehensio' ||
item1.QuestionTypeKey === 'listening'
"
@
click=
"chooseTopic(index, index1)"
>
{{ index1 + 1 }}.
</view
>
<view
class=
"item1"
:class=
"{ isRes: item1.IsRes }"
v-else
@
click=
"chooseTopic(index, index1)"
>
{{ index1 + 1 }}
</view
>
"
@
click=
"chooseTopic(index, index1)"
>
{{ index1 + 1 }}.
</view>
<view
class=
"item1"
:class=
"{ isRes: item1.IsRes }"
v-else
@
click=
"chooseTopic(index, index1)"
>
{{ index1 + 1
}}
</view>
<view
v-if=
"
<view
v-if=
"
item1.QuestionTypeKey === 'reading-comprehensio' ||
item1.QuestionTypeKey === 'listening'
"
class=
"flex flex_wrap"
>
<view
v-for=
"(item2, index2) in item1.QuestionContentObj"
:key=
"index2"
>
<view
class=
"item1"
:class=
"{ isRes: item2.IsRes }"
@
click=
"chooseTopic(index, index1)"
>
{{ index2 + 1 }}
</view
>
"
class=
"flex flex_wrap"
>
<view
v-for=
"(item2, index2) in item1.QuestionContentObj"
:key=
"index2"
>
<view
class=
"item1"
:class=
"{ isRes: item2.IsRes }"
@
click=
"chooseTopic(index, index1)"
>
{{ index2 + 1 }}
</view>
</view>
</view>
</view>
...
...
@@ -182,6 +150,7 @@ export default {
height
:
calc
(
100vh
-
300
rpx
);
overflow-y
:
auto
;
}
.name
,
.num
{
font-size
:
28
rpx
;
...
...
@@ -189,13 +158,16 @@ export default {
font-weight
:
800
;
color
:
#111111
;
}
.num
{
width
:
100
rpx
;
text-align
:
center
;
}
.item
{
margin-bottom
:
20
rpx
;
}
.item1-1
{
width
:
690
rpx
;
margin
:
22
rpx
0
0
0
;
...
...
@@ -204,6 +176,7 @@ export default {
font-weight
:
600
;
color
:
#111111
;
}
.item1
{
width
:
55
rpx
;
height
:
55
rpx
;
...
...
@@ -219,6 +192,7 @@ export default {
align-items
:
center
;
box-sizing
:
border-box
;
}
.item2
{
width
:
44
rpx
;
height
:
44
rpx
;
...
...
@@ -232,10 +206,12 @@ export default {
font-weight
:
bold
;
color
:
#111111
;
}
.choose
{
background-color
:
#00acf9
!important
;
color
:
#ffffff
!important
;
}
.submitBox
{
width
:
750
rpx
;
height
:
150
rpx
;
...
...
@@ -246,6 +222,7 @@ export default {
box-sizing
:
border-box
;
padding-top
:
40
rpx
;
}
.submit
{
width
:
600
rpx
;
height
:
70
rpx
;
...
...
@@ -260,6 +237,7 @@ export default {
color
:
#fff
;
margin
:
0
auto
;
}
.isRes
{
background-color
:
#00acf9
!important
;
color
:
#ffffff
!important
;
...
...
src/pages.json
View file @
f1a8b15d
...
...
@@ -6,6 +6,7 @@
},
"pages"
:
[{
"path"
:
"pages/index/index"
,
//
"path"
:
"pages/index/index2"
,
//查看考试
"style"
:
{
"navigationStyle"
:
"custom"
}
...
...
@@ -198,6 +199,7 @@
"borderStyle"
:
"black"
,
"backgroundColor"
:
"#ffffff"
,
"list"
:
[{
//
"pagePath"
:
"pages/index/index2"
,
//查看考试
"pagePath"
:
"pages/index/index"
,
"iconPath"
:
"static/image/index.png"
,
"selectedIconPath"
:
"static/image/index_a.png"
,
...
...
src/pages/exam/examGongu.vue
View file @
f1a8b15d
...
...
@@ -166,6 +166,7 @@
//获取答案改变后的数据
getAnswerChange
(
val
,
index
)
{
data
.
dataList
[
index
]
=
val
;
// console.log('kkkkkkkkkkkkk',val)
},
//获取单词错题
getWrongWord
(){
...
...
src/pages/exam/examPaper.vue
View file @
f1a8b15d
...
...
@@ -7,349 +7,160 @@
</
template
>
<
template
#
title
>
<view
class=
"flex"
style=
"justify-content: center"
@
click=
"start"
>
<van-image
width=
"30rpx"
height=
"30rpx"
fit=
"cover"
<van-image
width=
"30rpx"
height=
"30rpx"
fit=
"cover"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/clock.png"
style=
"margin-right: 10rpx"
/>
<van-count-down
:time=
"time"
:auto-start=
"autoTimeStart"
class=
"flex flex_center_center"
ref=
"countdown"
@
finish=
"examFinish"
/>
style=
"margin-right: 10rpx"
/>
<van-count-down
:time=
"time"
:auto-start=
"autoTimeStart"
class=
"flex flex_center_center"
ref=
"countdown"
@
finish=
"examFinish"
/>
</view>
</
template
>
</van-nav-bar>
<view
class=
"exam-con"
v-if=
"!isShowAnswer && !isShowNotice"
>
<i
class=
"iconfont icon-caidanzu answerSheet"
style=
"
<i
class=
"iconfont icon-caidanzu answerSheet"
style=
"
position: absolute;
right: 30rpx;
z-index: 999;
margin-top: 26rpx;
"
:style=
"{ top: `calc(${statusBarHeight}px + 105rpx)` }"
@
click=
"showAnswerSheet"
></i>
"
:style=
"{ top: `calc(${statusBarHeight}px + 105rpx)` }"
@
click=
"showAnswerSheet"
></i>
<view
v-for=
"(item, index) in peaperDetail.Paper.GroupList"
:key=
"index"
>
<!-- 数字单选题 -->
<SingleChoiceNumber
:startIndex=
"item.startIndex"
:paperData=
"item"
@
getBeforeTopic=
"getBeforeTopic()"
@
getAfterTopic=
"getAfterTopic()"
@
answerChange=
"getAnswerChange($event, index)"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isLast=
"isLast"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
v-if=
"
<SingleChoiceNumber
:startIndex=
"item.startIndex"
:paperData=
"item"
@
getBeforeTopic=
"getBeforeTopic()"
@
getAfterTopic=
"getAfterTopic()"
@
answerChange=
"getAnswerChange($event, index)"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isLast=
"isLast"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
v-if=
"
item.QuestionTypeKey === 'single-number' && index === changeIndex
"
/>
"
/>
<!-- 多选题 -->
<MultipleChoice
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getBeforeTopic=
"getBeforeTopic()"
@
getAfterTopic=
"getAfterTopic()"
<MultipleChoice
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getBeforeTopic=
"getBeforeTopic()"
@
getAfterTopic=
"getAfterTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'multiple' && index === changeIndex"
/>
v-if=
"item.QuestionTypeKey === 'multiple' && index === changeIndex"
/>
<!-- 单选题 -->
<SingleChoice
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getBeforeTopic=
"getBeforeTopic()"
@
getAfterTopic=
"getAfterTopic()"
<SingleChoice
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getBeforeTopic=
"getBeforeTopic()"
@
getAfterTopic=
"getAfterTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'single' && index === changeIndex"
/>
v-if=
"item.QuestionTypeKey === 'single' && index === changeIndex"
/>
<!-- 听力题 -->
<ListenTopic
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getBeforeTopic=
"getBeforeTopic()"
@
getAfterTopic=
"getAfterTopic()"
<ListenTopic
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getBeforeTopic=
"getBeforeTopic()"
@
getAfterTopic=
"getAfterTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'listening' && index === changeIndex"
/>
v-if=
"item.QuestionTypeKey === 'listening' && index === changeIndex"
/>
<!-- 填空题 -->
<FillInTheBlanks
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getBeforeTopic=
"getBeforeTopic()"
@
getAfterTopic=
"getAfterTopic()"
<FillInTheBlanks
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getBeforeTopic=
"getBeforeTopic()"
@
getAfterTopic=
"getAfterTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'fill-in' && index === changeIndex"
/>
v-if=
"item.QuestionTypeKey === 'fill-in' && index === changeIndex"
/>
<!-- 阅读理解 -->
<readingCompre
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
<readingCompre
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
item.QuestionTypeKey === 'reading-comprehensio' &&
index === changeIndex
"
/>
"
/>
<!-- 判断题 -->
<Judge
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
<Judge
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'judge' && index === changeIndex"
/>
v-if=
"item.QuestionTypeKey === 'judge' && index === changeIndex"
/>
<!-- 简答题 -->
<shortAnswer
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
<shortAnswer
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
item.QuestionTypeKey === 'short-answer' && index === changeIndex
"
/>
"
/>
<!-- 名词解释 -->
<nounExplanation
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
<nounExplanation
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
item.QuestionTypeKey === 'noun-explanation' && index === changeIndex
"
/>
"
/>
<!-- 论述题 -->
<easyQuestion
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
<easyQuestion
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
item.QuestionTypeKey === 'essay-question' && index === changeIndex
"
/>
"
/>
<!-- 计算题 -->
<Calculation
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
<Calculation
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'calculation' && index === changeIndex"
/>
v-if=
"item.QuestionTypeKey === 'calculation' && index === changeIndex"
/>
<!-- 分录题 -->
<EntryProblem
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
<EntryProblem
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
item.QuestionTypeKey === 'entry-problem' && index === changeIndex
"
/>
"
/>
<!-- 口语题 -->
<Spoken
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
<Spoken
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'spoken' && index === changeIndex"
/>
v-if=
"item.QuestionTypeKey === 'spoken' && index === changeIndex"
/>
<!-- 其他 -->
<Other
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
<Other
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'other' && index === changeIndex"
/>
v-if=
"item.QuestionTypeKey === 'other' && index === changeIndex"
/>
<!-- 完型填空 -->
<Cloze
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
<Cloze
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'cloze' && index === changeIndex"
/>
v-if=
"item.QuestionTypeKey === 'cloze' && index === changeIndex"
/>
<!-- 资料题 -->
<Dataquestion
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
<Dataquestion
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
item.QuestionTypeKey === 'data-question' && index === changeIndex
"
/>
"
/>
<!-- 公用选择题 -->
<SharingChoose
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
<SharingChoose
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
item.QuestionTypeKey === 'sharing-choose' && index === changeIndex
"
/>
"
/>
<!-- 排序题 -->
<SortingProblem
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
<SortingProblem
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
:isOperate=
"isOperate"
:ExamStatus=
"ExamStatus"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"
item.QuestionTypeKey === 'sorting-problem' && index === changeIndex
"
/>
"
/>
<!-- 连线题待完善 -->
<Connect
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'matching' && index === changeIndex"
/>
<Connect
:startIndex=
"item.startIndex"
:paperData=
"item"
:isLast=
"isLast"
:sort=
"index"
:sortTotal=
"peaperDetail.Paper.GroupList.length"
@
getAfterTopic=
"getAfterTopic()"
@
getBeforeTopic=
"getBeforeTopic()"
@
answerChange=
"getAnswerChange($event, index)"
v-if=
"item.QuestionTypeKey === 'matching' && index === changeIndex"
/>
</view>
</view>
<view
v-if=
"isShowAnswer"
>
<view
class=
"answer-con"
v-if=
"!isShowAnswerSee"
>
<answer
:paperData=
"peaperDetail"
:ExamStuId=
"Exam_Student_Id"
:StartTime=
"StartTime"
:ExamStatus=
"ExamStatus"
:SubmitTimes=
"SubmitTimes"
@
hideAnswer=
"hideAnswerSheet"
@
chooseTopic=
"jumpTopic"
ref=
"answer"
/>
<answer
:paperData=
"peaperDetail"
:ExamStuId=
"Exam_Student_Id"
:StartTime=
"StartTime"
:ExamStatus=
"ExamStatus"
:SubmitTimes=
"SubmitTimes"
@
hideAnswer=
"hideAnswerSheet"
@
chooseTopic=
"jumpTopic"
ref=
"answer"
/>
</view>
<!-- 答题卡查看对错 -->
<answerSee
:paperData=
"peaperDetail"
@
hideAnswer=
"hideAnswerSheet"
@
chooseTopic=
"jumpTopic"
v-if=
"isShowAnswerSee"
/>
<answerSee
:paperData=
"peaperDetail"
@
hideAnswer=
"hideAnswerSheet"
@
chooseTopic=
"jumpTopic"
v-if=
"isShowAnswerSee"
/>
</view>
<view
class=
"answer-con"
v-if=
"isShowNotice"
>
<examNotice
:msg=
"msg"
:ExamStatus=
"ExamStatus"
@
hideNotice=
"hideNotice"
/>
<examNotice
:msg=
"msg"
:ExamStatus=
"ExamStatus"
@
hideNotice=
"hideNotice"
/>
</view>
<van-toast
id=
"van-toast"
/>
</view>
...
...
@@ -470,11 +281,13 @@ export default {
getAfterTopic
()
{
this
.
changeIndex
++
;
this
.
isLast
=
false
;
// console.log('滑动下一页', this.changeIndex)
},
//往前翻
getBeforeTopic
()
{
this
.
changeIndex
--
;
this
.
isLast
=
true
;
// console.log('滑动上一页', this.changeIndex)
},
//显示答题卡
showAnswerSheet
()
{
...
...
@@ -492,6 +305,7 @@ export default {
//获取答案改变后的数据
getAnswerChange
(
val
,
index
)
{
data
.
peaperDetail
.
Paper
.
GroupList
[
index
]
=
val
;
console
.
log
(
'kkkkkkkkkkkkkkkk'
,
val
)
},
//跳转到指定题目
jumpTopic
(
val
)
{
...
...
@@ -500,6 +314,7 @@ export default {
val
.
index1
+
1
;
data
.
isShowAnswer
=
false
;
data
.
isLast
=
false
;
// console.log('跳转了', val)
},
//倒计时完成考试结束
examFinish
()
{
...
...
src/pages/login/login.vue
View file @
f1a8b15d
...
...
@@ -95,6 +95,7 @@
jumpPage
()
{
uni
.
reLaunch
({
url
:
"/pages/index/index"
,
// url: "/pages/index/index2",//跳转查看考试
});
clearTimeout
();
},
...
...
src/wxcomponents/vant/icon/index.vue
View file @
f1a8b15d
<
template
>
<uni-shadow-root
class=
"vant-icon-index"
><view
:class=
"computed.rootClass(
{ classPrefix, name })" :style="computed.rootStyle({ customStyle, color, size })" @click="onClick">
<uni-shadow-root
class=
"vant-icon-index"
>
<view
:class=
"computed.rootClass(
{ classPrefix, name })" :style="computed.rootStyle({ customStyle, color, size })"
@click="onClick">
<van-info
v-if=
"info !== null || dot"
:dot=
"dot"
:info=
"info"
custom-class=
"van-icon__info"
></van-info>
<image
v-if=
"computed.isImage(name)"
:src=
"name"
mode=
"aspectFit"
class=
"van-icon__image"
></image>
</view></uni-shadow-root>
</view>
</uni-shadow-root>
</
template
>
<wxs
src=
"./index.wxs"
module=
"computed"
></wxs>
<
script
>
import
VanInfo
from
'../info/index.vue'
global
[
'__wxVueOptions'
]
=
{
components
:{
'van-info'
:
VanInfo
}
}
global
[
'__wxVueOptions'
]
=
{
components
:
{
'van-info'
:
VanInfo
}
}
global
[
'__wxRoute'
]
=
'vant/icon/index'
import
{
VantComponent
}
from
'../common/component'
;
...
...
@@ -1005,7 +1008,7 @@ export default global['__wxComponents']['vant/icon/index']
font-style
:
normal
;
font-display
:
auto
;
font-family
:
vant-icon
;
src
:
url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.woff2?t=1621320123079)
format
(
"woff2"
),
url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.woff?t=1621320123079)
format
(
"woff"
),
url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.ttf?t=1621320123079)
format
(
"truetype"
);
src
:
url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.woff2?t=1621320123079)
format
(
"woff2"
),
url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.woff?t=1621320123079)
format
(
"woff"
),
url(https://at.alicdn.com/t/font_2553510_7cds497uxwn.ttf?t=1621320123079)
format
(
"truetype"
);
}
.vant-icon-index
{
...
...
src/wxcomponents/vant/notify/notify.js
View file @
f1a8b15d
...
...
@@ -9,9 +9,9 @@ const defaultOptions = {
top
:
0
,
color
:
WHITE
,
safeAreaInsetTop
:
false
,
onClick
:
()
=>
{},
onOpened
:
()
=>
{},
onClose
:
()
=>
{},
onClick
:
()
=>
{
},
onOpened
:
()
=>
{
},
onClose
:
()
=>
{
},
};
function
parseOptions
(
message
)
{
if
(
message
==
null
)
{
...
...
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