Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
campSite
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨梦雪
campSite
Commits
b4cc10cd
Commit
b4cc10cd
authored
Oct 15, 2021
by
杨梦雪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2021/10/15-18-24
parent
ca4e3559
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
522 additions
and
166 deletions
+522
-166
src/common/utils.js
src/common/utils.js
+2
-0
src/common/validator.js
src/common/validator.js
+98
-0
src/components/breadcrumb.vue
src/components/breadcrumb.vue
+68
-13
src/components/index/SignUp/confirm.vue
src/components/index/SignUp/confirm.vue
+16
-12
src/components/index/SignUp/invitation.vue
src/components/index/SignUp/invitation.vue
+7
-12
src/components/index/SignUp/referInfo.vue
src/components/index/SignUp/referInfo.vue
+277
-115
src/request/index/network.js
src/request/index/network.js
+2
-2
src/router/index.js
src/router/index.js
+10
-3
src/views/index/camp/SignUp.vue
src/views/index/camp/SignUp.vue
+22
-6
src/views/index/login/Login.vue
src/views/index/login/Login.vue
+20
-3
No files found.
src/common/utils.js
View file @
b4cc10cd
/* eslint-disable */
// 验证用户名
export
function
dottom
(
username
)
{
const
myReg
=
/^
([
1-9
]
+
[
0-9
]
*
)
|
((([
1-9
]
+
[
0-9
]
*
)
|
[
0
])
.
[
0-9
]{1,2})
|
[
0
]
$/
;
...
...
src/common/validator.js
0 → 100644
View file @
b4cc10cd
/* eslint-disable */
//用户名
const
name
=
/^
[
a-zA-Z_0-9
]
*
[
a-zA-Z
][
a-zA-Z_0-9
]
*$/
// 数字
const
numberReg
=
/^
\d
+$|^
\d
+
[
.
]?\d
+$/
// 中文
const
cnReg
=
/^
[\u
4e00-
\u
9fa5
]
+$/
// 邮箱
const
emailReg
=
/^
([
a-zA-Z0-9_.-
])
+@
(([
a-zA-Z0-9-
])
+
\.)
+
([
a-zA-Z0-9
]{2,4})
+$/
// 手机号
const
phoneReg
=
/^1
(
3|4|5|6|7|8|9
)\d{9}
$/
export
default
{
//手机号验证
validatePhone
:
function
(
rule
,
value
,
callback
)
{
if
(
!
phoneReg
.
test
(
value
)
||
value
.
length
!==
11
)
{
callback
(
new
Error
(
'
手机号格式错误!
'
))
}
else
{
callback
()
}
},
validateid_card
:
function
(
rule
,
value
,
callback
)
{
if
(
!
value
)
{
return
callback
(
new
Error
(
"
身份证号不能为空
"
));
}
if
(
!
/
(
^
\d{15}
$
)
|
(
^
\d{17}(\d
|X|x
)
$
)
/
.
test
(
value
))
{
callback
(
new
Error
(
"
你输入的身份证长度或格式错误
"
));
}
//身份证城市
var
aCity
=
{
11
:
"
北京
"
,
12
:
"
天津
"
,
13
:
"
河北
"
,
14
:
"
山西
"
,
15
:
"
内蒙古
"
,
21
:
"
辽宁
"
,
22
:
"
吉林
"
,
23
:
"
黑龙江
"
,
31
:
"
上海
"
,
32
:
"
江苏
"
,
33
:
"
浙江
"
,
34
:
"
安徽
"
,
35
:
"
福建
"
,
36
:
"
江西
"
,
37
:
"
山东
"
,
41
:
"
河南
"
,
42
:
"
湖北
"
,
43
:
"
湖南
"
,
44
:
"
广东
"
,
45
:
"
广西
"
,
46
:
"
海南
"
,
50
:
"
重庆
"
,
51
:
"
四川
"
,
52
:
"
贵州
"
,
53
:
"
云南
"
,
54
:
"
西藏
"
,
61
:
"
陕西
"
,
62
:
"
甘肃
"
,
63
:
"
青海
"
,
64
:
"
宁夏
"
,
65
:
"
新疆
"
,
71
:
"
台湾
"
,
81
:
"
香港
"
,
82
:
"
澳门
"
,
91
:
"
国外
"
};
if
(
!
aCity
[
parseInt
(
value
.
substr
(
0
,
2
))])
{
callback
(
new
Error
(
"
你的身份证地区非法
"
));
}
},
// 数字验证
validateNumber
:
function
(
rule
,
value
,
callback
)
{
if
(
!
numberReg
.
test
(
value
))
{
callback
(
new
Error
(
'
请输入数字
'
))
}
else
{
callback
()
}
},
// 中文验证
validateCn
:
function
(
rule
,
value
,
callback
)
{
if
(
!
cnReg
.
test
(
value
))
{
callback
(
new
Error
(
"
请输入中文
"
));
}
else
{
callback
()
}
},
// 邮箱验证
validateEmail
:
function
(
rule
,
value
,
callback
)
{
if
(
!
emailReg
.
test
(
value
))
{
callback
(
new
Error
(
'
邮箱格式错误!
'
))
}
else
{
callback
()
}
},
}
src/components/breadcrumb.vue
View file @
b4cc10cd
...
...
@@ -2,57 +2,111 @@
<div
class=
"steps flex"
>
<!-- 1 -->
<div
class=
"step flex"
>
<div
class=
"cricle
"
>
<div
:class=
"'cricle' + ' ' + (status >= 0 ? 'speed-bg-color' : '')
"
>
<span
class=
"num"
>
1
</span>
</div>
<div
class=
"step_title"
>
确认报名须知
</div>
<div
:class=
"'step_title' + ' ' + (status >= 0 ? 'speed-text-color' : '')"
>
确认报名须知
</div>
<div>
<img
src=
"../assets/img/signUp/left.png"
alt=
""
/>
</div>
</div>
<!-- 2 -->
<div
class=
"step flex"
>
<div
class=
"cricle cc"
>
<div
class=
"cricle cc"
:class=
"'cricle' + ' ' + (status >= 1 ? 'speed-bg-color' : '')"
>
<span
class=
"num"
>
2
</span>
</div>
<div
class=
"step_title"
>
填写邀请码
</div>
<div
:class=
"'step_title' + ' ' + (status >= 1 ? 'speed-text-color' : '')"
>
填写邀请码
</div>
<img
src=
"../assets/img/signUp/left.png"
alt=
""
/>
</div>
<!-- 3 -->
<div
class=
"step flex"
>
<div
class=
"cricle cc"
>
<div
class=
"cricle cc"
:class=
"'cricle' + ' ' + (status >= 2 ? 'speed-bg-color' : '')"
>
<span
class=
"num"
>
3
</span>
</div>
<div
class=
"step_title"
>
填写报名资料
</div>
<div
:class=
"'step_title' + ' ' + (status >= 2 ? 'speed-text-color' : '')"
>
填写报名资料
</div>
<img
src=
"../assets/img/signUp/left.png"
alt=
""
/>
</div>
<!-- 4 -->
<div
class=
"step flex"
>
<div
class=
"cricle cc"
>
<div
class=
"cricle cc"
:class=
"'cricle' + ' ' + (status >= 3 ? 'speed-bg-color' : '')"
>
<span
class=
"num"
>
4
</span>
</div>
<div
class=
"step_title"
>
报名资料审核
</div>
<div
:class=
"'step_title' + ' ' + (status >= 3 ? 'speed-text-color' : '')"
>
报名资料审核
</div>
<img
src=
"../assets/img/signUp/left.png"
alt=
""
/>
</div>
<!-- 5 -->
<div
class=
"step flex"
>
<div
class=
"cricle cc"
>
<div
class=
"cricle cc"
:class=
"'cricle' + ' ' + (status >= 4 ? 'speed-bg-color' : '')"
>
<span
class=
"num"
>
5
</span>
</div>
<div
class=
"step_title"
>
缴费
</div>
<div
:class=
"'step_title' + ' ' + (status >= 4 ? 'speed-text-color' : '')"
>
缴费
</div>
</div>
</div>
</
template
>
<
script
>
/* eslint-disable */
export
default
{};
export
default
{
name
:
"
breadcrumb
"
,
props
:
{
statusNum
:
[
String
,
Number
]
},
//进度参数
data
()
{
return
{
status
:
this
.
statusNum
,
};
},
created
()
{},
watch
:
{
statusNum
(
val
)
{
// console.log(val)
this
.
status
=
val
;
},
},
methods
:
{},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.flex
{
display
:
flex
;
}
.speed-bg-color
{
background-color
:
#60194a
!
important
;
}
.speed-text-color
{
color
:
#60194a
!
important
;
}
.steps
{
.step
{
}
...
...
@@ -67,7 +121,8 @@ export default {};
position
:
relative
;
width
:
57px
;
height
:
29px
;
background
:
#60194a
;
background
:
#d0ced0
;
border-radius
:
41px
;
margin-right
:
10px
;
}
...
...
@@ -79,7 +134,7 @@ export default {};
width
:
100%
;
height
:
20px
;
font-weight
:
600
;
color
:
#
60194a
;
color
:
#
d0ced0
;
line-height
:
34px
;
}
}
...
...
src/components/index/SignUp/confirm.vue
View file @
b4cc10cd
...
...
@@ -21,30 +21,34 @@
>
</div>
<div
class=
"btn"
>
<el-button
:disabled=
'!checked'
@
click=
"next()"
>
下一步
</el-button>
<el-button
:disabled=
"!checked"
@
click=
"next()"
>
下一步
</el-button>
</div>
</div>
</
template
>
<
script
>
/* eslint-disable */
import
{
setSignShould
}
from
"
r/index/signUp
"
;
export
default
{
name
:
"
Confirm
"
,
// props: { statusNum: [String, Number] }, //进度参数
data
()
{
return
{
checked
:
false
checked
:
false
,
};
},
methods
:{
next
(){
// if(!this.checked){
// return this.$message.console.error('请');
// }
console
.
log
(
this
.
checked
)
this
.
$router
.
push
(
"
/signUp/invitation
"
);
}
}
created
()
{},
methods
:
{
next
()
{
// console.log(this.checked);
setSignShould
({}).
then
((
res
)
=>
{
console
.
log
(
res
,
"
setSignShould
"
);
if
(
res
.
data
.
code
!==
200
)
return
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
$router
.
push
(
"
/signUp/referInfo
"
);
});
},
},
};
</
script
>
...
...
src/components/index/SignUp/invitation.vue
View file @
b4cc10cd
...
...
@@ -14,7 +14,7 @@
@
input=
"changeValue1"
@
focus=
"getFocus(0, $event)"
v-model=
"invatation1"
maxlength=
"
4
"
maxlength=
"
19
"
>
</el-input>
<el-input
...
...
@@ -47,7 +47,7 @@
maxlength=
"4"
></el-input>
</div>
<
div
class=
"errorCode"
>
该邀请码无效,请输入正确的邀请码。
</div
>
<
!--
<div
class=
"errorCode"
>
该邀请码无效,请输入正确的邀请码。
</div>
--
>
</div>
</div>
...
...
@@ -203,17 +203,12 @@ export default {
"
-
"
+
this
.
invatation4
;
}
// const { data: res } = await setInviteCode({
// code: code,
// });
setInviteCode
({
code
:
code
}).
then
((
res
)
=>
{
console
.
log
(
222
);
if
(
res
.
code
!==
200
)
return
this
.
$message
.
error
(
res
.
message
);
this
.
$message
.
success
(
res
.
message
);
this
.
$router
.
replace
({
name
:
"
SignUpLists
"
});
console
.
log
(
res
,
"
code
"
);
if
(
res
.
data
.
code
!==
200
)
return
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
$router
.
replace
(
"
/signUp/invitation
"
);
});
},
},
...
...
src/components/index/SignUp/referInfo.vue
View file @
b4cc10cd
<
template
>
<div
class=
"referInfo"
>
<el-form
ref=
"
form
Ref"
:model=
"
formData
"
ref=
"
refer
Ref"
:model=
"
referForm
"
label-position=
"top"
class=
"checkForm"
:rules=
"referInfoRules"
>
<div
class=
"cont_title"
>
个人信息
</div>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"姓名"
>
<el-form-item
label=
"姓名"
prop=
"name"
>
<el-input
v-model=
"
formData
.name"
v-model=
"
referForm
.name"
placeholder=
"填写真实姓名"
size=
"small"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"性别"
>
<el-radio-group
v-model=
"
formData.gender
"
size=
"small"
>
<el-form-item
label=
"性别"
prop=
"sex"
>
<el-radio-group
v-model=
"
referForm.sex
"
size=
"small"
>
<el-radio
label=
"0"
>
男
</el-radio>
<el-radio
label=
"2"
>
女
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"身份证号"
>
<el-form-item
label=
"身份证号"
prop=
"id_card "
>
<el-input
v-model=
"
formData.idC
ard"
v-model=
"
referForm.id_c
ard"
placeholder=
"填写真实姓名身份证号"
size=
"small"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"出生日期"
>
<el-select
v-model=
"
value"
placeholder=
"年"
>
<
!--
<
el-col
:span=
"4"
>
<el-form-item
label=
"出生日期"
prop=
"birthday"
>
<el-select
v-model=
"
referForm.birthday"
clearable
placeholder=
"年"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
...
...
@@ -49,7 +52,7 @@
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
" "
>
<el-select
v-model=
"value"
placeholder=
"月"
>
<el-select
v-model=
"value"
clearable
placeholder=
"月"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
...
...
@@ -59,10 +62,10 @@
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
</el-col>
-->
<
!--
<
el-col
:span=
"4"
>
<el-form-item
label=
" "
>
<el-select
v-model=
"value"
placeholder=
"日"
>
<el-select
v-model=
"value"
clearable
placeholder=
"日"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
...
...
@@ -72,75 +75,86 @@
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
-->
<el-col
:span=
"6"
>
<el-form-item
label=
"籍贯"
>
<el-select
v-model=
"value"
placeholder=
"省"
>
<el-form-item
label=
"籍贯"
prop=
"jiguan_code"
>
<el-select
v-model=
"referForm.jiguan_code"
placeholder=
"省"
clearable
@
keyup.enter.native=
"selsectProvince"
@
change=
"changeProvince(1, $event)"
>
<el-option
v-for=
"item in
options
"
:key=
"item.
value
"
:label=
"item.
label
"
:value=
"item.
value
"
v-for=
"item in
selectProvince
"
:key=
"item.
id
"
:label=
"item.
name
"
:value=
"item.
id
"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
" "
>
<el-select
v-model=
"
value"
placeholder=
"市"
>
<el-form-item
label=
" "
prop=
""
>
<el-select
v-model=
"
jiguan_city"
clearable
placeholder=
"市"
>
<el-option
v-for=
"item in
options
"
:key=
"item.
value
"
:label=
"item.
label
"
:value=
"item.
value
"
v-for=
"item in
selectCityJiguan
"
:key=
"item.
id
"
:label=
"item.
name
"
:value=
"item.
id
"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"民族"
>
<el-form-item
label=
"民族"
prop=
"nation"
>
<el-input
v-model=
"
formData
.nation"
v-model=
"
referForm
.nation"
placeholder=
"填写民族"
size=
"small"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"入学年份(高中)"
>
<el-form-item
label=
"入学年份(高中)"
prop=
"start_school_date "
>
<el-input
v-model=
"
formData
.startSchoolDate"
v-model=
"
referForm
.startSchoolDate"
placeholder=
"填写入学年份(高中)"
size=
"small"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"政治面貌"
>
<el-form-item
label=
"政治面貌"
prop=
"political_status "
>
<el-input
v-model=
"
formData.achievementPath
"
v-model=
"
referForm.political_status
"
placeholder=
"填写政治面貌"
size=
"small"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"手机号"
>
<el-form-item
label=
"手机号"
prop=
"phone "
>
<el-input
v-model=
"
formData
.phone"
v-model=
"
referForm
.phone"
placeholder=
"填写手机号"
size=
"small"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"电子邮箱"
>
<el-form-item
label=
"电子邮箱"
prop=
"email"
>
<el-input
v-model=
"
formData
.email"
v-model=
"
referForm
.email"
placeholder=
"填写电子邮箱"
size=
"small"
clearable
/>
</el-form-item>
</el-col>
...
...
@@ -149,61 +163,62 @@
<div
class=
"cont_title"
>
学校信息
</div>
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"就读中学"
>
<el-select
v-model=
"value"
placeholder=
"省"
>
<el-form-item
label=
"就读中学"
prop=
"school_province "
>
<el-select
v-model=
"referForm.school_province"
clearable
placeholder=
"省"
@
change=
"changeProvince(2, $event)"
>
<el-option
v-for=
"item in
options
"
:key=
"item.
value
"
:label=
"item.
label
"
:value=
"item.
value
"
v-for=
"item in
selectProvince
"
:key=
"item.
id
"
:label=
"item.
name
"
:value=
"item.
id
"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
" "
>
<el-select
v-model=
"
value"
placeholder=
"市"
>
<el-form-item
label=
" "
prop=
"school_city"
>
<el-select
v-model=
"
referForm.school_city"
clearable
placeholder=
"市"
>
<el-option
v-for=
"item in
options
"
:key=
"item.
value
"
:label=
"item.
label
"
:value=
"item.
value
"
v-for=
"item in
selectCitySchool
"
:key=
"item.
id
"
:label=
"item.
name
"
:value=
"item.
id
"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
" "
>
<el-select
v-model=
"
value"
placeholder=
"中学"
>
<el-form-item
label=
" "
prop=
"school"
>
<el-select
v-model=
"
referForm.school"
clearable
placeholder=
"中学"
>
<el-option
v-for=
"item in
options
"
:key=
"item.
value
"
:label=
"item.
label
"
:value=
"item.
value
"
v-for=
"item in
schoolName
"
:key=
"item.
id
"
:label=
"item.
name
"
:value=
"item.
id
"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"中学联系人"
>
<el-select
v-model=
"value"
placeholder=
"填写中学联系人"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
<el-form-item
label=
"中学联系人"
clearable
prop=
"school_contacts "
>
<el-input
v-model=
"referForm.school_contacts"
placeholder=
"填写中学联系人"
size=
"small"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"中学联系电话"
>
<el-form-item
label=
"中学联系电话"
clearable
prop=
"school_phone "
>
<el-input
v-model=
"
formData.schoolP
hone"
v-model=
"
referForm.school_p
hone"
placeholder=
"填写中学联系电话"
size=
"small"
/>
...
...
@@ -227,12 +242,12 @@
<div
class=
"text"
>
上传材料
</div>
</div>
<img
:src=
"
formData
.backgroundPicture"
class=
"avatar"
/>
<img
:src=
"
referForm
.backgroundPicture"
class=
"avatar"
/>
</div>
</el-form-item>
<el-form-item
class=
"btn"
>
<el-button
@
click=
"confirm"
>
提交资料
</el-button>
<el-button
@
click=
"confirm
()
"
>
提交资料
</el-button>
</el-form-item>
</el-form>
</div>
...
...
@@ -240,62 +255,209 @@
<
script
>
/* eslint-disable */
// import { GetCheckInfo, CheckSignUpInfo } from '@/api/campSystem/campOper'
import
{
getAccount
,
getAchievementOss
,
setAccount
,
getProAndCity
,
getSchool
,
}
from
"
r/index/signUp
"
;
import
validator
from
"
common/validator
"
;
export
default
{
name
:
"
CheckForm
"
,
props
:
{
phoneFu
:
[
Number
,
String
],
typeFu
:
[
Number
,
String
],
},
data
()
{
return
{
formData
:
{},
type
:
this
.
typeFu
,
referForm
:
{
name
:
""
,
sex
:
""
,
id_card
:
""
,
birthday
:
""
,
jiguan_code
:
""
,
nation
:
""
,
start_school_date
:
""
,
political_status
:
""
,
phone
:
""
,
email
:
""
,
school_province
:
""
,
school_city
:
""
,
school
:
""
,
school_contacts
:
""
,
school_phone
:
""
,
},
schoolName
:
[],
referInfoRules
:
{
name
:
[
{
required
:
true
,
message
:
"
真实姓名不能为空!
"
,
trigger
:
"
blur
"
},
],
sex
:
[{
required
:
true
,
message
:
"
性别不能为空!
"
,
trigger
:
"
change
"
}],
id_card
:
[
{
required
:
true
,
message
:
"
身份证号码不能为空!
"
,
trigger
:
"
blur
"
},
{
validator
:
validator
.
validateid_card
,
trigger
:
"
blur
"
},
],
birthday
:
[
{
required
:
true
,
message
:
"
出生日期不能为空!
"
,
trigger
:
"
change
"
},
],
jiguan_code
:
[
{
required
:
true
,
message
:
"
籍贯不能为空!
"
,
trigger
:
"
change
"
},
],
nation
:
[
{
required
:
true
,
message
:
"
民族不能为空!
"
,
trigger
:
"
blur
"
},
],
start_school_date
:
[
{
required
:
true
,
message
:
"
高中入学年份不能为空!
"
,
trigger
:
"
change
"
,
},
],
political_status
:
[
{
required
:
true
,
message
:
"
政治面貌不能为空!
"
,
trigger
:
"
blur
"
},
],
phone
:
[
{
required
:
true
,
message
:
"
手机号不能为空!
"
,
trigger
:
"
blur
"
},
{
validator
:
validator
.
validatePhone
,
trigger
:
"
blur
"
},
],
email
:
[
{
required
:
true
,
message
:
"
邮箱不能为空!
"
,
trigger
:
"
blur
"
},
{
validator
:
validator
.
validateEmail
,
trigger
:
"
blur
"
},
],
schoolprovince
:
[
{
required
:
true
,
message
:
"
请选择所在学校省份!
"
,
trigger
:
"
change
"
,
},
],
schoolcity
:
[
{
required
:
true
,
message
:
"
请选择所在学校城市!
"
,
trigger
:
"
change
"
,
},
],
school
:
[
{
required
:
true
,
message
:
"
请选择所在学校!
"
,
trigger
:
"
change
"
},
],
school_contacts
:
[
{
required
:
true
,
message
:
"
请选择所在学校!
"
,
trigger
:
"
blur
"
},
],
school_phone
:
[
{
required
:
true
,
message
:
"
请选择所在学校!
"
,
trigger
:
"
blur
"
},
],
},
selectProvince
:
[],
CityName
:
{},
selectCityJiguan
:
[],
selectCitySchool
:
[],
jiguan_city
:
null
,
};
},
created
()
{
this
.
getAccount
();
this
.
getProAndCity
();
this
.
getSchool
();
this
.
getTenYear
();
},
methods
:
{
next
()
{
this
.
$router
.
push
(
"
/signUp/check
"
);
//获取近10年的年份
getTenYear
()
{
let
nowDate
=
new
Date
();
let
currentYear
=
nowDate
.
getFullYear
();
console
.
log
(
nowDate
,
currentYear
);
let
yearArr
=
[];
let
rxYearArr
=
[];
for
(
let
i
=
0
;
i
<
22
;
i
++
)
{
let
year
=
currentYear
-
i
;
yearArr
.
push
(
year
);
}
console
.
log
(
yearArr
);
for
(
let
i
=
0
;
i
<
10
;
i
++
)
{
let
year
=
currentYear
-
i
;
rxYearArr
.
push
(
year
);
}
this
.
yearArrs
=
yearArr
;
this
.
rxYearArrs
=
rxYearArr
;
},
// 页面信息个人获取
getAccount
()
{
getAccount
({}).
then
((
res
)
=>
{
console
.
log
(
res
,
"
getAccount
"
);
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
});
},
open
()
{
// 获取当前审核资料详情
GetCheckInfo
({
phone
:
this
.
phoneFu
,
})
.
then
((
response
)
=>
{
console
.
log
(
response
);
if
(
response
.
code
!=
200
)
{
return
this
.
msgError
(
response
.
msg
);
}
this
.
formData
=
response
.
data
;
this
.
formData
.
backgroundPicture
=
"
http://campiste.oss-cn-beijing.aliyuncs.com/image/jpg/20210928/05b70e907da5434cafe5de494bea3378.jpg
"
;
})
.
catch
((
error
)
=>
{
console
.
log
(
error
);
// 获取省份城市
getProAndCity
()
{
getProAndCity
({}).
then
((
res
)
=>
{
console
.
log
(
res
,
"
getProAndCity
"
);
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
selectProvince
=
res
.
data
.
province_list
;
this
.
CityName
=
res
.
data
.
city_list
;
});
},
// confirm () {
// this.dialogVisible = false
// this.$emit('closeDialog', this.dialogVisible, 1, this.formData)
// },
// noConfirm () {
// this.dialogVisible = false
// this.$emit('closeDialog', this.dialogVisible, 2, this.formData)
// },
// 取消,关闭弹框,修改父组件的值
cancelBtn
()
{
this
.
dialogVisible
=
false
;
this
.
$emit
(
"
closeDialog
"
,
this
.
dialogVisible
,
false
);
changeProvince
(
type
,
value
)
{
console
.
log
(
value
,
"
value
"
);
let
selectCity
=
[];
for
(
const
key
in
this
.
CityName
)
{
if
(
this
.
CityName
[
key
].
parent_id
==
value
)
{
selectCity
.
push
(
this
.
CityName
[
key
]);
}
}
if
(
type
==
1
){
this
.
selectCityJiguan
=
selectCity
;
}
else
{
this
.
selectCitySchool
=
selectCity
;
}
},
// 获取学校
getSchool
()
{
getSchool
({}).
then
((
res
)
=>
{
console
.
log
(
res
,
"
getSchool
"
);
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
schoolName
=
res
.
data
.
school_list
;
});
},
watch
:
{
// dialogVisibleFu () {
// this.dialogVisible = this.dialogVisibleFu
// },
typeFu
()
{
this
.
type
=
this
.
typeFu
;
confirm
()
{
this
.
$refs
[
"
referRef
"
].
validate
((
valid
)
=>
{
if
(
!
valid
)
return
;
setAccount
({
name
:
this
.
formData
.
name
,
sex
:
this
.
formData
.
sex
,
id_card
:
this
.
formData
.
id_card
,
birthday
:
this
.
formData
.
birthday
,
jiguan_code
:
this
.
formData
.
jiguan_code
,
nation
:
this
.
formData
.
nation
,
start_school_date
:
this
.
formData
.
start_school_date
,
political_status
:
this
.
formData
.
political_status
,
phone
:
this
.
formData
.
phone
,
email
:
this
.
formData
.
email
,
schoolprovince
:
this
.
formData
.
schoolprovince
,
schoolcity
:
this
.
formData
.
schoolcity
,
school
:
this
.
formData
.
school
,
school_contacts
:
this
.
formData
.
school_contacts
,
school_phone
:
this
.
formData
.
school_phone
,
}).
then
((
res
)
=>
{
console
.
log
(
res
,
"
setAccount
"
);
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
$message
.
success
(
"
提交审核成功
"
);
// 跳转到报名
this
.
$router
.
push
(
"
/signUp/check
"
);
});
});
},
},
};
...
...
src/request/index/network.js
View file @
b4cc10cd
...
...
@@ -64,7 +64,7 @@ export function request(config) {
const
registerCode
=
'
/web/code/registerCode
'
;
const
passwordCode
=
'
/web/code/passwordCode
'
;
const
loginOut
=
'
/web/auth/loginOut
'
;
console
.
log
(
config
)
//
console.log(config)
if
(
config
.
url
.
indexOf
(
loginUrl
)
!=
-
1
||
config
.
url
.
indexOf
(
setAccountInfo
)
!=
-
1
||
...
...
@@ -77,7 +77,7 @@ export function request(config) {
}
const
token
=
localStorage
.
getItem
(
'
index-token
'
)
if
(
token
)
{
console
.
log
(
token
)
//
console.log(token)
config
.
headers
.
token
=
token
}
else
{
...
...
src/router/index.js
View file @
b4cc10cd
...
...
@@ -7,8 +7,7 @@ import indexCamp from './index/camp'
Vue
.
use
(
VueRouter
)
const
routes
=
[
{
const
routes
=
[{
path
:
'
/
'
,
meta
:
{
title
:
'
招生简章
'
...
...
@@ -49,7 +48,15 @@ const router = new VueRouter({
// base: process.env.BASE_URL,
routes
})
// 运用vue-router的错误处理函数 onError 捕获错误
router
.
onError
((
error
)
=>
{
const
pattern
=
/Loading chunk
(\d)
+ failed/g
const
isChunkLoadFailed
=
error
.
message
.
match
(
pattern
)
const
targetPath
=
router
.
history
.
pending
.
fullPath
if
(
isChunkLoadFailed
)
{
router
.
replace
(
targetPath
)
}
})
// router.beforeEach((to, from, next) => {
// // 记录上一页
// if (from) {
...
...
src/views/index/camp/SignUp.vue
View file @
b4cc10cd
...
...
@@ -3,10 +3,10 @@
<div
class=
"content"
>
<div
class=
"signUp_titile"
>
营地报名
</div>
<div>
<Breadcrumb>
</Breadcrumb>
<Breadcrumb
:statusNum=
"status"
>
</Breadcrumb>
</div>
</div>
<Confirm
v-if=
"type == 'examInfo'"
>
</Confirm>
<Confirm
v-if=
"type == 'examInfo'"
:statusNum=
"status"
>
</Confirm>
<Invitation
v-else-if=
"type == 'invitation'"
>
</Invitation>
<ReferInfo
v-else-if=
"type == 'referInfo'"
>
</ReferInfo>
<Pass
v-else-if=
"type == 'check'"
>
</Pass>
...
...
@@ -41,8 +41,10 @@ export default {
},
created
()
{
this
.
type
=
this
.
$route
.
params
.
type
;
console
.
log
(
this
.
$route
);
//
console.log(this.$route);
this
.
signUpInit
();
},
watch
:
{
$route
:
{
...
...
@@ -57,10 +59,24 @@ export default {
},
methods
:
{
signUpInit
()
{
console
.
log
(
111
);
//
console.log(111);
signUpInit
({}).
then
((
res
)
=>
{
console
.
log
(
res
);
this
.
status
=
res
.
status
;
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
status
=
res
.
data
.
status
;
if
(
this
.
status
==
0
)
{
this
.
type
=
"
examInfo
"
;
}
else
if
(
this
.
status
==
1
)
{
this
.
type
=
"
invitation
"
;
}
else
if
(
this
.
status
==
2
)
{
this
.
type
=
"
referInfo
"
;
}
else
if
(
this
.
status
==
3
)
{
this
.
type
=
"
check
"
;
}
else
if
(
this
.
status
==
4
)
{
this
.
type
=
"
pay
"
;
}
});
},
},
...
...
src/views/index/login/Login.vue
View file @
b4cc10cd
...
...
@@ -127,7 +127,7 @@ export default {
phone
:
this
.
loginForm
.
phone
,
password
:
this
.
loginForm
.
password
,
}).
then
((
res
)
=>
{
console
.
log
(
res
,
'
login
'
);
// console.log(res, "login"
);
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
...
...
@@ -135,7 +135,24 @@ export default {
// token存储
window
.
localStorage
.
setItem
(
"
index-token
"
,
res
.
data
.
token
);
window
.
localStorage
.
setItem
(
"
phone
"
,
res
.
data
.
phone
);
this
.
$router
.
replace
({
path
:
"
/signUp/examInfo
"
});
// 判断营地报名进度
// //是否填写个人资料
// window.localStorage.setItem(
// "fill_individual_information",
// res.data.cam.fill_individual_information
// );
// //是否填写邀请码
// window.localStorage.setItem(
// "fill_individual_Invitationcode",
// res.data.cam.fill_individual_Invitationcode
// );
// //是否审核个人资料
// window.localStorage.setItem(
// "audit_individual_information",
// res.data.cam.audit_individual_information
// );
// 跳转到报名
this
.
$router
.
push
({
path
:
"
/signUp/examInfo
"
});
});
});
},
...
...
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