Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-exam-show
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-exam-show
Commits
2d907bda
提交
2d907bda
authored
11月 07, 2020
作者:
lihuihui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改bug
上级
1fda54c0
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
116 行增加
和
86 行删除
+116
-86
package.json
package.json
+1
-1
answerCard.vue
src/components/exam/answerCard.vue
+24
-10
examAnswer.vue
src/pages/exam/examAnswer.vue
+1
-0
confirmInfo.vue
src/pages/login/confirmInfo.vue
+69
-58
index.vue
src/pages/login/index.vue
+21
-17
没有找到文件。
package.json
浏览文件 @
2d907bda
...
...
@@ -7,7 +7,7 @@
"check:node"
:
"node build/checkNodeVersion.js"
,
"lint"
:
"eslint --ext .js --ext .jsx --ext .vue src/"
,
"lint:fix"
:
"eslint --fix --ext .js --ext .jsx --ext .vue src/"
,
"dev"
:
"npm run check:node && cross-env NODE_ENV=development node build/getSSL.js && cross-env NODE_ENV=development SERVER_PORT=300
1
webpack-dev-server --inline --progress --config build/webpack.client.conf.js"
,
"dev"
:
"npm run check:node && cross-env NODE_ENV=development node build/getSSL.js && cross-env NODE_ENV=development SERVER_PORT=300
3
webpack-dev-server --inline --progress --config build/webpack.client.conf.js"
,
"build:test"
:
"npm run check:node && cross-env NODE_ENV=test webpack --progress --config build/webpack.client.conf.js && cross-env NODE_ENV=test node ./build/uploadAliyunCDN.js"
,
"build:pro"
:
"npm run check:node && cross-env NODE_ENV=production webpack --progress --config build/webpack.client.conf.js && cross-env NODE_ENV=production node ./build/uploadAliyunCDN.js"
},
...
...
src/components/exam/answerCard.vue
浏览文件 @
2d907bda
...
...
@@ -86,6 +86,24 @@
</div>
</template>
</div>
<ul
class=
"flag-tips"
>
<li>
<div
class=
"circle1"
></div>
<div
class=
"txt"
>
已答
</div>
</li>
<li>
<div
class=
"circle2"
></div>
<div
class=
"txt"
>
未答
</div>
</li>
<li>
<div
class=
"circle3"
></div>
<div
class=
"txt"
>
当前
</div>
</li>
<li>
<div
class=
"circle4"
></div>
<div
class=
"txt"
>
标记
</div>
</li>
</ul>
</div>
</template>
<
script
>
...
...
@@ -169,14 +187,15 @@ export default {
margin-right
:
0
;
}
&
.stu1
{
background
:
#
EEEEEE
;
border
:
1px
solid
#
CCCCCC
;
background
:
#
999
;
border
:
1px
solid
#
999
;
}
&
.stu2
{
width
:
22px
;
height
:
22px
;
line-height
:
22px
;
border
:
2px
solid
#0FC118
;
background
:
rgba
(
15
,
193
,
24
,
0
.1
);
}
&
.stu3
{
&
:
:
after
{
...
...
@@ -208,14 +227,8 @@ export default {
.circle1
{
width
:
24px
;
height
:
24px
;
background
:
#EEEEEE
;
border
:
1px
solid
#CCCCCC
;
border-radius
:
50%
;
}
.circle1
{
width
:
24px
;
height
:
24px
;
border
:
1px
solid
#CCCCCC
;
background
:
#999
;
border
:
1px
solid
#999
;
border-radius
:
50%
;
}
.circle2
{
...
...
@@ -228,6 +241,7 @@ export default {
width
:
24px
;
height
:
24px
;
border
:
2px
solid
#0FC118
;
background
:
rgba
(
15
,
193
,
24
,
0
.1
);
border-radius
:
50%
;
}
.circle4
{
...
...
src/pages/exam/examAnswer.vue
浏览文件 @
2d907bda
...
...
@@ -210,6 +210,7 @@ export default {
line-height
:
80px
;
}
.right
{
position
:
relative
;
width
:
260px
;
margin-left
:
auto
;
display
:
flex
;
...
...
src/pages/login/confirmInfo.vue
浏览文件 @
2d907bda
<
template
>
<div
class=
"confirm-mian"
>
<div
class=
"con-info"
v-if=
"!isTreaty"
>
<div
class=
"head"
>
全国统一高考试卷A
</div>
<div
class=
"
info-form
"
>
<div
class=
"
tit"
>
基本信息确认
</div
>
<ul
>
<
li
>
<
div
class=
"name"
>
姓名
</div
>
<input
type=
"text"
v-model=
"form.name"
@
keydown=
"keydown($event)
"
>
</li
>
<li
>
<div
class=
"name"
>
学号
</div
>
<input
type=
"text"
v-model=
"form.student_number"
@
keydown=
"keydown($event)"
>
</li
>
<li
>
<div
class=
"name"
>
性别
</div>
<div
class=
"select-btn"
>
<div
:class=
"form.gender == 1 && 'active'"
@
click=
"selectGender(1)"
>
男
</div>
<
div
:class=
"form.gender == 2 && 'active'"
@
click=
"selectGender(2)"
>
女
</div
>
</
div
>
</
li
>
</ul
>
<
div
class=
"confirm-btn"
@
click=
"confirmInfo"
>
确定
<
/div>
<div
class=
"head"
>
{{
examInfo
.
name
}}
</div>
<div
class=
"
box
"
>
<div
class=
"
info-form"
>
<div
class=
"tit"
>
基本信息确认
</div
>
<
ul
>
<
template
v-for=
"(item, index) in allForm"
>
<li
:key=
"index"
v-if=
"item.key != 'gender'
"
>
<div
class=
"name"
>
{{
item
.
name
}}
</div
>
<input
:type=
"typeInput(item.key)"
v-model=
"form[item.key]"
@
keydown=
"keydown($event)"
>
</li
>
<li
:key=
"index"
v-else
>
<div
class=
"name"
>
性别
</div
>
<div
class=
"select-btn"
>
<div
:class=
"form.gender == 1 && 'active'"
@
click=
"selectGender(1)"
>
男
</div>
<div
:class=
"form.gender == 2 && 'active'"
@
click=
"selectGender(2)"
>
女
</div
>
</div>
<
/li
>
</
template
>
</
ul
>
<div
class=
"confirm-btn"
@
click=
"confirmInfo"
>
确定
</div
>
</div>
</div>
</div>
<div
class=
"explain-box"
v-if=
"isTreaty"
>
<div
class=
"head"
>
全国统一高考试卷A
</div>
<div
class=
"head"
>
{{ examInfo.name }}
</div>
<div
class=
"exp-text"
>
<p>
为保证本考试的公平性和严肃性,本次考试将会:{{examInfo.config.promise_message}}
</p>
<!-- <p v-html="examInfo.config.promise_message"></p> -->
...
...
@@ -47,18 +47,37 @@ export default {
return
{
sInfo
:
JSON
.
parse
(
window
.
sessionStorage
.
getItem
(
'studentInfo'
)),
examInfo
:
JSON
.
parse
(
window
.
sessionStorage
.
getItem
(
'examInfo'
)),
form
:
{
name
:
''
,
student_number
:
this
.
$store
.
state
.
studentInfo
.
student_number
,
gender
:
0
},
form
:
{},
allForm
:
[],
isTreaty
:
false
}
},
mounted
()
{
created
()
{
this
.
setInput
()
this
.
defaultInto
()
},
mounted
()
{
// console.log(this.examInfo.config.info)
},
computed
:
{
typeInput
()
{
return
(
k
)
=>
{
const
type
=
k
===
'age'
||
k
===
'mobile'
||
k
===
'id_number'
?
'number'
:
'text'
return
type
}
}
},
methods
:
{
setInput
()
{
const
key
=
Object
.
keys
(
this
.
examInfo
.
config
.
info
)
const
value
=
Object
.
values
(
this
.
examInfo
.
config
.
info
)
for
(
let
i
=
0
;
i
<
value
.
length
;
i
++
)
{
this
.
form
[
key
[
i
]]
=
''
value
[
i
].
key
=
key
[
i
]
}
this
.
allForm
=
value
console
.
log
(
this
.
allForm
)
},
// 禁止input输入空格
keydown
(
event
)
{
event
.
keyCode
===
32
&&
(
event
.
returnValue
=
false
)
...
...
@@ -68,29 +87,17 @@ export default {
// console.log(this.isExamStatus(this.examInfo.start_time > 0))
this
.
isExamStatus
(
this
.
examInfo
.
start_time
)
>
0
?
(()
=>
{
// this.$router.push({
// name: 'examTime',
// replace: true
// })
this
.
$router
.
replace
({
path
:
'/examTime'
})
})()
:
(()
=>
{
// this.$router.push({
// path: `/examAnswer/${this.examInfo.exam_id}`,
// replace: true
// })
this
.
$router
.
replace
({
path
:
`/examAnswer/
${
this
.
examInfo
.
exam_id
}
`
})
})()
},
disagree
()
{
// this.$router.push({
// path: `/login/${this.examInfo.exam_id}`,
// replace: true
// })
this
.
$router
.
replace
({
path
:
`/login/
${
this
.
examInfo
.
exam_id
}
`
})
...
...
@@ -105,6 +112,8 @@ export default {
// 选择男女
selectGender
(
t
)
{
this
.
form
.
gender
=
t
this
.
$forceUpdate
()
console
.
log
(
this
.
form
)
},
// 默认信息获取
defaultInto
()
{
...
...
@@ -115,9 +124,7 @@ export default {
},
// 确认信息
confirmInfo
()
{
const
val
=
Object
.
values
(
this
.
form
)
console
.
log
(
this
.
verification
(
val
))
if
(
this
.
verification
(
val
))
{
if
(
this
.
verification
())
{
action
.
Login
.
confirmInfo
(
this
.
form
).
then
(
res
=>
{
if
(
!
res
.
code
)
{
this
.
isTreaty
=
true
...
...
@@ -130,12 +137,13 @@ export default {
}
},
// 验证信息是否为空
verification
(
val
)
{
console
.
log
(
val
)
for
(
let
i
=
0
;
i
<
val
.
length
;
i
++
)
{
if
(
val
[
i
]
===
''
||
val
[
i
]
===
0
||
val
[
i
]
===
'0'
)
{
this
.
$alert
(
'请完善信息'
)
return
false
verification
()
{
for
(
let
i
=
0
;
i
<
this
.
allForm
.
length
;
i
++
)
{
if
(
!
this
.
allForm
[
i
].
required
)
{
if
(
this
.
form
[
this
.
allForm
[
i
].
key
]
===
''
)
{
this
.
$alert
(
'请完善信息'
)
return
false
}
}
}
return
true
...
...
@@ -144,6 +152,15 @@ export default {
}
</
script
>
<
style
lang=
"scss"
scoped
>
.box
{
display
:
flex
;
justify-content
:
center
;
background
:
url(../../assets/images/con-info-bg.png)
center
;
background-size
:
cover
;
background-attachment
:fixed
;
background-position
:
0
0
;
padding-bottom
:
100px
;
}
.confirm-mian
{
width
:
100%
;
height
:
100%
;
...
...
@@ -151,10 +168,9 @@ export default {
.con-info
{
width
:
100%
;
height
:
100%
;
background
:
url(../../assets/images/con-info-bg.png)
;
background-size
:
cover
;
.head
{
// width: 100%;
position
:
sticky
;
top
:
0
;
height
:
80px
;
background
:
#FFFFFF
;
font-size
:
24px
;
...
...
@@ -164,16 +180,11 @@ export default {
padding-left
:
30px
;
}
.info-form
{
// margin: 0 auto;
position
:
absolute
;
top
:
50%
;
left
:
50%
;
-webkit-transform
:
translate
(
-50%
,-
50%
);
margin-top
:
40px
;
width
:
400px
;
height
:
458px
;
background
:
#FFFFFF
;
border-radius
:
8px
;
padding-bottom
:
30px
;
.tit
{
text-align
:
center
;
margin-top
:
30px
;
...
...
src/pages/login/index.vue
浏览文件 @
2d907bda
<
template
>
<div
class=
"login-box"
>
<div
class=
"content"
>
<div
class=
"mian-cont900"
>
<div
class=
"mian-cont900
por
"
>
<div
class=
"title"
>
{{
data
.
name
}}
</div>
<div
class=
"exam-time"
>
<div
class=
"tit"
>
考试时间
</div>
...
...
@@ -15,7 +15,7 @@
<div
:class=
"loginParam.is ? 'form prohibit' : 'form'"
>
<div
class=
"tips"
>
{{
tips
}}
</div>
<!-- 您登录的次数已超过最大限制 -->
<input
type=
"
text"
@
click=
"fullScreen"
v-model=
"examineeNumber"
placeholder=
"请输入准考证号"
v-show=
"!loginParam.is
"
>
<input
type=
"
number"
@
click=
"fullScreen"
v-model=
"examineeNumber"
placeholder=
"请输入准考证号"
v-show=
"!loginParam.is"
@
keydown=
"keydown($event)
"
>
<input
type=
"text"
@
click=
"fullScreen"
placeholder=
"请输入准考证号"
readonly=
"readonly"
class=
"prohibit"
v-show=
"loginParam.is"
>
<div
class=
"btn"
@
click=
"login"
>
登录
</div>
<!--
<div
class=
"btn prohibit"
>
登录
</div>
-->
...
...
@@ -57,12 +57,7 @@ export default {
}
},
mounted
()
{
// window.onresize = () => {
// this.isPopup = true
// console.log(1111)
// }
action
.
Login
.
getExamInfo
(
this
.
$route
.
params
.
examId
).
then
(
res
=>
{
// this.$store.commit('setExamInfo', res)
window
.
sessionStorage
.
setItem
(
'examInfo'
,
JSON
.
stringify
(
res
))
this
.
data
=
res
if
(
this
.
getEnabledTime
()
<
0
)
{
...
...
@@ -91,10 +86,6 @@ export default {
const
curTime
=
new
Date
()
const
endtTime
=
new
Date
(
this
.
data
.
end_time
)
const
countTime
=
endtTime
.
getTime
()
-
curTime
.
getTime
()
// const setStartTime = this.data.config.enabled_after
// ? new Date(startTime.setMinutes(startTime.getMinutes() + this.data.config.after_login))
// : curTime
// const countTime = setStartTime.getTime() - curTime.getTime()
return
countTime
},
getEnabledTime
()
{
...
...
@@ -138,18 +129,21 @@ export default {
}
return
false
},
// 禁止input输入空格
keydown
(
event
)
{
event
.
keyCode
===
32
&&
(
event
.
returnValue
=
false
)
},
// 点击登录
login
()
{
if
(
!
this
.
loginParam
.
is
)
{
if
(
this
.
examineeNumber
===
''
)
{
this
.
$alert
(
'请输入准考证号'
)
return
false
}
action
.
Login
.
userLogin
({
examinee_number
:
this
.
examineeNumber
}).
then
(
res
=>
{
// this.$store.commit('setStudentInfo', res)
window
.
sessionStorage
.
setItem
(
'studentInfo'
,
JSON
.
stringify
(
res
))
const
status
=
parseInt
(
res
.
sheet_status
)
if
(
status
===
0
)
{
// this.$router.push({
// name: 'confirmInfo',
// replace: true
// })
this
.
$router
.
replace
({
name
:
'confirmInfo'
})
...
...
@@ -168,20 +162,30 @@ export default {
}
</
script
>
<
style
lang=
"scss"
scoped
>
.welcome-msg
{
padding-top
:
130px
;
}
.mian-cont900
{
margin
:
0
auto
;
width
:
900px
;
&
.por
{
position
:
absolute
;
bottom
:
0
;
left
:
50%
;
-webkit-transform
:
translateX
(
-50%
);
margin-bottom
:
-115px
;
}
}
.login-box
{
width
:
100%
;
height
:
100%
;
background
:
#fff
;
.content
{
position
:
relative
;
width
:
100%
;
height
:
387px
;
height
:
50%
;
// height: 387px;
background
:
url(../../assets/images/login-bg.png)
;
background-size
:
100%
100%
;
.title
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论