Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
project-online-old
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
project-online-old
Commits
e7ff7a91
提交
e7ff7a91
authored
11月 11, 2020
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
报名缴费修改
上级
fab2bcc2
隐藏空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
544 行增加
和
140 行删除
+544
-140
.config.dev.js
.config.dev.js
+1
-1
dev.ezijing.com.key
build/dev.ezijing.com.key
+25
-25
dev.ezijing.com.pem
build/dev.ezijing.com.pem
+22
-22
my.js
src/api/my.js
+8
-0
my_pay_02.png
src/assets/images/my_pay_02.png
+0
-0
form.vue
src/components/form.vue
+2
-2
sendCode.vue
src/components/sendCode.vue
+1
-1
filterType.json
src/pages/forgetPsw/filterType.json
+4
-4
NormalLogin.vue
src/pages/login/components/NormalLogin.vue
+5
-10
declare.js
src/pages/my/application/form/declare.js
+2
-1
index.js
src/pages/my/application/form/index.js
+9
-9
career.js
src/pages/my/application/form/info/career.js
+17
-19
education.js
src/pages/my/application/form/info/education.js
+17
-19
training.js
src/pages/my/application/form/info/training.js
+17
-19
index.vue
src/pages/my/welcome/index.vue
+63
-0
indexPay.vue
src/pages/my/welcome/indexPay.vue
+230
-0
indexWelcome.vue
src/pages/my/welcome/indexWelcome.vue
+107
-0
filterType.json
src/pages/register/filterType.json
+4
-4
routes.js
src/router/routes.js
+10
-4
没有找到文件。
.config.dev.js
浏览文件 @
e7ff7a91
module
.
exports
=
{
domain
:
'dev.ezijing.com'
,
url
:
'https://ciis
2
.ezijing.com/api'
,
url
:
'https://ciis.ezijing.com/api'
,
isEnableToIphoneDebugger
:
false
,
// apiBaseURL: '//demo-login.ezijing.com/',
webpack
:
{
...
...
build/dev.ezijing.com.key
浏览文件 @
e7ff7a91
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA
gddAmdjWL+4JUXvmiR/lr9cbdoctEGLwdLpnIrRlL/oVKubZ
TrASed5pA2kHKUbbV9i64iNIzn668ziytivudRiuGL4wBTPdtlpkSty9ij0ZHZXe
23oWQ73fV3FNROp3ekLmIYHqo2ep5hhfq1A4Sey7IM1Z0A9OF6MV7Tgqm+8a6Fy4
eNbgx99f0n7nquGjYZ3RcnU0j6xzfQhOqOYmhk4flQqSx6Mb6sSmWM7V4/h/554L
QyJNV3ngNfT3ZFmAmhIZt7n+o3svzIqwghiZSj0K9jyE7zbSZjVUBEQztFUcfYgP
ZQfZFFsdgIkFSvR3cXIpIiN8oPf8xK6naApOXwIDAQABAoIBAHKlKKJvZvgdO1ca
ir1rT7jKu7IVu4GritvWtzhahrotHEGsYhZru3SmIJ1lQHB+4zAW6zS/qQrDtbkK
yCm4cq4sI5UvYWFGoa7g84tyi12jgyiva37ptv0Li0g/f9WpHePzbBYMC61K3CaS
QO8YPwtvHu/gwjvHN9IBK1wxatYRriAfR6CF2+pfZXhlq3nprc0z9YypExLg2Swa
ML1uQGLObDHAFKheVFYOgWOncMbG5eXNV9mdfzoUuc+mkENDtynQUTzI2ZM4OZFr
uMjto7y4RLFu463Rg0ijg2MXL4FbygzclaePNL7YBS6wed0Z8cE26FvbG5vM//Qc
qYK+WBECgYEA0FdJ7tPzgBvn4VsvBBdA8gmmFmmD/TJxehrxAwn/x0QkcZa6ngxJ
ScgcicJ2OSM049zId35KA4OV7aGUC6QKdG6JbL00Wqg9xWbsHiiB9XzV1iDghTug
35cDWhRN8SnMgBhQ85l5ps8NJuLS/fqLBK0/yeE54mkWKqvD4JS39KcCgYEAn4rl
Uc4PQ/xkgCKCTOCIYmzvDUuZcS0pA0MU/uJ/aQIwaJFanIehczs6Wg/Gb0YhKx0h
cMDuvZYY2XjbCic8eDNE7ED0hUHBAa8VAQZwS22ds/qNoooCO5UcHPRevenb/dIk
oKQTrI+4e5izQtuV3YLJMeH5Ba9bUP45iaZDt4kCgYEAnBGnmrc/46oD7HdoIwJg
bm/38TYd3+CXzUa9YO9uohFT05t8NMUzaYf0iOYZtfe/uSo9KfZ672L1P0wZIRdD
lbDwVXru6zK5A1V0b6scn49iiMOcLXJbsuLnaeVn9c7AGP0eNz2zOdhFG+oy8Htt
BJXcARktSYQ7TL/bPjNqEmUCgYB54o8XVCltcyEEk1igitkm+LoYmiz7vdibWWBs
6XUVMErzWDi1ZRj/A7ysmWisEhO88GBf18WMqWMKob4Vn6we2GxLYcRtGbLuKmgN
hHG97lyQ51XVW0IhauUzaa4HwOYEn8rDvxYYuyPhqOMqrL9tn0E+DrlEkpdc5Rvo
AVGyoQKBgGYvAeoKrdkfLUUnvRBIju9/bg5H6t1MY8lYi4WEnL+aPn056LV43LU9
+gF7+S7f8Er6WiJCCb7laYeDyC5adqnF/fI//4iNsarid86blirXfJMSfTG+GkZM
OEBHd/sX0IbRUt6MCxiG3Znmdpny3/MG4CegPMtdohQktQEAS2yJ
MIIEowIBAAKCAQEA
9MjUExxOj6tfMUaU+t/k0+VokVkh1GVZACLPdxR2VcjjOkaI
qloY4TK4/uybncLhoqu9ggyiJFNmXVLxe2TxReGXhR8tAc0RTCuaFv0oHJ7HXI48
CZ/zc8sgjyd7XsuyRurKwpHWXfy9FMHE7r/9R+IUHAkIPmZ17qlwqphlePK8I1fn
DU/LOvglXPIlR55TUe6NKVoCPZXQEHHPZClH0qdnXFiUq5I1f6GMUoGCbV5DLECb
OAndCP/snqakw8oeLmoBGSig/FGrc/41l2DJxyIxm/CfaEhfnSN4hvOTAFXcro9c
gyy88H1BfT/bEhM7OO+RRaKUrV5CieeIOEmvGQIDAQABAoIBAGmkcsJ8qPsgPskJ
aSqMjjlU/Lgd+5eq1apVW6xMzHVhaY+w+TJsB+jI90Yt30tK3A5UiEkkIqYCyF7m
eQmEGwzJu5bcSZRJaHmzJ6FcSH9xlyC+0fJlcbA7riWaKIhU6O/qTO+D+Tw+42ud
5NwVR75KN9uRmlkz5xnFTraRZtm3MJmA7dwXK3hrN+dFJR2vLO3KBAtpgtpPdkK1
ObpJQ1Q7jsnEmODVRZ7n1CKZEDmXd8GBPA/jCVqgiEbVVCdkhHkyxyIMQenBReyy
tJIPf7CdL3O3PPsThhMa1P2CP/xehS4bcQSLw9wtNTJcvVPHTvffHKOKUfhUxkHu
0cpl+zECgYEA/jzySW/br7W+xS2e4VBHzY+UZJwxd/3mY3d/kasMV1zuipr6WOhQ
FVsd5uJXPRr+rHBypwyOIlP205V2K5oQEK0yT+tF+IBvKGdJv89wskCgrXcD3Kfb
dCFbt014pHw89A8jb8LBbGOPH6jhZhGkxP33CJdVPtncUc4m0hj4HHcCgYEA9nsc
KcCZOIYRlZmJ93DoukhjxaouGFDTOZoujaqasrfXUaWRnpZYekDZWa1NneOzLBEz
h1RwPcmeYLCVRmXtpRzLOKXfJY0gGSJr979I0AVkzj8A9NZcU/HxUP0GqpwBbzAp
EEShQVhjYppQ62KAwZ1tbsVWX2V1SBsa3McExO8CgYEA6kVy5aTDhOgugDeHnguB
/rN9hDBBjVZTQ/jLfolld+NUlDg21FJN6T/rD+Qli1MitfdwTupM1ukUGugw2gC/
KP7Py8D62wBObaav2KXoLPlMlkuDLYMnv501jHVA5CDvcd25Q7Ts01nyerP97zX2
5Oc5CZuZm67ZTDBwqU0E5AUCgYBIC2wL+DPRBb8WDy74mJQt/wLKwBeBG/7hk2OQ
HRHis0HIp7CMvj1WXqYpRDKvt+KjOtPo9pFoPgqBEJxRW3G/FU+BW1qCS2HadulA
HTVXOHxinJ/W8OFD2DBFD/Bm5fq1WUpnaugHhaJnK9wDMWOZND7MZfn9IFbLoMCV
T8bhGQKBgG7qsZhI9ldAqooZQ1xSua/2SBc8GI8d03g7y8kZkkx/XclbEz6X6wUu
U3PVL+neY8Qw3JxC1cHS++KIdHR2ZSoTpF00A4QvDJL0+eo1KgI88vRV8QaWLxPB
ahvXwmkKW2+jgvCAqFtepZx/KsKpQW+x3GOJyhl2tIT8sZwRmE6u
-----END RSA PRIVATE KEY-----
build/dev.ezijing.com.pem
浏览文件 @
e7ff7a91
-----BEGIN CERTIFICATE-----
MIIF
iDCCBHCgAwIBAgIQAepAKb4wAxmrtof7BwPQSD
ANBgkqhkiG9w0BAQsFADBu
MIIF
hzCCBG+gAwIBAgIQCzEi4VmynSzbyBV1UEXGoj
ANBgkqhkiG9w0BAQsFADBu
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMS0wKwYDVQQDEyRFbmNyeXB0aW9uIEV2ZXJ5d2hlcmUg
RFYgVExTIENBIC0gRzEwHhcNM
TkxMTA4MDAwMDAwWhcNMjAxMTA3MTIwMDAw
WjAa
RFYgVExTIENBIC0gRzEwHhcNM
jAxMTA5MDAwMDAwWhcNMjExMTA5MjM1OTU5
WjAa
MRgwFgYDVQQDEw9kZXYuZXppamluZy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQ
CB10CZ2NYv7glRe+aJH+Wv1xt2hy0QYvB0umcitGUv+hUq5tlO
sBJ53mkDaQcpRttX2LriI0jOfrrzOLK2K+51GK4YvjAFM922WmRK3L2KPRkdld7b
ehZDvd9XcU1E6nd6QuYhgeqjZ6nmGF+rUDhJ7LsgzVnQD04XoxXtOCqb7xroXLh4
1uDH31/Sfueq4aNhndFydTSPrHN9CE6o5iaGTh+VCpLHoxvqxKZYztXj+H/nngtD
Ik1XeeA19PdkWYCaEhm3uf6jey/MirCCGJlKPQr2PITvNtJmNVQERDO0VRx9iA9l
B9kUWx2AiQVK9HdxcikiI3yg9/zErqdoCk5fAgMBAAGjggJ0MIICcD
AfBgNVHSME
GDAWgBRVdE+yck/1YLpQ0dfmUVyaAYca1zAdBgNVHQ4EFgQU
28ndXe6qIDlhPWX5
+gzJoRhaQQo
wGgYDVR0RBBMwEYIPZGV2LmV6aWppbmcuY29tMA4GA1UdDwEB/wQE
DwAwggEKAoIBAQ
D0yNQTHE6Pq18xRpT63+TT5WiRWSHUZVkAIs93FHZVyOM6Roiq
WhjhMrj+7JudwuGiq72CDKIkU2ZdUvF7ZPFF4ZeFHy0BzRFMK5oW/SgcnsdcjjwJ
n/NzyyCPJ3tey7JG6srCkdZd/L0UwcTuv/1H4hQcCQg+ZnXuqXCqmGV48rwjV+cN
T8s6+CVc8iVHnlNR7o0pWgI9ldAQcc9kKUfSp2dcWJSrkjV/oYxSgYJtXkMsQJs4
Cd0I/+yepqTDyh4uagEZKKD8Uatz/jWXYMnHIjGb8J9oSF+dI3iG85MAVdyuj1yD
LLzwfUF9P9sSEzs475FFopStXkKJ54g4Sa8ZAgMBAAGjggJzMIICbz
AfBgNVHSME
GDAWgBRVdE+yck/1YLpQ0dfmUVyaAYca1zAdBgNVHQ4EFgQU
kRHkmubxZAvEWtCY
IBT9sw/3Yb8
wGgYDVR0RBBMwEYIPZGV2LmV6aWppbmcuY29tMA4GA1UdDwEB/wQE
AwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwTAYDVR0gBEUwQzA3
BglghkgBhv1sAQIwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQu
Y29tL0NQUzAIBgZngQwBAgEwgYAGCCsGAQUFBwEBBHQwcjAkBggrBgEFBQcwAYYY
aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEoGCCsGAQUFBzAChj5odHRwOi8vY2Fj
ZXJ0cy5kaWdpY2VydC5jb20vRW5jcnlwdGlvbkV2ZXJ5d2hlcmVEVlRMU0NBLUcx
LmNydDAJBgNVHRMEAjAAMIIBB
QYKKwYBBAHWeQIEAgSB9gSB8wDxAHYApLkJkLQY
WBSHuxOizGdwCjw1mAT5G9+443fNDsgN3BAAAAFuSnTaJgAABAMARzBFAiEAtYCW
PLYE6pylBOsB1MmETgxGpYrG64Osn/XXyJlh+/UCIEnttMCBvNif4hpJfAQibP/Q
bJ9w0VYC59hi8Tmcf/mfAHcAXqdz+d9WwOe1Nkh90EngMnqRmgyEoRIShBh1loFx
RVgAAAFuSnTZSQAABAMASDBGAiEAsMgDWdSJ5d2jiXoNyxJ5FY7+3PET59vgvxi9
Eev9MwECIQC3sfR8sRWxJg82xH7lIA9sN87p7fLmr+KyhnuAK+2bcjANBgkqhkiG
9w0BAQsFAAOCAQEAOXMhz5dapVgYoLe23i+rEbBeO648c3cAO11qubqE0b5ie2bY
4DuatptwiLA47xfSVbFF0Y44cPL1b0zHe+Ki9TpcFP+TQ/+cPD2bPrqovI2uh8Qi
1RU7baLoYO9t7NxaPXh9RtRLUufJHas7HcWtLw/nPvVi+SuhgiiPytWdVM64dIPz
+nP9YY6wZhp4S/vNw5T7LARaw28xrEPzgCzWoXBUDyLB1slU3A2Uu+vl4lilcVeF
B
/hl/75PWIdlxeRsD2V4TGCg796eL1BTVYEh7+mjvvaft+1/jwofKtGxg34YZHfl
6M22MuuP1pLviPZEE4ZlPXvltUV/Qq47LvZkTg==
LmNydDAJBgNVHRMEAjAAMIIBB
AYKKwYBBAHWeQIEAgSB9QSB8gDwAHYA9lyUL9F3
MCIUVBgIMJRWjuNNExkzv98MLyALzE7xZOMAAAF1qpa6jQAABAMARzBFAiAwHOcp
Ua1H0WK4OZUHiQ1rndqnYxPHhP9XWunwpRMoagIhAOB2MPSW9M4qj6Yih7eQkydl
lgawpoBZzRzhisU+TN67AHYAXNxDkv7mq0VEsV6a1FbmEDf71fpH3KFzlLJe5vbH
DsoAAAF1qpa63gAABAMARzBFAiEA92ZeW0PgyWW3j+3wypLS0O/wI63C+x0WTvMZ
Vngp6AMCIBoThjaKif+XY11YbaV89ndqs1nDlzbEfBrFftoB9fchMA0GCSqGSIb3
DQEBCwUAA4IBAQA2geo9wQAd+vx+lwAafVRxCBQyBiS0qT413ewYpZYDnSkLX0l1
5kRdxDGWQhPzOio0ckj/jOtOlbbSsiovBBVTyYPB8WfkNjMd0psMNx2e6Wy/WKkQ
X3DqEOB4XGg0RwpebiAmz6lWxyFwIAbCrwCntkkaIF4LnIvczn6pvPFBtK2nXJJC
HL0Igbxo+xJLt3Hql7TcwkFDXz/LIB8AwhhkkhhwW45r3Eyjw8eOyzvflDPwSNH+
B
yadQ+AH4H4vYYVo0ILNIPCdaokLQ+u4FttB9VQ+iGmpJ56Yg2muxWh8Qckca+vH
40RbC5aK1RSy2RIRpC5fwvq2JuV/CksP5G5Q
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEqjCCA5KgAwIBAgIQAnmsRYvBskWr+YBTzSybsTANBgkqhkiG9w0BAQsFADBh
...
...
src/api/my.js
浏览文件 @
e7ff7a91
...
...
@@ -37,6 +37,14 @@ export function sendCode(data) {
export
function
getApplication
(
params
)
{
return
httpRequest
.
get
(
`/enrollment/v1.0/application-materials/
${
projectId
}
`
,
params
)
}
/**
* 获取报名信息
*/
export
function
updateApplication
(
data
)
{
return
httpRequest
.
post
(
`/enrollment/v1.0/application-materials/
${
projectId
}
/put`
,
data
,
{
headers
:
{
'Content-Type'
:
'application/json'
}
})
}
/**
* 获取报名审核状态
...
...
src/assets/images/my_pay_02.png
0 → 100644
浏览文件 @
e7ff7a91
62.2 KB
src/components/form.vue
浏览文件 @
e7ff7a91
...
...
@@ -55,12 +55,12 @@ export default {
data
()
{
this
.
checkAccount
=
(
rule
,
value
,
callback
)
=>
{
/* 手机格式 */
if
(
/^1
[
3-9
]\d{9}
$/
.
test
(
value
))
{
if
(
(
/^1
[
3-9
]\d{9}
$/
.
test
(
value
)
||
/@/
.
test
(
value
)
))
{
this
.
isSendDisable
=
false
callback
()
}
else
{
this
.
isSendDisable
=
true
callback
(
new
Error
(
'请输入正确格式的手机号'
))
callback
(
new
Error
(
'请输入正确格式的手机号
/邮箱
'
))
}
}
return
{
...
...
src/components/sendCode.vue
浏览文件 @
e7ff7a91
...
...
@@ -3,7 +3,7 @@
v-model=
"input"
:disabled=
"isSendDisable"
type=
"text"
placeholder=
"
短信
验证码"
placeholder=
"验证码"
:style=
"
{ width: width }"
>
<el-button
...
...
src/pages/forgetPsw/filterType.json
浏览文件 @
e7ff7a91
...
...
@@ -21,10 +21,10 @@
"passwordR"
:
""
},
"ruleFormlabel"
:
"left"
,
"labelWidth"
:
"
9
0px"
,
"labelWidth"
:
"
11
0px"
,
"rules"
:
{
"account"
:
[
{
"required"
:
true
,
"message"
:
"请填写手机号!"
,
"trigger"
:
"change"
}
{
"required"
:
true
,
"message"
:
"请填写手机号
/邮箱
!"
,
"trigger"
:
"change"
}
],
"code"
:
[
{
"required"
:
true
,
"message"
:
"请填写验证码!"
,
"trigger"
:
"change"
}
...
...
@@ -41,8 +41,8 @@
"type"
:
"PageInput"
,
"size"
:
"medium"
,
"width"
:
"270px"
,
"label"
:
"手机号"
,
"placeholder"
:
"手机号"
,
"label"
:
"手机号
/邮箱
"
,
"placeholder"
:
"手机号
/邮箱
"
,
"querykey"
:
"account"
},
{
...
...
src/pages/login/components/NormalLogin.vue
浏览文件 @
e7ff7a91
...
...
@@ -5,23 +5,18 @@
class=
"self-input"
v-model=
"setAccount.user"
type=
"text"
placeholder=
"
账号
"
placeholder=
"
手机号/邮箱
"
@
keyup
.
enter
.
native=
"onSubmitSetAccount"
>
<i
slot=
"prefix"
class=
"el-input__icon el-icon-self-character"
></i>
</el-input>
</el-form-item>
<el-form-item
prop=
"pwd"
style=
"margin-bottom: 4px;"
>
<el-input
v-model=
"setAccount.pwd"
type=
"password"
placeholder=
"密码"
@
keyup
.
enter
.
native=
"onSubmitSetAccount"
>
<el-form-item
prop=
"pwd"
style=
"margin-bottom: 4px"
>
<el-input
v-model=
"setAccount.pwd"
type=
"password"
placeholder=
"密码"
@
keyup
.
enter
.
native=
"onSubmitSetAccount"
>
<i
slot=
"prefix"
class=
"el-input__icon el-icon-self-mima"
></i>
</el-input>
</el-form-item>
<el-form-item
prop=
"isRemember"
style=
"margin-bottom: 0px; text-align: left
;
"
>
<el-form-item
prop=
"isRemember"
style=
"margin-bottom: 0px; text-align: left"
>
<el-checkbox
v-model=
"setAccount.isRemember"
label=
"记住我"
name=
"type"
></el-checkbox>
</el-form-item>
<el-form-item>
...
...
@@ -61,7 +56,7 @@ export default {
user
:
[
{
required
:
true
,
message
:
'请输入
账号
'
,
message
:
'请输入
手机号/邮箱
'
,
trigger
:
'blur'
}
],
...
...
src/pages/my/application/form/declare.js
浏览文件 @
e7ff7a91
...
...
@@ -26,7 +26,8 @@ export default function(_this) {
callback
()
{
_this
.
getApplication
()
this
.
form
.
options
.
disabled
=
true
_this
.
$router
.
push
({
path
:
this
.
$route
.
path
,
query
:
{
active
:
'application_pay'
}
})
// _this.$router.push({ path: this.$route.path, query: { active: 'application_pay' } })
_this
.
$router
.
push
({
path
:
'/my/interview'
})
},
errorCallback
()
{
_this
.
completeVisible
=
true
...
...
src/pages/my/application/form/index.js
浏览文件 @
e7ff7a91
...
...
@@ -11,15 +11,15 @@ export default function(_this) {
info
(
_this
),
tjx
(
_this
),
// wfzsm(_this),
declare
(
_this
)
,
{
id
:
'application_pay'
,
title
:
'缴报名费'
,
show
:
false
,
visible
()
{
return
_this
.
visible
}
}
declare
(
_this
)
//
{
//
id: 'application_pay',
//
title: '缴报名费',
//
show: false,
//
visible() {
//
return _this.visible
//
}
//
}
]
}
}
src/pages/my/application/form/info/career.js
浏览文件 @
e7ff7a91
...
...
@@ -13,16 +13,8 @@ export default function(_this) {
get
:
{
action
:
`/api/enrollment/v1.0/application-materials/
${
webConf
.
others
.
projectId
}
`
,
callback
(
data
)
{
le
t
{
careers
:
list
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
cons
t
{
careers
:
list
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
this
.
form
.
options
.
disabled
=
submissionStage
!==
'FILLING'
list
=
list
.
map
(
item
=>
{
const
{
start_date
:
startDate
,
end_date
:
endDate
}
=
item
if
(
startDate
)
{
item
.
dates
=
[
startDate
,
endDate
]
}
return
item
})
return
list
.
length
?
list
:
[{}]
}
},
...
...
@@ -30,9 +22,6 @@ export default function(_this) {
action
:
`/api/enrollment/v1.0/application-materials/
${
webConf
.
others
.
projectId
}
/put`
,
beforeRequest
(
data
)
{
const
careers
=
data
.
map
(
item
=>
{
const
[
startDate
,
endDate
]
=
item
.
dates
item
.
start_date
=
startDate
item
.
end_date
=
endDate
return
[
'start_date'
,
'end_date'
,
...
...
@@ -57,16 +46,25 @@ export default function(_this) {
items
:
[
{
type
:
'v-datepicker'
,
label
:
'工作时间'
,
model
:
'dates'
,
label
:
'开始时间'
,
model
:
'start_date'
,
attrs
:
{
type
:
'month'
,
placeholder
:
'请选择工作开始时间'
,
valueFormat
:
'yyyy-MM'
},
rules
:
[{
required
:
true
,
message
:
'请选择工作开始时间'
,
trigger
:
'blur'
}]
},
{
type
:
'v-datepicker'
,
label
:
'结束时间'
,
model
:
'end_date'
,
attrs
:
{
type
:
'monthrange'
,
rangeSeparator
:
'至'
,
startPlaceholder
:
'请选择开始时间'
,
endPlaceholder
:
'请选择结束时间'
,
type
:
'month'
,
placeholder
:
'请选择工作结束时间'
,
valueFormat
:
'yyyy-MM'
},
rules
:
[{
required
:
true
,
message
:
'请选择工作时间'
,
trigger
:
'blur'
}]
rules
:
[{
required
:
true
,
message
:
'请选择工作
结束
时间'
,
trigger
:
'blur'
}]
},
{
type
:
'v-input'
,
...
...
src/pages/my/application/form/info/education.js
浏览文件 @
e7ff7a91
...
...
@@ -13,16 +13,8 @@ export default function(_this) {
get
:
{
action
:
`/api/enrollment/v1.0/application-materials/
${
webConf
.
others
.
projectId
}
`
,
callback
(
data
)
{
le
t
{
educations
:
list
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
cons
t
{
educations
:
list
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
this
.
form
.
options
.
disabled
=
submissionStage
!==
'FILLING'
list
=
list
.
map
(
item
=>
{
const
{
start_date
:
startDate
,
end_date
:
endDate
}
=
item
if
(
startDate
)
{
item
.
dates
=
[
startDate
,
endDate
]
}
return
item
})
return
list
.
length
?
list
:
[{}]
}
},
...
...
@@ -30,9 +22,6 @@ export default function(_this) {
action
:
`/api/enrollment/v1.0/application-materials/
${
webConf
.
others
.
projectId
}
/put`
,
beforeRequest
(
data
)
{
const
educations
=
data
.
map
(
item
=>
{
const
[
startDate
,
endDate
]
=
item
.
dates
item
.
start_date
=
startDate
item
.
end_date
=
endDate
return
[
'start_date'
,
'end_date'
,
'school_name_cn'
,
'major_cn'
,
'degree'
].
reduce
((
result
,
key
)
=>
{
result
[
key
]
=
item
[
key
]
return
result
...
...
@@ -49,16 +38,25 @@ export default function(_this) {
items
:
[
{
type
:
'v-datepicker'
,
label
:
'教育时间'
,
model
:
'dates'
,
label
:
'开始时间'
,
model
:
'start_date'
,
attrs
:
{
type
:
'month'
,
placeholder
:
'请选择教育开始时间'
,
valueFormat
:
'yyyy-MM'
},
rules
:
[{
required
:
true
,
message
:
'请选择教育开始时间'
,
trigger
:
'blur'
}]
},
{
type
:
'v-datepicker'
,
label
:
'结束时间'
,
model
:
'end_date'
,
attrs
:
{
type
:
'monthrange'
,
rangeSeparator
:
'至'
,
startPlaceholder
:
'请选择开始时间'
,
endPlaceholder
:
'请选择结束时间'
,
type
:
'month'
,
placeholder
:
'请选择教育结束时间'
,
valueFormat
:
'yyyy-MM'
},
rules
:
[{
required
:
true
,
message
:
'请选择教育时间'
,
trigger
:
'blur'
}]
rules
:
[{
required
:
true
,
message
:
'请选择教育
结束
时间'
,
trigger
:
'blur'
}]
},
{
type
:
'v-input'
,
...
...
src/pages/my/application/form/info/training.js
浏览文件 @
e7ff7a91
...
...
@@ -12,16 +12,8 @@ export default function(_this) {
get
:
{
action
:
`/api/enrollment/v1.0/application-materials/
${
webConf
.
others
.
projectId
}
`
,
callback
(
data
)
{
le
t
{
trainings
:
list
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
cons
t
{
trainings
:
list
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
this
.
form
.
options
.
disabled
=
submissionStage
!==
'FILLING'
list
=
list
.
map
(
item
=>
{
const
{
start_date
:
startDate
,
end_date
:
endDate
}
=
item
if
(
startDate
)
{
item
.
dates
=
[
startDate
,
endDate
]
}
return
item
})
return
list
.
length
?
list
:
[{}]
}
},
...
...
@@ -29,9 +21,6 @@ export default function(_this) {
action
:
`/api/enrollment/v1.0/application-materials/
${
webConf
.
others
.
projectId
}
/put`
,
beforeRequest
(
data
)
{
const
trainings
=
data
.
map
(
item
=>
{
const
[
startDate
,
endDate
]
=
item
.
dates
item
.
start_date
=
startDate
item
.
end_date
=
endDate
return
[
'start_date'
,
'end_date'
,
'institution_cn'
,
'course_cn'
].
reduce
((
result
,
key
)
=>
{
result
[
key
]
=
item
[
key
]
return
result
...
...
@@ -48,16 +37,25 @@ export default function(_this) {
items
:
[
{
type
:
'v-datepicker'
,
label
:
'培训时间'
,
model
:
'dates'
,
label
:
'开始时间'
,
model
:
'start_date'
,
attrs
:
{
type
:
'month'
,
placeholder
:
'请选择培训开始时间'
,
valueFormat
:
'yyyy-MM'
},
rules
:
[{
required
:
true
,
message
:
'请选择培训开始时间'
,
trigger
:
'blur'
}]
},
{
type
:
'v-datepicker'
,
label
:
'结束时间'
,
model
:
'end_date'
,
attrs
:
{
type
:
'monthrange'
,
rangeSeparator
:
'至'
,
startPlaceholder
:
'请选择开始时间'
,
endPlaceholder
:
'请选择结束时间'
,
type
:
'month'
,
placeholder
:
'请选择培训结束时间'
,
valueFormat
:
'yyyy-MM'
},
rules
:
[{
required
:
true
,
message
:
'请选择培训时间'
,
trigger
:
'blur'
}]
rules
:
[{
required
:
true
,
message
:
'请选择培训
结束
时间'
,
trigger
:
'blur'
}]
},
{
type
:
'v-input'
,
...
...
src/pages/my/welcome/index.vue
0 → 100644
浏览文件 @
e7ff7a91
<
template
>
<div
v-if=
"loaded"
>
<index-welcome
@
update=
"handleUpdate"
v-if=
"!isSubmited"
/>
<index-pay
v-else
/>
</div>
</
template
>
<
script
>
import
IndexWelcome
from
'./indexWelcome.vue'
import
IndexPay
from
'./indexPay.vue'
import
*
as
api
from
'@/api/my'
export
default
{
components
:
{
IndexWelcome
,
IndexPay
},
data
()
{
return
{
loaded
:
false
,
progress
:
{}
}
},
methods
:
{
// 获取报名信息
getApplication
()
{
this
.
loaded
=
false
api
.
getApplication
()
.
then
(
response
=>
{
const
{
progress
=
{}
}
=
response
.
data
this
.
progress
=
progress
// 缴费成功
if
(
progress
.
PREPAYMENT
.
total_progress
)
{
this
.
$router
.
push
(
'/my/account'
)
}
})
.
finally
(()
=>
{
this
.
loaded
=
true
})
},
handleUpdate
(
data
)
{
const
{
progress
}
=
data
this
.
progress
=
progress
}
},
computed
:
{
isSubmited
()
{
const
{
FILLING
=
{}
}
=
this
.
progress
if
(
FILLING
&&
FILLING
.
basic_info
)
{
return
!!
FILLING
.
basic_info
.
progress
}
return
false
}
},
beforeCreate
()
{
document
.
body
.
style
.
background
=
'#fff'
},
beforeMount
()
{
this
.
getApplication
()
},
destroyed
()
{
document
.
body
.
style
=
''
}
}
</
script
>
src/pages/my/welcome/indexPay.vue
0 → 100644
浏览文件 @
e7ff7a91
<
template
>
<div
class=
"pay"
>
<div
class=
"pay-hd"
>
<div
class=
"pic"
>
<img
src=
"../../../assets/images/my_pay_02.png"
height=
"160"
/>
</div>
<h1>
请使用微信扫描下方二维码
</h1>
</div>
<div
class=
"qrcode-error"
v-if=
"qrcodeError"
>
生成二维码失败请刷新
<i
class=
"el-icon-refresh-left"
@
click=
"refreshQrcode"
title=
"刷新"
></i>
</div>
<div
class=
"qrcode"
v-else
>
<qrcode-vue
:value=
"qrcodeValue"
size=
"100"
></qrcode-vue>
<span
@
click=
"refreshQrcode"
>
刷新
</span>
</div>
<div
class=
"pay-ft"
>
<p
class=
"t2"
>
注释:在提交600元申请费后,申请人需上传并提交如下文件。
</p>
<p
class=
"t2"
>
①填写报名表、②完成推荐信2封、③本科学历学位证书、④中英文成绩单、⑤个人证件照
</p>
<p
class=
"t2"
>
该申请费不退,请慎重缴费!
</p>
</div>
<el-dialog
title=
"报名费缴费成功"
:visible
.
sync=
"dialogVisible"
:center=
"true"
:close-on-click-modal=
"false"
width=
"348px"
>
<div
class=
"dialog-pay"
>
<p>
请填写报名所需材料,材料齐全后招生办老师将
<br
/>
给您致电预约面试日期与时间
</p>
<div
class=
"icon"
><img
src=
"../../../assets/images/icon_success.png"
/></div>
</div>
<template
#
footer
>
<el-button
type=
"primary"
@
click=
"toApplication"
>
立即预约
</el-button>
</
template
>
</el-dialog>
</div>
</template>
<
script
>
import
QrcodeVue
from
'qrcode.vue'
import
*
as
api
from
'@/api/my'
export
default
{
name
:
'AppPay'
,
components
:
{
QrcodeVue
},
data
()
{
return
{
isPass
:
false
,
order
:
{
id
:
''
,
payment_url
:
''
},
qrcodeError
:
false
,
dialogVisible
:
false
,
timer
:
null
,
paymentRecords
:
[]
// 所有订单
}
},
computed
:
{
// 二维码地址
qrcodeValue
()
{
return
this
.
order
.
payment_url
},
// 支付成功
paySuccess
()
{
return
this
.
order
.
payment_status
===
'SUCCESS'
},
// 待支付订单
orderList
()
{
// 筛选待支付订单
const
list
=
this
.
paymentRecords
.
filter
(
item
=>
{
return
item
.
bill_type
===
'APPLICATION_FEE'
&&
item
.
payment_status
===
'WAITING_FOR_PAY'
})
// 待支付订单是否有当前订单
const
found
=
list
.
find
(
item
=>
item
.
id
===
this
.
order
.
id
)
return
found
?
list
:
[...
list
,
this
.
order
]
}
},
methods
:
{
// 获取报名信息
async
getApplication
()
{
await
api
.
getApplication
().
then
(
response
=>
{
const
{
payment_records
:
paymentRecords
=
[]
}
=
response
.
data
.
material
// 获取支付订单
this
.
paymentRecords
=
paymentRecords
if
(
paymentRecords
&&
paymentRecords
.
length
)
{
// 获取支付成功的订单
const
orderPaySuccess
=
paymentRecords
.
find
(
item
=>
{
return
item
.
bill_type
===
'APPLICATION_FEE'
&&
item
.
payment_status
===
'SUCCESS'
})
if
(
orderPaySuccess
)
{
this
.
order
=
orderPaySuccess
this
.
dialogVisible
=
true
return
}
// 获取最后一个订单
const
[
lastPayment
]
=
paymentRecords
.
reverse
()
this
.
order
=
lastPayment
}
})
},
// 获取订单
async
getOrder
()
{
if
(
this
.
paySuccess
)
{
return
}
await
api
.
getOrder
({
payment_method
:
'WX_PAY_QR'
}).
then
(
response
=>
{
const
{
data
,
error
,
message
}
=
response
this
.
qrcodeError
=
error
.
toString
()
===
'1'
if
(
error
.
toString
()
===
'0'
)
{
this
.
order
=
data
}
else
{
this
.
$message
.
error
(
message
)
}
})
},
// 刷新二维码
refreshQrcode
()
{
this
.
getOrder
()
},
// 检查支付状态
async
checkPay
(
order
)
{
if
(
this
.
paySuccess
)
{
this
.
timer
&&
clearInterval
(
this
.
timer
)
return
}
const
userId
=
window
.
G
.
UserInfo
.
id
await
api
.
checkPay
(
order
.
id
,
{
user_id
:
userId
}).
then
(
response
=>
{
if
(
response
.
data
.
payment_status
===
'SUCCESS'
)
{
this
.
timer
&&
clearInterval
(
this
.
timer
)
this
.
dialogVisible
=
true
}
})
},
setCheckPayTimer
()
{
this
.
timer
&&
clearInterval
(
this
.
timer
)
this
.
timer
=
setInterval
(()
=>
{
this
.
orderList
.
forEach
(
order
=>
{
this
.
checkPay
(
order
)
})
},
3000
)
},
// 填写个人资料
toApplication
()
{
this
.
$router
.
push
(
'/my/application?active=application_info'
)
}
},
async
mounted
()
{
await
this
.
getApplication
()
await
this
.
getOrder
()
this
.
setCheckPayTimer
()
},
destroyed
()
{
this
.
timer
&&
clearInterval
(
this
.
timer
)
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.pay
{
max-width
:
562px
;
margin
:
0
auto
;
padding-top
:
180px
;
}
.pay-hd
{
.pic
{
text-align
:
center
;
}
h1
{
margin-top
:
40px
;
font-size
:
24px
;
font-weight
:
500
;
color
:
#222
;
line-height
:
1
;
text-align
:
center
;
}
}
.qrcode
{
padding
:
20px
0
;
text-align
:
center
;
span
{
margin-top
:
10px
;
font-size
:
12px
;
color
:
#999
;
cursor
:
pointer
;
}
}
.qrcode-error
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
flex-direction
:
column
;
width
:
100px
;
height
:
100px
;
padding
:
10px
;
margin
:
20px
auto
;
color
:
var
(
--
main-color
);
border-style
:
dashed
;
border-width
:
1px
;
border-color
:
var
(
--
main-color
);
box-sizing
:
border-box
;
text-align
:
center
;
i
{
margin-top
:
10px
;
cursor
:
pointer
;
}
}
.t1
{
font-size
:
14px
;
color
:
#303030
;
line-height
:
20px
;
text-align
:
center
;
span
{
color
:
#ffa448
;
}
}
.t2
{
font-size
:
12px
;
color
:
#999
;
line-height
:
20px
;
}
.dialog-pay
{
text-align
:
center
;
p
{
color
:
#262626
;
line-height
:
20px
;
}
.icon
{
margin-top
:
20px
;
text-align
:
center
;
}
}
</
style
>
src/pages/my/welcome/indexWelcome.vue
0 → 100644
浏览文件 @
e7ff7a91
<
template
>
<div
class=
"welcome"
>
<div
class=
"top"
>
<div
class=
"pic"
>
<img
src=
"../../../assets/images/my_pay_01.png"
/>
</div>
<h1>
欢迎您
</h1>
<p
class=
"t1"
>
申请紫荆-加州整合大学应用心理学硕士项目,请在填写以下内容并
提交报名申请后,扫码支付本项目的注册费、申请费共计
<span>
600
</span>
元。
</p>
</div>
<div
class=
"form"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
label-width=
"80px"
ref=
"ruleForm"
>
<el-form-item
label=
"姓名"
prop=
"real_name_cn"
>
<el-input
v-model=
"ruleForm.real_name_cn"
></el-input>
</el-form-item>
<el-form-item
label=
"手机号"
prop=
"phone_number"
>
<el-input
v-model=
"ruleForm.phone_number"
></el-input>
</el-form-item>
<el-form-item
label=
"邮件"
prop=
"email"
>
<el-input
v-model=
"ruleForm.email"
></el-input>
</el-form-item>
<div
class=
"buttons"
>
<el-button
type=
"primary"
class=
"button-submit"
@
click=
"handleSubmit"
>
提交
</el-button>
</div>
</el-form>
</div>
</div>
</
template
>
<
script
>
import
*
as
api
from
'@/api/my'
export
default
{
data
()
{
return
{
material
:
{},
progress
:
{},
ruleForm
:
{
real_name_cn
:
''
,
phone_number
:
''
,
email
:
''
},
rules
:
{
real_name_cn
:
[{
required
:
true
,
message
:
'请输入姓名'
,
trigger
:
'blur'
}],
phone_number
:
[{
required
:
true
,
message
:
'请输入手机号'
,
trigger
:
'blur'
}],
email
:
[{
required
:
true
,
message
:
'请输入邮箱'
,
trigger
:
'blur'
}]
}
}
},
methods
:
{
handleSubmit
()
{
this
.
$refs
.
ruleForm
.
validate
().
then
(
this
.
handleSubmitRequest
)
},
handleSubmitRequest
()
{
const
params
=
{
basic_info
:
this
.
ruleForm
}
api
.
updateApplication
(
params
).
then
(
response
=>
{
if
(
response
.
error
===
'0'
)
{
this
.
$emit
(
'update'
,
response
.
data
)
}
else
{
this
.
$message
({
type
:
'error'
,
message
:
response
.
message
})
}
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.welcome
{
max-width
:
420px
;
margin
:
0
auto
;
padding-top
:
140px
;
}
.top
{
padding
:
40px
0
;
.pic
{
text-align
:
center
;
}
h1
{
padding
:
20px
0
;
font-size
:
24px
;
font-weight
:
500
;
color
:
#222
;
line-height
:
1
;
text-align
:
center
;
}
}
.t1
{
font-size
:
14px
;
color
:
#262626
;
line-height
:
20px
;
text-align
:
center
;
span
{
color
:
#ffa448
;
}
}
.buttons
{
text-align
:
center
;
}
.button-submit
{
width
:
100px
;
margin
:
0
auto
;
}
</
style
>
src/pages/register/filterType.json
浏览文件 @
e7ff7a91
...
...
@@ -21,10 +21,10 @@
"password"
:
""
},
"ruleFormlabel"
:
"left"
,
"labelWidth"
:
"
7
0px"
,
"labelWidth"
:
"
11
0px"
,
"rules"
:
{
"username"
:
[{
"required"
:
true
,
"message"
:
"请填写用户名!"
,
"trigger"
:
"change"
}],
"account"
:
[{
"required"
:
true
,
"message"
:
"请填写手机号!"
,
"trigger"
:
"change"
}],
"account"
:
[{
"required"
:
true
,
"message"
:
"请填写手机号
/邮箱
!"
,
"trigger"
:
"change"
}],
"code"
:
[{
"required"
:
true
,
"message"
:
"请填写验证码!"
,
"trigger"
:
"change"
}],
"password"
:
[{
"required"
:
true
,
"message"
:
"请填写密码!"
,
"trigger"
:
"change"
}]
},
...
...
@@ -41,8 +41,8 @@
"type"
:
"PageInput"
,
"size"
:
"medium"
,
"width"
:
"270px"
,
"label"
:
"手机号"
,
"placeholder"
:
"手机号"
,
"label"
:
"手机号
/邮箱
"
,
"placeholder"
:
"手机号
/邮箱
"
,
"querykey"
:
"account"
},
{
...
...
src/router/routes.js
浏览文件 @
e7ff7a91
...
...
@@ -49,23 +49,29 @@ export const constantRoutes = [
{
name
:
'apply'
,
path
:
''
,
component
:
()
=>
import
(
/* webpackChunkName: "my-welcome" */
'@/pages/my/welcome/index.vue'
),
meta
:
{
userRole
:
true
,
details
:
true
}
},
{
name
:
'account'
,
path
:
'account'
,
component
:
()
=>
import
(
/* webpackChunkName: "my-account" */
'@/pages/my/account/index.vue'
),
meta
:
{
userRole
:
true
}
meta
:
{
userRole
:
true
,
details
:
true
}
},
{
path
:
'application'
,
component
:
()
=>
import
(
/* webpackChunkName: "my-application" */
'@/pages/my/application/index.vue'
),
meta
:
{
userRole
:
true
}
meta
:
{
userRole
:
true
,
details
:
true
}
},
{
path
:
'interview'
,
component
:
()
=>
import
(
/* webpackChunkName: "my-interview" */
'@/pages/my/interview/index.vue'
),
meta
:
{
userRole
:
true
}
meta
:
{
userRole
:
true
,
details
:
true
}
},
{
path
:
'admission'
,
component
:
()
=>
import
(
/* webpackChunkName: "my-admission" */
'@/pages/my/admission/index.vue'
),
meta
:
{
userRole
:
true
}
meta
:
{
userRole
:
true
,
details
:
true
}
}
]
},
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论