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
Expand all
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
This diff is collapsed.
Click to expand it.
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