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
97cc6d7b
Commit
97cc6d7b
authored
Mar 11, 2022
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
780bc6c4
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
214 additions
and
188 deletions
+214
-188
exam.js
src/api/exam.js
+12
-0
answer.vue
src/components/question/subject/answer.vue
+187
-168
MyExam.vue
src/pages/exam/MyExam.vue
+7
-15
examGongu.vue
src/pages/exam/examGongu.vue
+6
-3
examGradeList.vue
src/pages/exam/examGradeList.vue
+2
-2
No files found.
src/api/exam.js
View file @
97cc6d7b
...
...
@@ -179,4 +179,16 @@ export function SetStudentStartExam(data) {
method
:
'post'
,
data
})
}
/**
* 保存考试接口
* @param {JSON参数} data
*/
export
function
SetStudentExam
(
data
)
{
return
request
({
url
:
'/Exam/SetStudentExam'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/components/question/subject/answer.vue
View file @
97cc6d7b
<
template
>
<view>
<van-nav-bar
fixed
>
<template
#
left
>
<van-icon
name=
"cross"
style=
"font-size: 32rpx; color: #111"
@
click=
"back"
/>
</
template
>
<
template
#
title
>
<view
style=
"
<view>
<van-nav-bar
fixed
>
<template
#
left
>
<van-icon
name=
"cross"
style=
"font-size: 32rpx; color: #111"
@
click=
"back"
/>
</
template
>
<
template
#
title
>
<view
style=
"
font-size: 32rpx;
color: #111;
font-family: PingFang SC;
font-weight: 800;
"
>
答题卡
</view
>
</
template
>
</van-nav-bar>
<view
class=
"answer-sheets"
>
<view
class=
"item"
>
<view
class=
"flex flex_wrap"
>
<view
v-for=
"(item, index) in questionList"
:key=
"index"
class=
"flex flex_wrap"
>
<view
class=
"item1"
:class=
"{ isRes: item.StundetAnswer.length>0 }"
@
click=
"chooseTopic(index)"
>
{{ index + 1 }}
</view
>
</view>
</view>
</view>
</view>
<view
class=
"submitBox"
v-if=
"ExamStatus === 2"
>
<view
class=
"submit"
@
click=
"savePaper"
>
立即提交
</view>
</view>
<van-toast
id=
"van-toast"
/>
</view>
"
>
答题卡
</view>
</
template
>
</van-nav-bar>
<view
class=
"answer-sheets"
>
<view
class=
"item"
>
<view
class=
"flex flex_wrap"
>
<view
v-for=
"(item, index) in questionList"
:key=
"index"
class=
"flex flex_wrap"
>
<view
class=
"item1"
:class=
"{ isRes: item.StundetAnswer.length>0 }"
@
click=
"chooseTopic(index)"
>
{{ index + 1 }}
</view>
</view>
</view>
</view>
</view>
<view
class=
"submitBox"
>
<view
class=
"submit"
@
click=
"savePaper"
>
立即提交
</view>
</view>
<van-toast
id=
"van-toast"
/>
</view>
</template>
<
script
>
import
{
ref
,
reactive
,
toRefs
,
toRef
,
getCurrentInstance
,
watch
,
computed
,
onMounted
,
}
from
"vue"
;
// import { submitPaper } from "../../api/exam";
export
default
{
props
:
{
paperData
:
Array
,
},
setup
(
props
,
ctx
)
{
let
data
=
reactive
({
questionList
:
props
.
paperData
});
let
methods
=
{
chooseTopic
(
index
)
{
ctx
.
emit
(
"chooseTopic"
,
index
);
},
//隐藏答题卡
back
()
{
ctx
.
emit
(
"hideAnswer"
);
},
//交卷
async
savePaper
()
{
},
};
return
{
...
toRefs
(
data
),
...
methods
,
};
},
};
import
{
ref
,
reactive
,
toRefs
,
toRef
,
getCurrentInstance
,
watch
,
computed
,
onMounted
,
}
from
"vue"
;
import
{
SetStudentExam
}
from
"../../../api/exam"
;
export
default
{
props
:
{
paperData
:
Array
,
saveId
:
Number
},
setup
(
props
,
ctx
)
{
let
data
=
reactive
({
questionList
:
props
.
paperData
,
saveMsg
:
{
Id
:
props
.
saveId
,
ExamDetailsList
:
[]
}
});
let
methods
=
{
chooseTopic
(
index
)
{
ctx
.
emit
(
"chooseTopic"
,
index
);
},
//隐藏答题卡
back
()
{
ctx
.
emit
(
"hideAnswer"
);
},
//交卷
async
savePaper
()
{
console
.
log
(
data
.
questionList
,
'questionList'
);
// data.questionList.forEach(x => {
// let obj = {
// DetailId: 0,
// ExamId: 0,
// QuestionId: 1,
// Title: "123",
// QuestionContent: "132131",
// QuestionTypeId: 1,
// QuestionTypeKey: "single",
// Answer: "",
// AnswerParse: "",
// IsAnswer: 1,
// IsWrong: 1,
// }
// })
console
.
log
(
data
.
saveMsg
,
'saveMsg'
);
},
};
return
{
...
toRefs
(
data
),
...
methods
,
};
},
};
</
script
>
<
style
scoped
>
.answer-sheets
{
box-sizing
:
border-box
;
padding
:
30
rpx
;
height
:
calc
(
100vh
-
300
rpx
);
overflow-y
:
auto
;
margin-top
:
100
rpx
;
}
.name
,
.num
{
font-size
:
28
rpx
;
font-family
:
PingFang
SC
;
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
;
font-size
:
26
rpx
;
font-family
:
PingFang
SC
;
font-weight
:
600
;
color
:
#111111
;
}
.item1
{
width
:
55
rpx
;
height
:
55
rpx
;
border
:
1px
solid
#e2e2e2
;
border-radius
:
50%
;
margin
:
22
rpx
;
font-size
:
26
rpx
;
font-family
:
PingFang
SC
;
font-weight
:
600
;
color
:
#111111
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
box-sizing
:
border-box
;
}
.item2
{
width
:
44
rpx
;
height
:
44
rpx
;
border
:
1px
solid
#e2e2e2
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
44
rpx
;
margin-right
:
55
rpx
;
font-size
:
26
rpx
;
font-family
:
PingFang
SC
;
font-weight
:
bold
;
color
:
#111111
;
}
.choose
{
background-color
:
#00acf9
!important
;
color
:
#ffffff
!important
;
}
.submitBox
{
width
:
750
rpx
;
height
:
150
rpx
;
background-color
:
#e2e2e2
;
position
:
fixed
;
left
:
0
;
bottom
:
0
;
box-sizing
:
border-box
;
padding-top
:
40
rpx
;
}
.submit
{
width
:
600
rpx
;
height
:
70
rpx
;
border-radius
:
35
rpx
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background-color
:
#00acf9
;
font-size
:
28
rpx
;
font-family
:
PingFang
SC
;
font-weight
:
bold
;
color
:
#fff
;
margin
:
0
auto
;
}
.isRes
{
background-color
:
#00acf9
!important
;
color
:
#ffffff
!important
;
border
:
none
!important
;
}
.answer-sheets
{
box-sizing
:
border-box
;
padding
:
30
rpx
;
height
:
calc
(
100vh
-
300
rpx
);
overflow-y
:
auto
;
margin-top
:
100
rpx
;
}
.name
,
.num
{
font-size
:
28
rpx
;
font-family
:
PingFang
SC
;
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
;
font-size
:
26
rpx
;
font-family
:
PingFang
SC
;
font-weight
:
600
;
color
:
#111111
;
}
.item1
{
width
:
55
rpx
;
height
:
55
rpx
;
border
:
1px
solid
#e2e2e2
;
border-radius
:
50%
;
margin
:
22
rpx
;
font-size
:
26
rpx
;
font-family
:
PingFang
SC
;
font-weight
:
600
;
color
:
#111111
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
box-sizing
:
border-box
;
}
.item2
{
width
:
44
rpx
;
height
:
44
rpx
;
border
:
1px
solid
#e2e2e2
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
44
rpx
;
margin-right
:
55
rpx
;
font-size
:
26
rpx
;
font-family
:
PingFang
SC
;
font-weight
:
bold
;
color
:
#111111
;
}
.choose
{
background-color
:
#00acf9
!important
;
color
:
#ffffff
!important
;
}
.submitBox
{
width
:
750
rpx
;
height
:
150
rpx
;
background-color
:
#e2e2e2
;
position
:
fixed
;
left
:
0
;
bottom
:
0
;
box-sizing
:
border-box
;
padding-top
:
40
rpx
;
}
.submit
{
width
:
600
rpx
;
height
:
70
rpx
;
border-radius
:
35
rpx
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background-color
:
#00acf9
;
font-size
:
28
rpx
;
font-family
:
PingFang
SC
;
font-weight
:
bold
;
color
:
#fff
;
margin
:
0
auto
;
}
.isRes
{
background-color
:
#00acf9
!important
;
color
:
#ffffff
!important
;
border
:
none
!important
;
}
</
style
>
src/pages/exam/MyExam.vue
View file @
97cc6d7b
...
...
@@ -225,27 +225,27 @@
<view
class=
"Janpa_Level"
>
<view
class=
"Ques_Title"
>
日语等级评测
</view>
<view
class=
"Ques_Join"
>
<view
class=
"Ques_Inner"
@
click=
"goJpGrade()"
>
<view
class=
"Ques_Inner"
@
click=
"goJpGrade(
5
)"
>
<text
class=
"Ques_level"
>
N5
</text>
<text
class=
"Ques_Big"
>
N5
</text>
<text
class=
"Ques_Jnber"
>
206人参与
</text>
</view>
<view
class=
"Ques_Inner"
>
<view
class=
"Ques_Inner"
@
click=
"goJpGrade(4)"
>
<text
class=
"Ques_level"
>
N4
</text>
<text
class=
"Ques_Big"
>
N4
</text>
<view
class=
"Ques_Jnber"
>
206人参与
</view>
</view>
<view
class=
"Ques_Inner"
>
<view
class=
"Ques_Inner"
@
click=
"goJpGrade(3)"
>
<text
class=
"Ques_level"
>
N3
</text>
<text
class=
"Ques_Big"
>
N3
</text>
<view
class=
"Ques_Jnber"
>
206人参与
</view>
</view>
<view
class=
"Ques_Inner"
>
<view
class=
"Ques_Inner"
@
click=
"goJpGrade(2)"
>
<text
class=
"Ques_level"
>
N2
</text>
<text
class=
"Ques_Big"
>
N2
</text>
<view
class=
"Ques_Jnber"
>
206人参与
</view>
</view>
<view
class=
"Ques_Inner"
>
<view
class=
"Ques_Inner"
@
click=
"goJpGrade(1)"
>
<text
class=
"Ques_level"
>
N1
</text>
<text
class=
"Ques_Big"
>
N1
</text>
<view
class=
"Ques_Jnber"
>
206人参与
</view>
...
...
@@ -254,14 +254,6 @@
</view>
<view
class=
"Janpa_Level"
style=
"margin-top:20rpx;"
>
<view
class=
"Ques_Title"
>
日语真题演练
</view>
<view
class=
"JanpaTrueTi"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/trueTi.png"
alt=
""
/>
<view
class=
"Join_Content"
>
<view
class=
"Join_Linian"
>
历年真题演练
</view>
<view>
1人参与
</view>
</view>
</view>
<view
class=
"JanpaTrueTi"
style=
"margin:26rpx 0 20rpx 0"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/true2.png"
alt=
""
/>
<view
class=
"Join_Content"
>
...
...
@@ -353,9 +345,9 @@
}
},
//跳转到日语等级评测列表
goJpGrade
(){
goJpGrade
(
Type
){
uni
.
navigateTo
({
url
:
'/pages/exam/examGradeList?BankType='
+
data
.
TypeMsg
.
Bank
Type
url
:
'/pages/exam/examGradeList?BankType='
+
Type
});
}
};
...
...
src/pages/exam/examGongu.vue
View file @
97cc6d7b
...
...
@@ -26,7 +26,7 @@
</swiper-item>
</swiper>
</view>
<answer
v-if=
"isShowAnswer"
:paperData=
"dataList"
@
hideAnswer=
"hideAnswer"
@
chooseTopic=
"jumpTopic"
></answer>
<answer
v-if=
"isShowAnswer"
:paperData=
"dataList"
@
hideAnswer=
"hideAnswer"
:saveId=
"saveId"
@
chooseTopic=
"jumpTopic"
></answer>
</view>
</template>
...
...
@@ -65,7 +65,7 @@
let
data
=
reactive
({
dataList
:
[],
msg
:
{
pageIndex
:
4
,
pageIndex
:
1
,
pageSize
:
20
,
BankId
:
0
},
...
...
@@ -74,6 +74,7 @@
BankId
:
1
,
StudentId
:
1
},
saveId
:
0
,
//提交保存的时候用
current
:
0
,
//默认从第几个开始-用于从快捷菜单点入
isShowJx
:
false
,
Count
:
0
,
...
...
@@ -141,7 +142,9 @@
getStart
(){
data
.
startMsg
.
StudentId
=
UserInfo
.
AccountId
;
SetStudentStartExam
(
data
.
startMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
){
data
.
saveId
=
res
.
Data
.
Id
;
}
})
}
};
...
...
src/pages/exam/examGradeList.vue
View file @
97cc6d7b
...
...
@@ -145,7 +145,7 @@
<van-empty
description=
"暂无数据"
v-if=
"dataList.length === 0"
/>
<scroll-view
:scroll-top=
"0"
scroll-y=
"true"
class=
"scroll-box"
@
scrolltolower=
"lower"
v-if=
"dataList.length > 0"
>
<view
class=
"Grade_List"
v-for=
"(item,index) in dataList"
:key=
"index"
@
click=
"getDetail(item.BankId)"
>
<view
class=
"Grade_List"
v-for=
"(item,index) in dataList"
:key=
"index"
>
<view
class=
"Grade_Title"
>
{{
item
.
BankName
}}
</view>
<view
class=
"Grade_Pingce"
>
测评次数 1
</view>
<view
class=
"Grade_Join"
>
...
...
@@ -183,7 +183,7 @@
</view>
</view>
<view>
<view
class=
"Grade_Gonggu"
>
巩固练习
</view>
<view
class=
"Grade_Gonggu"
@
click=
"getDetail(item.BankId)"
>
巩固练习
</view>
<view
class=
"Grade_jiexi"
>
查看解析
</view>
</view>
</view>
...
...
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