Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
project-online-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
project-online-pc
Commits
c521506e
提交
c521506e
authored
6月 30, 2021
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
对接shms报名申请
上级
9f1588f8
隐藏空白字符变更
内嵌
并排
正在显示
30 个修改的文件
包含
155 行增加
和
965 行删除
+155
-965
index.vue
modules/letter/index.vue
+1
-1
home.vue
modules/my/account/home.vue
+1
-1
cjd.js
modules/my/admission/form/cjd.js
+0
-66
index.js
modules/my/admission/form/index.js
+1
-2
xfjn.js
modules/my/admission/form/xfjn.js
+12
-53
xy.js
modules/my/admission/form/xy.js
+4
-5
index.vue
modules/my/admission/index.vue
+3
-3
xy.vue
modules/my/admission/xy.vue
+7
-8
complete.vue
modules/my/application/complete.vue
+19
-48
qrcodePay.vue
modules/my/application/components/qrcodePay.vue
+1
-1
declare.js
modules/my/application/form/declare.js
+2
-3
index.js
modules/my/application/form/index.js
+2
-2
answer.js
modules/my/application/form/info/answer.js
+6
-6
honor.js
modules/my/application/form/info/honor.js
+1
-1
tjx.js
modules/my/application/form/tjx.js
+12
-3
pay.vue
modules/my/application/pay.vue
+2
-2
preview.vue
modules/my/application/preview.vue
+15
-18
byz.js
modules/my/interview/form/byz.js
+3
-4
cjd.js
modules/my/interview/form/cjd.js
+51
-76
index.js
modules/my/interview/form/index.js
+3
-4
xwzs.js
modules/my/interview/form/xwzs.js
+0
-45
xwzszm.js
modules/my/interview/form/xwzszm.js
+0
-44
ywjl.js
modules/my/interview/form/ywjl.js
+0
-46
zp.js
modules/my/interview/form/zp.js
+4
-5
index.vue
modules/my/interview/index.vue
+5
-4
h5Pay.vue
modules/my/welcome/components/h5Pay.vue
+0
-74
qrcodePay.vue
modules/my/welcome/components/qrcodePay.vue
+0
-102
index.vue
modules/my/welcome/index.vue
+0
-63
indexPay.vue
modules/my/welcome/indexPay.vue
+0
-165
indexWelcome.vue
modules/my/welcome/indexWelcome.vue
+0
-110
没有找到文件。
modules/letter/index.vue
浏览文件 @
c521506e
...
...
@@ -9,7 +9,7 @@
</div>
</div>
</header>
<nav
class=
"nav"
><h1
class=
"title"
>
美国印第安纳大学Kelley商学院金融学硕士
项目推荐信
</h1></nav>
<nav
class=
"nav"
><h1
class=
"title"
>
SHMS瑞士酒店管理大学MBA
项目推荐信
</h1></nav>
<section
class=
"content"
>
<el-form
:model=
"ruleForm"
...
...
modules/my/account/home.vue
浏览文件 @
c521506e
...
...
@@ -29,7 +29,7 @@
<img
src=
"https://webapp-pub.ezijing.com/project/application/images/welcome.png"
width=
"350"
/>
<div
class=
"welcome-content"
>
<h1>
欢迎您报考
</h1>
<h2>
美国印第安纳
大学
</h2>
<h2>
SHMS瑞士酒店管理
大学
</h2>
<div
class=
"welcome-button"
@
click=
"handleStart"
>
马上开始
</div>
</div>
</div>
...
...
modules/my/admission/form/cjd.js
deleted
100644 → 0
浏览文件 @
9f1588f8
export
default
function
(
_this
)
{
return
{
id
:
'admission_cjd'
,
title
:
'成绩单(中+英)'
,
get
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/
${
process
.
env
.
projectId
}
`
,
callback
(
data
)
{
const
{
attachments
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
const
stageList
=
[
'FILLING'
,
'PREPAYMENT'
,
'INTERVIEW_APPLICATION'
,
'AUDITION'
,
'INTERVIEW'
,
'PAYMENT'
,
'REGISTRATION'
,
'CLOSED'
]
this
.
form
.
options
.
disabled
=
stageList
.
findIndex
(
item
=>
item
===
submissionStage
)
>
6
return
attachments
.
reduce
(
(
result
,
item
)
=>
{
if
(
item
.
file_type_id
===
'REPORT_CARD_CN'
)
{
result
.
REPORT_CARD_CN
.
push
(
item
)
}
if
(
item
.
file_type_id
===
'REPORT_CARD_EN'
)
{
result
.
REPORT_CARD_EN
.
push
(
item
)
}
return
result
},
{
REPORT_CARD_CN
:
[],
REPORT_CARD_EN
:
[]
}
)
}
},
form
:
{
next
:
{
to
:
{
query
:
{
active
:
'admission_xy'
}
}
},
hasButton
:
false
,
options
:
{
'label-position'
:
'top'
},
hint
:
`
<p>请将中英文成绩单原件扫描或者拍照后提交。</p>
<p>获取途径:联系大学时就读学校相关部门(档案馆/教务处)获取成绩单。</p>
`
,
items
:
[
{
type
:
'v-upload'
,
label
:
'中文成绩单'
,
model
:
'REPORT_CARD_CN'
,
attrs
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/put`
,
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'REPORT_CARD_CN'
}
}
},
{
type
:
'v-upload'
,
label
:
'英文成绩单'
,
model
:
'REPORT_CARD_EN'
,
attrs
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/put`
,
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'REPORT_CARD_EN'
}
}
}
]
}
}
}
modules/my/admission/form/index.js
浏览文件 @
c521506e
import
cjd
from
'./cjd'
import
xy
from
'./xy'
import
xfjn
from
'./xfjn'
...
...
@@ -6,6 +5,6 @@ export default function(_this) {
return
{
id
:
'admission'
,
title
:
'入学办理'
,
children
:
[
cjd
(
_this
),
xy
(
_this
),
xfjn
(
_this
)
]
children
:
[
xy
(
_this
),
xfjn
]
}
}
modules/my/admission/form/xfjn.js
浏览文件 @
c521506e
export
default
function
(
_this
)
{
return
{
id
:
'admission_xfjn'
,
title
:
'缴费凭证'
,
get
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/
${
process
.
env
.
projectId
}
`
,
callback
(
data
)
{
const
{
attachments
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
const
stageList
=
[
'FILLING'
,
'PREPAYMENT'
,
'INTERVIEW_APPLICATION'
,
'AUDITION'
,
'INTERVIEW'
,
'PAYMENT'
,
'REGISTRATION'
,
'CLOSED'
]
this
.
form
.
options
.
disabled
=
stageList
.
findIndex
(
item
=>
item
===
submissionStage
)
>
6
const
PAYMENT_VOUCHER
=
attachments
.
filter
(
item
=>
{
return
item
.
file_type_id
===
'PAYMENT_VOUCHER'
})
return
{
PAYMENT_VOUCHER
}
}
},
form
:
{
prev
:
{
to
:
{
query
:
{
active
:
'admission_xy'
}
}
},
hasButton
:
false
,
options
:
{
'label-position'
:
'top'
},
hint
:
`
<p><strong>一、对公收款银行信息:</strong></p>
<p>户名:清控紫荆( 北京)教育科技股份有限公司</p>
<p>帐号:694485289</p>
<p>开户行:中国民生银行股份有限公司北京魏公村支行</p>
<p style="margin-top:30px;"><strong>二、支付宝收款账户信息:</strong></p>
<p>支付宝账号:service@ezijing.com</p>
<p>支付宝户名:清控紫荆(北京)教育科技股份有限公司</p>`
,
items
:
[
{
type
:
'v-upload'
,
model
:
'PAYMENT_VOUCHER'
,
label
:
'上传缴费凭证'
,
attrs
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/put`
,
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'PAYMENT_VOUCHER'
}
},
append
:
`申请者可将转账/支付缴费凭证截图或拍照后提交。<br>
上传多个文件,请打印出来检查无误后再上传。用A4纸打印后内容需显示完整、格式整齐、字迹清晰可辨。上传文件仅限“jpg,jpeg,pdf,png”格式,文件小于10Mb。`
}
]
}
}
export
default
{
id
:
'admission_xfjn'
,
title
:
'学费缴纳'
,
html
:
`
<p><strong>一、对公收款银行信息:</strong></p>
<p>户名:清控紫荆( 北京)教育科技股份有限公司</p>
<p>帐号:694485289</p>
<p>开户行:中国民生银行股份有限公司北京魏公村支行</p>
<p style="margin-top:30px;"><strong>二、支付宝收款账户信息:</strong></p>
<p>支付宝账号:service@ezijing.com</p>
<p>支付宝户名:清控紫荆(北京)教育科技股份有限公司</p>
`
}
modules/my/admission/form/xy.js
浏览文件 @
c521506e
...
...
@@ -24,7 +24,6 @@ export default function(_this) {
}
},
form
:
{
prev
:
{
to
:
{
query
:
{
active
:
'admission_cjd'
}
}
},
next
:
{
to
:
{
query
:
{
active
:
'admission_xfjn'
}
}
},
hasButton
:
false
,
options
:
{},
...
...
@@ -39,10 +38,10 @@ export default function(_this) {
data
:
{
file_type
:
'ADMISSION_AGREEMENT'
}
},
prepend
:
`
<p><a href="https://zws-imgs-pub.oss-cn-beijing.aliyuncs.com/pc/kelley/%E5%85%A5%E5%AD%A6%E5%8D%8F%E8%AE%AE.pdf" target="_blank" download="入学协议">下载入学协议</a>
</p>
<p>申请者可将签字后的入学协议原件扫描或拍照后提交。
</p>
<p>学员应仔细阅读《入学协议》以及课程介绍,如对入学协议或课程有异议,请第一时间与课程顾问咨询确认。请用A4纸打印后,在入学协议上签上姓名和日期,内容需显示完整、格式整齐、字迹清晰可辨。上传文件仅限“jpg,jpeg,pdf,png”格式,文件小于10Mb。
</p>
`
<p>第一步:点击下载按键获取入学协议
</p>
<p><a href="https://zws-imgs-pub.oss-cn-beijing.aliyuncs.com/pc/cu/%E5%85%A5%E5%AD%A6%E5%8D%8F%E8%AE%AE3.docx" target="_blank" download>下载入学协议</a>
</p>
<p>第二步:申请者可将签字后的入学协议原件扫描或拍照后提交。学员应仔细阅读《入学协议》以及课程介绍,如对入学协议或课程有异议,请第一时间与课程顾问咨询确认。请用A4纸打印后,在入学协议上签上姓名和日期,内容需显示完整、格式整齐、字迹清晰可辨。点击下方按钮,上传文件
</p>
`
}
]
}
...
...
modules/my/admission/index.vue
浏览文件 @
c521506e
...
...
@@ -49,7 +49,7 @@ export default {
const
menus
=
getMenu
(
this
)
return
{
menus
:
[
menus
],
currentActive
:
'admission_
cjd
'
,
currentActive
:
'admission_
xy
'
,
dialogVisible
:
false
,
detail
:
null
}
...
...
@@ -59,7 +59,7 @@ export default {
immediate
:
true
,
handler
(
route
)
{
const
{
query
=
{}
}
=
route
this
.
currentActive
=
query
.
active
||
'admission_
cjd
'
this
.
currentActive
=
query
.
active
||
'admission_
xy
'
}
},
showSubmitedDialog
(
value
)
{
...
...
@@ -91,7 +91,7 @@ export default {
},
handlePageChange
(
value
)
{
this
.
currentActive
=
value
this
.
$router
.
push
({
path
:
this
.
$route
.
path
,
query
:
{
active
:
value
}
})
.
catch
(()
=>
{})
this
.
$router
.
push
({
path
:
this
.
$route
.
path
,
query
:
{
active
:
value
}
})
console
.
log
(
'页面切换了'
,
value
)
},
handleSuccess
(
data
)
{
...
...
modules/my/admission/xy.vue
浏览文件 @
c521506e
...
...
@@ -46,13 +46,12 @@
<p>
2.
<b>
入学项目:
</b></p>
<p>
<b
>
项目课程为【紫荆教育-美国印第安纳大学Kelley商学院金融硕士(MSinFinance)2021年夏季班】。该项目学制为【15】个月,自当期项目课程开课之日起计算。
</b
>
如学员因个人原因需要延长学习期限的,须至少提前
<b>
【3】
</b>
个月申请延期,批准后方可延期毕业。最长可延期至
<b>
【60】
</b>
个月,自所报名的项目课
程原定开课之日起算。
>
项目课程为【紫荆-瑞士酒店管理大学工商管理硕士MBA第1期】。该项目学制为【2】年,自当期项目课程开课之日起计算。
</b
>
如学员因个人原因需要延长学习期限的,须至少提前
<b>
【4】
</b>
个月申请延期,批准后方可延期毕业。最长可延期
<b>
【12】
</b>
个月,自所报名的项目课程原定毕业之日起算。
</p>
<p>
<b>
课程的总学分为【3
3】学分,其中必修课【33】学分。先修课3门,不计入学分
。
</b
>
课程成绩未通过需要重修或选修其它课程。
重修或选修超规定的学分的,需按学分单价缴纳相关费用。
<b>
课程的总学分为【3
0】学分,其中必修课【30】学分,选修课【0】分。课程成绩未通过需要重修或选修其它课程
。
</b
>
重修或选修超规定的学分的,需按学分单价缴纳相关费用。
</p>
<app-collapse>
<
template
#
title
>
3.
<b>
教学说明:
</b></
template
>
...
...
@@ -62,7 +61,7 @@
<p>
(2)授课教师安排及调整。我们可能会调整相关课程的任课教师,该教师如与宣传材料不符以实际任课教师为准。
</p>
</app-collapse>
<app-collapse>
<
template
#
title
>
4.
<b>
费用。
</b>
本项目学费共计人民币【
2498
00】元整,包含授课费用、证书费用,不包含:
</
template
>
<
template
#
title
>
4.
<b>
费用。
</b>
本项目学费共计人民币【
1200
00】元整,包含授课费用、证书费用,不包含:
</
template
>
<p>
学习期间的交通费、食宿费、邮寄费、书本费等费用;
</p>
<p>
海外学习、海外毕业典礼等费用;
</p>
<p>
毕业服装、纪念品、校友会活动等相关费用;
</p>
...
...
@@ -162,7 +161,7 @@ export default {
},
methods
:
{
createSign
()
{
api
.
createSign
({
type
:
'
kelley
-agreement'
}).
then
(
response
=>
{
api
.
createSign
({
type
:
'
shms
-agreement'
}).
then
(
response
=>
{
const
{
code
,
data
}
=
response
if
(
code
===
1
)
{
this
.
sign
=
data
...
...
@@ -173,7 +172,7 @@ export default {
})
},
getSignDocument
(
flowid
)
{
return
api
.
getSignDocument
({
flowid
,
type
:
'
kelley
-agreement'
}).
then
(
response
=>
{
return
api
.
getSignDocument
({
flowid
,
type
:
'
shms
-agreement'
}).
then
(
response
=>
{
const
{
code
,
data
}
=
response
if
(
code
===
1
)
{
this
.
documentUrl
=
data
.
url
...
...
modules/my/application/complete.vue
浏览文件 @
c521506e
...
...
@@ -43,54 +43,39 @@ export default {
title
:
'个人资料'
,
code
:
'applicaitonInfo'
,
view
:
{
to
:
{
path
:
'/my/application'
,
query
:
{
active
:
'application_info'
}
}
}
},
{
title
:
'推荐信'
,
code
:
'applicationTjx'
,
view
:
{
to
:
{
path
:
'/my/application'
,
query
:
{
active
:
'application_tjx'
}
}
}
}
// {
// title: '推荐信',
// code: 'applicationTjx',
// view: { to: { path: '/my/application', query: { active: 'application_tjx' } } }
// }
// {
// title: '无犯罪证明',
// code: 'applicationWfzzm',
// view: { to: { path: '/my/application', query: { active: 'application_wfzzm' } } }
// }
],
[
{
title
:
'毕业证书'
,
code
:
'interviewByzs'
,
view
:
{
to
:
{
path
:
'/my/interview'
,
query
:
{
active
:
'interview_byzs'
}
}
}
},
{
title
:
'学位证书'
,
code
:
'interviewXwzs'
,
view
:
{
to
:
{
path
:
'/my/interview'
,
query
:
{
active
:
'interview_
xwzs
'
}
}
}
view
:
{
to
:
{
path
:
'/my/interview'
,
query
:
{
active
:
'interview_
byz
'
}
}
}
},
// {
// title: '学位证书英文证明',
// code: 'interviewXwzsEnglish',
// view: { to: { path: '/my/interview', query: { active: 'interview_xwzsywzm' } } }
// },
{
title
:
'
英文简历
'
,
code
:
'interview
Ywjl
'
,
view
:
{
to
:
{
path
:
'/my/interview'
,
query
:
{
active
:
'interview_
ywjl
'
}
}
}
title
:
'
成绩单
'
,
code
:
'interview
Cjd
'
,
view
:
{
to
:
{
path
:
'/my/interview'
,
query
:
{
active
:
'interview_
cjd
'
}
}
}
},
{
title
:
'2寸照片'
,
code
:
'interviewZp'
,
view
:
{
to
:
{
path
:
'/my/interview'
,
query
:
{
active
:
'interview_zp'
}
}
}
},
{
title
:
'推荐信'
,
code
:
'interviewTjx'
,
view
:
{
to
:
{
path
:
'/my/application'
,
query
:
{
active
:
'application_tjx'
}
}
}
}
// {
// title: '成绩单',
// code: 'interviewCjd',
// view: { to: { path: '/my/interview', query: { active: 'interview_cjd' } } }
// },
// {
// title: '推荐信',
// code: 'interviewTjx',
// view: { to: { path: '/my/application', query: { active: 'application_tjx' } } }
// }
]
]
}
...
...
@@ -141,40 +126,26 @@ export default {
applicationWfzzm
.
progress
=
fillingMissedRequiredList
.
NO_CRIMINAL_CERT
?
0
:
1
const
missedRequiredList
=
progress
.
INTERVIEW_APPLICATION
.
attachments
.
missed_required_list
// 2寸照片
const
interviewZp
=
{
progress
:
0
}
interviewZp
.
progress
=
missedRequiredList
.
PERSONAL_PHOTO_FOR_ID
?
0
:
1
// 毕业证书
const
interviewByzs
=
{
progress
:
0
}
interviewByzs
.
progress
=
missedRequiredList
.
DIPLOMA_CN
?
0
:
1
// 学位证书
const
interviewXwzs
=
{
progress
:
0
}
interviewXwzs
.
progress
=
missedRequiredList
.
DEGREE_CERT_CN
?
0
:
1
// 学位证书英文
const
interviewXwzsEnglish
=
{
progress
:
0
}
interviewXwzsEnglish
.
progress
=
missedRequiredList
.
DEGREE_CERT_EN
?
0
:
1
// 英文简历
const
interviewYwjl
=
{
progress
:
0
}
interviewYwjl
.
progress
=
missedRequiredList
.
RESUME_EN
?
0
:
1
// 成绩单
const
interviewCjd
=
{
progress
:
0
}
interviewCjd
.
progress
=
missedRequiredList
.
REPORT_CARD_CN
||
missedRequiredList
.
REPORT_CARD_EN
?
0
:
1
// 2寸照片
const
interviewZp
=
{
progress
:
0
}
interviewZp
.
progress
=
missedRequiredList
.
PERSONAL_PHOTO_FOR_ID
?
0
:
1
// 推荐信
const
interviewTjx
=
{
progress
:
0
}
interviewTjx
.
progress
=
progress
.
INTERVIEW_APPLICATION
.
reco_letters
?
progress
.
INTERVIEW_APPLICATION
.
reco_letters
.
progress
:
0
interviewTjx
.
progress
=
progress
.
INTERVIEW_APPLICATION
.
reco_letters
.
progress
this
.
progress
=
{
applicaitonInfo
,
applicationTjx
,
applicationWfzzm
,
interviewZp
,
interviewByzs
,
interviewXwzs
,
interviewXwzsEnglish
,
interviewYwjl
,
interviewCjd
,
interviewZp
,
interviewTjx
}
}
else
{
...
...
modules/my/application/components/qrcodePay.vue
浏览文件 @
c521506e
...
...
@@ -6,7 +6,7 @@
</div>
<h1>
欢迎您
</h1>
<p
class=
"t1"
>
紫荆-印第安纳大学Kelley商学院金融硕士(MSF)项目申请费
<span>
700
</span>
元,请扫描二维码支付
完成报名。
申请SHMS瑞士酒店管理大学MBA项目,本项目的注册费,申请费共计
<span>
600
</span>
元,请扫描二维码缴费以
完成报名。
</p>
</div>
<div
class=
"qrcode-error"
v-if=
"qrcodeError"
>
...
...
modules/my/application/form/declare.js
浏览文件 @
c521506e
...
...
@@ -27,14 +27,13 @@ export default function(_this) {
_this
.
getApplication
()
this
.
form
.
options
.
disabled
=
true
_this
.
$router
.
push
({
path
:
this
.
$route
.
path
,
query
:
{
active
:
'application_pay'
}
})
// _this.$router.push({ path: '/my/interview' })
},
errorCallback
()
{
_this
.
completeVisible
=
true
}
},
form
:
{
prev
:
{
to
:
{
query
:
{
active
:
'application_
info'
,
tab
:
'application_info_honor
'
}
}
},
prev
:
{
to
:
{
query
:
{
active
:
'application_
tjx
'
}
}
},
submitText
:
'提交报名申请'
,
model
:
{
isAgree
:
[]
},
options
:
{},
...
...
@@ -45,7 +44,7 @@ export default function(_this) {
model
:
'isAgree'
,
rules
:
[{
required
:
true
,
message
:
'请阅读协议'
,
trigger
:
'change'
}],
prepend
:
'<p>
我提供的所有报名材料信息皆准确和完整。我同意在需要的情况下提交原件以确认我的报名资格。由于报名材料中的虚假、错误信息或重大遗漏导致不录取或取消学籍的后果由我个人承担。 我理解并同意所有报名材料归紫荆教育所有,无论考生录取与否均不退回。我授权紫荆教育使用报名表中的信息查询本人学习和工作记录
。</p>'
'<p>
本人自愿申请SHMS瑞士酒店管理大学MBA项目,所有申请表内填写的内容属实,大专/本科学位属实,没有弄虚作假的行为。如有虚假,愿承担一切法律责任
。</p>'
}
]
}
...
...
modules/my/application/form/index.js
浏览文件 @
c521506e
import
info
from
'./info'
//
import tjx from './tjx'
import
tjx
from
'./tjx'
// import wfzsm from './wfzzm'
import
declare
from
'./declare'
...
...
@@ -9,7 +9,7 @@ export default function(_this) {
title
:
'报名申请'
,
children
:
[
info
(
_this
),
//
tjx(_this),
tjx
(
_this
),
// wfzsm(_this),
declare
(
_this
),
{
...
...
modules/my/application/form/info/answer.js
浏览文件 @
c521506e
...
...
@@ -19,10 +19,10 @@ export default function(_this) {
const
[
first
=
{},
second
=
{}]
=
answers
return
{
qid1
:
first
.
qid
||
'1'
,
question1
:
'
您为什么要申请美国印第安纳大学Kelley商学院金融学硕士项目?(200字以上,1000字以内)
'
,
question1
:
'
这个MBA项目对你将来的职业发展有什么好处?你的职业发展目标是什么?
'
,
answer1
:
first
.
answer
,
qid2
:
second
.
qid
||
'2'
,
question2
:
'您
的短期和长期职业发展目标是什么?您打算如何达成此愿景?(200字以上,1000字以内)
'
,
question2
:
'您
参加过其他的培训项目有哪些?请列出来。你是如何从这些学习经验中获益的?
'
,
answer2
:
second
.
answer
}
}
...
...
@@ -45,22 +45,22 @@ export default function(_this) {
items
:
[
{
type
:
'v-input'
,
label
:
'
您为什么要申请美国印第安纳大学Kelley商学院金融学硕士项目?(200字以上,1000字以内)
'
,
label
:
'
这个MBA项目对你将来的职业发展有什么好处?你的职业发展目标是什么?
'
,
model
:
'answer1'
,
attrs
:
{
type
:
'textarea'
,
rows
:
'8'
,
maxlength
:
'1000'
,
style
:
'width:100%'
},
rules
:
[
{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
},
{
min
:
200
,
max
:
1000
,
message
:
'长度在 20
0 到 1000 个字符'
,
trigger
:
'blur'
}
{
min
:
60
,
max
:
1000
,
message
:
'长度在 6
0 到 1000 个字符'
,
trigger
:
'blur'
}
]
},
{
type
:
'v-input'
,
label
:
'您
的短期和长期职业发展目标是什么?您打算如何达成此愿景?(200字以上,1000字以内)
'
,
label
:
'您
参加过其他的培训项目有哪些?请列出来。你是如何从这些学习经验中获益的?
'
,
model
:
'answer2'
,
attrs
:
{
type
:
'textarea'
,
rows
:
'8'
,
maxlength
:
'1000'
,
style
:
'width:100%'
},
rules
:
[
{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
},
{
min
:
200
,
max
:
1000
,
message
:
'长度在 20
0 到 1000 个字符'
,
trigger
:
'blur'
}
{
min
:
60
,
max
:
1000
,
message
:
'长度在 6
0 到 1000 个字符'
,
trigger
:
'blur'
}
]
}
]
...
...
modules/my/application/form/info/honor.js
浏览文件 @
c521506e
...
...
@@ -31,7 +31,7 @@ export default function(_this) {
},
form
:
{
prev
:
{
to
:
{
query
:
{
active
:
'application_info'
,
tab
:
'application_info_training'
}
},
isSubmit
:
true
},
next
:
{
to
:
{
query
:
{
active
:
'application_
declare
'
}
},
isSubmit
:
true
},
next
:
{
to
:
{
query
:
{
active
:
'application_
tjx
'
}
},
isSubmit
:
true
},
hasAdd
:
true
,
options
:
{
labelWidth
:
'140px'
},
items
:
[
...
...
modules/my/application/form/tjx.js
浏览文件 @
c521506e
...
...
@@ -25,19 +25,28 @@ export default function(_this) {
]
this
.
form
.
options
.
disabled
=
stageList
.
findIndex
(
item
=>
item
===
submissionStage
)
>
3
const
list
=
data
.
data
.
material
.
reco_letters
||
[]
return
list
.
length
?
list
:
[{},
{}]
return
list
.
length
?
list
:
[{},
{}
,
{}
]
}
},
update
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/
${
process
.
env
.
projectId
}
/put`
,
beforeRequest
(
data
)
{
// const recoLetters = data.map(item => {
// return ['provider_name', 'provider_phone_number', 'provider_email', 'provider_relationship'].reduce(
// (result, key) => {
// result[key] = item[key]
// return result
// },
// {}
// )
// })
return
{
reco_letters
:
data
}
}
},
form
:
{
minlength
:
2
,
minlength
:
3
,
prev
:
{
to
:
{
query
:
{
active
:
'application_info'
,
tab
:
'application_info_honor'
}
},
isSubmit
:
true
},
next
:
{
to
:
{
query
:
{
active
:
'application_
wfzzm
'
}
},
isSubmit
:
true
},
next
:
{
to
:
{
query
:
{
active
:
'application_
declare
'
}
},
isSubmit
:
true
},
hasAdd
:
true
,
disabled
(
data
)
{
return
!!
data
.
letter_content
...
...
modules/my/application/pay.vue
浏览文件 @
c521506e
...
...
@@ -3,8 +3,8 @@
<h5-pay
@
update=
"handleUpdateOrder"
v-if=
"isWechat"
></h5-pay>
<qrcode-pay
@
update=
"handleUpdateOrder"
v-else
></qrcode-pay>
<div
class=
"pay-ft"
>
<p
class=
"t2"
>
注释:
该申请费提交后不予退还,缴纳申请费后,申请人还需提交以下文件:
</p>
<p
class=
"t2"
>
①
本科及以上学历毕业证书扫描件②本科及以上学历学位证书扫描件③个人证件照④英文简历
</p>
<p
class=
"t2"
>
注释:
再提交600元申请费后,申请人还需上传并提交如下文件。
</p>
<p
class=
"t2"
>
①
最高学历(学位)证书、②专科/本科中文或英文成绩单、③个人证件照(免冠、白底)
</p>
<p
class=
"t2"
>
该申请费不退,请慎重缴费!
</p>
</div>
<el-dialog
...
...
modules/my/application/preview.vue
浏览文件 @
c521506e
...
...
@@ -308,30 +308,27 @@ export default {
{
label
:
'荣誉奖励'
,
code
:
'title'
},
{
label
:
'证书颁发机构'
,
code
:
'institution_cn'
}
]
},
{
title
:
'推荐信'
,
code
:
'reco_letters'
,
edit
:
{
to
:
{
path
:
'/my/application'
,
query
:
{
active
:
'application_tjx'
}
}
},
isMultiple
:
true
,
items
:
[
{
label
:
'推荐人姓名'
,
code
:
'provider_name'
},
{
label
:
'推荐人电话'
,
code
:
'provider_phone_number'
},
{
label
:
'推荐人邮箱'
,
code
:
'provider_email'
},
{
label
:
'与推荐人关系'
,
code
:
'provider_relationship'
},
{
label
:
'推荐人工作单位'
,
code
:
'provider_company_name'
,
visible
:
()
=>
this
.
isManager
},
{
label
:
'推荐人职务'
,
code
:
'provider_job_title'
,
visible
:
()
=>
this
.
isManager
},
{
label
:
'推荐信内容'
,
code
:
'letter_content'
,
visible
:
()
=>
this
.
isManager
}
]
}
// {
// title: '推荐信',
// code: 'reco_letters',
// edit: { to: { path: '/my/application', query: { active: 'application_tjx' } } },
// isMultiple: true,
// items: [
// { label: '推荐人姓名', code: 'provider_name' },
// { label: '推荐人电话', code: 'provider_phone_number' },
// { label: '推荐人邮箱', code: 'provider_email' },
// { label: '与推荐人关系', code: 'provider_relationship' },
// { label: '推荐人工作单位', code: 'provider_company_name', visible: () => this.isManager },
// { label: '推荐人职务', code: 'provider_job_title', visible: () => this.isManager },
// { label: '推荐信内容', code: 'letter_content', visible: () => this.isManager }
// ]
// }
// {
// title: '无犯罪证明',
// code: 'attachments',
// edit: { to: { path: '/my/application', query: { active: 'application_wfzzm' } } },
// computed(data) {
// if (!data || !data.length) {
// return ''
// }
// const found = data.find(item => item.file_type_id === 'NO_CRIMINAL_CERT')
// return found
// ? `
<
a
href
=
"${found.oss_sign_url}"
target
=
"_blank"
><
img
src
=
"${found.oss_sign_url}"
style
=
"max-width:300px;margin:10px 0;"
><
/a>
`
...
...
modules/my/interview/form/byz
s
.js
→
modules/my/interview/form/byz.js
浏览文件 @
c521506e
export
default
{
id
:
'interview_byz
s
'
,
id
:
'interview_byz'
,
title
:
'毕业证书'
,
get
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/
${
process
.
env
.
projectId
}
`
,
...
...
@@ -23,7 +23,7 @@ export default {
}
},
form
:
{
next
:
{
to
:
{
query
:
{
active
:
'interview_
xwzs
'
}
}
},
next
:
{
to
:
{
query
:
{
active
:
'interview_
cjd
'
}
}
},
hasButton
:
false
,
options
:
{},
items
:
[
...
...
@@ -36,8 +36,7 @@ export default {
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'DIPLOMA_CN'
}
},
append
:
'申请者需要将本科或以上毕业证书原件扫描或者拍照后提交。<br> 可上传多个文件,请确保证书号码清晰可辨。<br> 上传文件仅限“jpg,jpeg,png”格式,文件小于10MB。'
append
:
'注意事项:需要将证书原件扫描或拍照后提交,请确保证书内容清晰可辨。'
}
]
}
...
...
modules/my/interview/form/cjd.js
浏览文件 @
c521506e
export
default
function
(
_this
)
{
return
{
id
:
'interview_cjd'
,
title
:
'成绩单(中+英)'
,
get
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/
${
process
.
env
.
projectId
}
`
,
callback
(
data
)
{
const
{
attachments
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
const
stageList
=
[
'FILLING'
,
'PREPAYMENT'
,
'INTERVIEW_APPLICATION'
,
'AUDITION'
,
'INTERVIEW'
,
'PAYMENT'
,
'REGISTRATION'
,
'CLOSED'
]
this
.
form
.
options
.
disabled
=
stageList
.
findIndex
(
item
=>
item
===
submissionStage
)
>
2
return
attachments
.
reduce
(
(
result
,
item
)
=>
{
if
(
item
.
file_type_id
===
'REPORT_CARD_CN'
)
{
result
.
REPORT_CARD_CN
.
push
(
item
)
}
if
(
item
.
file_type_id
===
'REPORT_CARD_EN'
)
{
result
.
REPORT_CARD_EN
.
push
(
item
)
}
return
result
},
{
REPORT_CARD_CN
:
[],
REPORT_CARD_EN
:
[]
}
)
}
},
update
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/submit/
${
process
.
env
.
projectId
}
`
,
beforeRequest
(
data
)
{
return
{
submission_stage
:
'INTERVIEW_APPLICATION'
}
},
callback
()
{
this
.
form
.
options
.
disabled
=
true
_this
.
dialogVisible
=
true
_this
.
getApplication
()
},
errorCallback
()
{
_this
.
completeVisible
=
true
}
},
form
:
{
prev
:
{
to
:
{
query
:
{
active
:
'interview_ywjl'
}
}
},
submitText
:
'申请面试'
,
model
:
{
submission_stage
:
'INTERVIEW_APPLICATION'
},
options
:
{
'label-position'
:
'top'
},
hint
:
`
<p>请将中英文成绩单原件扫描或者拍照后提交。</p>
<p>获取途径:联系大学时就读学校相关部门(档案馆/教务处)获取成绩单。</p>
`
,
items
:
[
{
type
:
'v-upload'
,
label
:
'中文成绩单'
,
model
:
'REPORT_CARD_CN'
,
attrs
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/put`
,
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'REPORT_CARD_CN'
}
export
default
{
id
:
'interview_cjd'
,
title
:
'成绩单(中/英)'
,
get
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/
${
process
.
env
.
projectId
}
`
,
callback
(
data
)
{
const
{
attachments
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
const
stageList
=
[
'FILLING'
,
'PREPAYMENT'
,
'INTERVIEW_APPLICATION'
,
'AUDITION'
,
'INTERVIEW'
,
'PAYMENT'
,
'REGISTRATION'
,
'CLOSED'
]
this
.
form
.
options
.
disabled
=
stageList
.
findIndex
(
item
=>
item
===
submissionStage
)
>
2
return
attachments
.
reduce
(
(
result
,
item
)
=>
{
if
(
item
.
file_type_id
===
'REPORT_CARD_CN'
)
{
result
.
REPORT_CARD_CN
.
push
(
item
)
}
},
{
type
:
'v-upload'
,
label
:
'英文成绩单'
,
model
:
'REPORT_CARD_EN'
,
attrs
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/put`
,
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'REPORT_CARD_EN'
}
if
(
item
.
file_type_id
===
'REPORT_CARD_EN'
)
{
result
.
REPORT_CARD_EN
.
push
(
item
)
}
}
]
return
result
},
{
REPORT_CARD_CN
:
[],
REPORT_CARD_EN
:
[]
}
)
}
},
form
:
{
prev
:
{
to
:
{
query
:
{
active
:
'interview_byz'
}
}
},
next
:
{
to
:
{
query
:
{
active
:
'interview_zp'
}
}
},
hasButton
:
false
,
options
:
{
'label-position'
:
'top'
},
hint
:
`
<p>成绩单:中/英文成绩单上传一个或多个。</p>
<p>注意事项:需要将证书原件扫描或拍照后提交,请确保证书内容清晰可辨。</p>
`
,
items
:
[
{
type
:
'v-upload'
,
label
:
'中/英文成绩单'
,
required
:
true
,
model
:
'REPORT_CARD_CN'
,
attrs
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/put`
,
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'REPORT_CARD_CN'
}
}
}
]
}
}
modules/my/interview/form/index.js
浏览文件 @
c521506e
import
byzs
from
'./byzs'
import
xwzs
from
'./xwzs'
import
ywjl
from
'./ywjl'
import
byz
from
'./byz'
import
cjd
from
'./cjd'
import
zp
from
'./zp'
export
default
function
(
_this
)
{
return
{
id
:
'interview'
,
title
:
'申请面试'
,
children
:
[
byz
s
,
xwzs
,
ywjl
,
zp
(
_this
)]
children
:
[
byz
,
cjd
,
zp
(
_this
)]
}
}
modules/my/interview/form/xwzs.js
deleted
100644 → 0
浏览文件 @
9f1588f8
export
default
{
id
:
'interview_xwzs'
,
title
:
'学位证书'
,
get
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/
${
process
.
env
.
projectId
}
`
,
callback
(
data
)
{
const
{
attachments
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
const
stageList
=
[
'FILLING'
,
'PREPAYMENT'
,
'INTERVIEW_APPLICATION'
,
'AUDITION'
,
'INTERVIEW'
,
'PAYMENT'
,
'REGISTRATION'
,
'CLOSED'
]
this
.
form
.
options
.
disabled
=
stageList
.
findIndex
(
item
=>
item
===
submissionStage
)
>
2
const
DEGREE_CERT_CN
=
attachments
.
filter
(
item
=>
{
return
item
.
file_type_id
===
'DEGREE_CERT_CN'
})
return
{
DEGREE_CERT_CN
}
}
},
form
:
{
prev
:
{
to
:
{
query
:
{
active
:
'interview_byzs'
}
}
},
next
:
{
to
:
{
query
:
{
active
:
'interview_ywjl'
}
}
},
hasButton
:
false
,
options
:
{},
items
:
[
{
type
:
'v-upload'
,
required
:
true
,
model
:
'DEGREE_CERT_CN'
,
attrs
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/put`
,
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'DEGREE_CERT_CN'
}
},
append
:
'申请者需要将学位证书原件扫描或者拍照后提交。<br>可上传多个文件,请确保证书号码清晰可辨。<br>上传文件仅限“jpg,jpeg,png”格式,文件小于10MB。'
}
]
}
}
modules/my/interview/form/xwzszm.js
deleted
100644 → 0
浏览文件 @
9f1588f8
export
default
{
id
:
'interview_xwzsywzm'
,
title
:
'学位证书英文证明'
,
get
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/
${
process
.
env
.
projectId
}
`
,
callback
(
data
)
{
const
{
attachments
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
const
stageList
=
[
'FILLING'
,
'PREPAYMENT'
,
'INTERVIEW_APPLICATION'
,
'AUDITION'
,
'INTERVIEW'
,
'PAYMENT'
,
'REGISTRATION'
,
'CLOSED'
]
this
.
form
.
options
.
disabled
=
stageList
.
findIndex
(
item
=>
item
===
submissionStage
)
>
2
const
DEGREE_CERT_EN
=
attachments
.
filter
(
item
=>
{
return
item
.
file_type_id
===
'DEGREE_CERT_EN'
})
return
{
DEGREE_CERT_EN
}
}
},
form
:
{
prev
:
{
to
:
{
query
:
{
active
:
'interview_xwzs'
}
}
},
next
:
{
to
:
{
query
:
{
active
:
'interview_ywjl'
}
}
},
hasButton
:
false
,
options
:
{},
items
:
[
{
type
:
'v-upload'
,
required
:
true
,
model
:
'DEGREE_CERT_EN'
,
attrs
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/put`
,
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'DEGREE_CERT_EN'
}
},
append
:
'请将学校出具的学位证书英文证明原件扫描或者拍照后提交。'
}
]
}
}
modules/my/interview/form/ywjl.js
deleted
100644 → 0
浏览文件 @
9f1588f8
export
default
{
id
:
'interview_ywjl'
,
title
:
'英文简历'
,
get
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/
${
process
.
env
.
projectId
}
`
,
callback
(
data
)
{
const
{
attachments
=
[],
submission_stage
:
submissionStage
=
'FILLING'
}
=
data
.
data
.
material
const
stageList
=
[
'FILLING'
,
'PREPAYMENT'
,
'INTERVIEW_APPLICATION'
,
'AUDITION'
,
'INTERVIEW'
,
'PAYMENT'
,
'REGISTRATION'
,
'CLOSED'
]
this
.
form
.
options
.
disabled
=
stageList
.
findIndex
(
item
=>
item
===
submissionStage
)
>
2
const
RESUME_EN
=
attachments
.
filter
(
item
=>
{
return
item
.
file_type_id
===
'RESUME_EN'
})
return
{
RESUME_EN
}
}
},
form
:
{
prev
:
{
to
:
{
query
:
{
active
:
'interview_xwzs'
}
}
},
next
:
{
to
:
{
query
:
{
active
:
'interview_zp'
}
}
},
hasButton
:
false
,
options
:
{},
items
:
[
{
type
:
'v-upload'
,
required
:
true
,
model
:
'RESUME_EN'
,
attrs
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/put`
,
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'RESUME_EN'
}
},
append
:
`
<p>请下载填写英文简历模板后上传 [<a href="https://zws-imgs-pub.oss-cn-beijing.aliyuncs.com/pc/kelley/%E8%8B%B1%E6%96%87%E7%AE%80%E5%8E%86.docx" target="_blank" download="英文简历模板">下载模板</a>]</p>
<p>请将英文简历填写完存为"pdf"格式上传,文件小于10MB。</p>`
}
]
}
}
modules/my/interview/form/zp.js
浏览文件 @
c521506e
...
...
@@ -38,7 +38,7 @@ export default function(_this) {
}
},
form
:
{
prev
:
{
to
:
{
query
:
{
active
:
'interview_
ywjl
'
}
}
},
prev
:
{
to
:
{
query
:
{
active
:
'interview_
cjd
'
}
}
},
submitText
:
'申请面试'
,
model
:
{
submission_stage
:
'INTERVIEW_APPLICATION'
},
options
:
{},
...
...
@@ -49,11 +49,10 @@ export default function(_this) {
attrs
:
{
action
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/put`
,
deleteAction
:
`
${
process
.
env
.
baseURL
}
/api/enrollment/v1.0/application-materials/attachments/
${
process
.
env
.
projectId
}
/delete`
,
data
:
{
file_type
:
'PERSONAL_PHOTO_FOR_ID'
},
limit
:
1
data
:
{
file_type
:
'PERSONAL_PHOTO_FOR_ID'
}
},
append
:
'申请者需要上传本人半年以内的两寸彩色近照。<br> 只需上传一个文件,且照片完整、干净。<br> 上传文件仅限“jpg,jpeg,gif,png”格式的图片文件,且文件小于10MB
。'
prepend
:
'2寸照片:以电子版的形式上传文件'
,
append
:
'注意事项:需要将证书原件扫描或拍照后提交,请确保证书内容清晰可辨
。'
}
]
}
...
...
modules/my/interview/index.vue
浏览文件 @
c521506e
...
...
@@ -16,13 +16,14 @@
</vue-form>
<app-complete
:type=
"1"
v-model=
"completeVisible"
></app-complete>
<el-dialog
title=
"
您的申请资料已
提交成功"
title=
"
资料
提交成功"
:visible
.
sync=
"dialogVisible"
:center=
"true"
:close-on-click-modal=
"false"
width=
"348px"
>
<div
class=
"dialog-tips"
>
<p>
请注意接听招办老师的邀约电话
</p>
<div
class=
"icon"
><img
src=
"https://webapp-pub.ezijing.com/project/application/images/icon_success.png"
/></div>
</div>
<
template
#
footer
>
...
...
@@ -44,7 +45,7 @@ export default {
const
menus
=
getMenu
(
this
)
return
{
menus
:
[
menus
],
currentActive
:
'interview_byz
s
'
,
currentActive
:
'interview_byz'
,
completeVisible
:
false
,
dialogVisible
:
false
,
detail
:
null
...
...
@@ -55,7 +56,7 @@ export default {
immediate
:
true
,
handler
(
route
)
{
const
{
query
=
{}
}
=
route
this
.
currentActive
=
query
.
active
||
'interview_byz
s
'
this
.
currentActive
=
query
.
active
||
'interview_byz'
}
},
showSubmitedDialog
(
value
)
{
...
...
@@ -97,7 +98,7 @@ export default {
},
handlePageChange
(
value
)
{
this
.
currentActive
=
value
this
.
$router
.
push
({
path
:
this
.
$route
.
path
,
query
:
{
active
:
value
}
})
.
catch
(()
=>
{})
this
.
$router
.
push
({
path
:
this
.
$route
.
path
,
query
:
{
active
:
value
}
})
console
.
log
(
'页面切换了'
,
value
)
},
handleSuccess
(
data
)
{
...
...
modules/my/welcome/components/h5Pay.vue
deleted
100644 → 0
浏览文件 @
9f1588f8
<
template
>
<div
class=
"h5pay"
>
<el-button
type=
"primary"
@
click=
"handlePay"
>
去支付
</el-button>
</div>
</
template
>
<
script
>
import
*
as
api
from
'@/api/my'
export
default
{
data
()
{
return
{
openId
:
window
.
localStorage
.
getItem
(
'open_id'
)
}
},
computed
:
{
pageUrl
()
{
return
window
.
location
.
origin
+
this
.
$route
.
path
}
},
methods
:
{
// 获取订单
getOrder
(
callback
)
{
api
.
getOrder
({
wx_open_id
:
this
.
openId
,
payment_method
:
'WX_PAY'
}).
then
(
response
=>
{
const
{
data
,
error
,
message
}
=
response
if
(
error
.
toString
()
===
'0'
)
{
this
.
order
=
data
this
.
$emit
(
'update'
,
this
.
order
)
callback
&&
callback
(
this
.
order
)
}
else
{
this
.
$message
.
error
(
message
)
}
})
},
// 获取微信code
getCode
()
{
const
redirectURI
=
`https://pages.ezijing.com/given/auth.html?redirect_uri=
${
encodeURIComponent
(
this
.
pageUrl
)}
`
window
.
location
.
href
=
`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx451c01d40d090d7a&redirect_uri=
${
redirectURI
}
&response_type=code&scope=snsapi_base#wechat_redirect`
},
// 获取微信openid
getOpenId
(
code
)
{
api
.
getOpenId
({
code
,
identity
:
'ezijing'
}).
then
(
response
=>
{
if
(
response
.
code
===
0
)
{
this
.
openId
=
response
.
openid
window
.
localStorage
.
setItem
(
'open_id'
,
this
.
openId
)
this
.
getOrder
()
}
else
{
this
.
getCode
()
}
})
},
// 去支付
handlePay
()
{
this
.
getOrder
(()
=>
{
window
.
location
.
href
=
`https://web-pay.ezijing.com/wxpay/h5?prepay_id=
${
this
.
order
.
wx_prepay_id
}
&open_id=
${
this
.
openId
}
&redirect_uri=
${
encodeURIComponent
(
this
.
pageUrl
)}
`
})
}
},
beforeMount
()
{
if
(
!
this
.
openId
)
{
const
{
code
}
=
this
.
$route
.
query
code
?
this
.
getOpenId
(
code
)
:
this
.
getCode
()
}
}
}
</
script
>
<
style
scoped
>
.h5pay
{
padding
:
40px
;
text-align
:
center
;
}
</
style
>
modules/my/welcome/components/qrcodePay.vue
deleted
100644 → 0
浏览文件 @
9f1588f8
<
template
>
<div
class=
"qrpay"
>
<div
class=
"qrpay-hd"
>
<div
class=
"pic"
>
<img
src=
"https://webapp-pub.ezijing.com/project/application/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=
"getOrder"
title=
"刷新"
></i>
</div>
<div
class=
"qrcode"
v-else
>
<qrcode-vue
:value=
"qrcodeValue"
size=
"100"
></qrcode-vue>
<span
@
click=
"getOrder"
>
刷新
</span>
</div>
</div>
</
template
>
<
script
>
import
QrcodeVue
from
'qrcode.vue'
import
*
as
api
from
'@/api/my'
export
default
{
components
:
{
QrcodeVue
},
data
()
{
return
{
order
:
{
id
:
''
,
payment_url
:
''
},
qrcodeError
:
false
}
},
computed
:
{
// 二维码地址
qrcodeValue
()
{
return
this
.
order
.
payment_url
}
},
methods
:
{
// 获取订单
getOrder
()
{
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
this
.
$emit
(
'update'
,
this
.
order
)
}
else
{
this
.
$message
.
error
(
message
)
}
})
}
},
beforeMount
()
{
this
.
getOrder
()
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.qrpay-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
;
}
}
</
style
>
modules/my/welcome/index.vue
deleted
100644 → 0
浏览文件 @
9f1588f8
<
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'
)
}
else
{
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'
},
created
()
{
this
.
$router
.
replace
(
'/my/account'
)
},
beforeMount
()
{
// this.getApplication()
},
destroyed
()
{
document
.
body
.
style
=
''
}
}
</
script
>
modules/my/welcome/indexPay.vue
deleted
100644 → 0
浏览文件 @
9f1588f8
<
template
>
<div
class=
"pay"
>
<h5-pay
@
update=
"handleUpdateOrder"
v-if=
"isWechat"
></h5-pay>
<qrcode-pay
@
update=
"handleUpdateOrder"
v-else
></qrcode-pay>
<div
class=
"pay-ft"
>
<p
class=
"t2"
>
欢迎您申请紫荆-印第安纳大学Kelley商学院金融硕士(MSF)
<br
/>
申请流程:①支付报名费②填写报名资料并提供相关材料(身份证扫描件、毕业证书扫描件、学位证书扫描件、英文简历、2寸照片)③参加面试④获得录取⑤缴纳学费并签署入学协议⑥入学学习(办理入学手续:提供成绩单、学籍注册等)
<br
/>
申请费提交后不予退还
</p>
</div>
<el-dialog
title=
"报名费缴费成功"
:visible
.
sync=
"dialogVisible"
:center=
"true"
:show-close=
"false"
:close-on-click-modal=
"false"
width=
"348px"
>
<div
class=
"dialog-pay"
>
<p>
请按照要求填写报名所需材料,完成“提交报名申请”及“申请面试”
</p>
<div
class=
"icon"
><img
src=
"https://webapp-pub.ezijing.com/project/application/images/icon_success.png"
/></div>
</div>
<template
#
footer
>
<el-button
type=
"primary"
@
click=
"toApplication"
>
立即预约
</el-button>
</
template
>
</el-dialog>
</div>
</template>
<
script
>
import
*
as
api
from
'@/api/my'
import
qrcodePay
from
'./components/qrcodePay'
import
h5Pay
from
'./components/h5Pay'
export
default
{
name
:
'AppPay'
,
components
:
{
qrcodePay
,
h5Pay
},
data
()
{
const
UA
=
window
.
navigator
.
userAgent
const
isMobile
=
/android|iphone|ipad|ipod/i
.
test
(
UA
)
return
{
isWechat
:
isMobile
&&
/micromessenger/i
.
test
(
UA
),
order
:
{
id
:
''
,
payment_url
:
''
},
dialogVisible
:
false
,
timer
:
null
,
paymentRecords
:
[]
// 所有订单
}
},
computed
:
{
user
()
{
return
this
.
$store
.
state
.
user
},
// 二维码地址
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
}
})
},
// 检查支付状态
checkPay
(
order
)
{
const
userId
=
this
.
user
.
id
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
(()
=>
{
if
(
this
.
paySuccess
)
{
this
.
timer
&&
clearInterval
(
this
.
timer
)
return
}
this
.
orderList
.
forEach
(
order
=>
this
.
checkPay
(
order
))
},
3000
)
},
// 填写个人资料
toApplication
()
{
this
.
$router
.
push
(
'/my/account'
)
},
handleUpdateOrder
(
order
)
{
this
.
order
=
order
}
},
async
mounted
()
{
await
this
.
getApplication
()
this
.
setCheckPayTimer
()
},
destroyed
()
{
this
.
timer
&&
clearInterval
(
this
.
timer
)
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.pay
{
max-width
:
562px
;
margin
:
0
auto
;
padding
:
40px
0
;
}
.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
>
modules/my/welcome/indexWelcome.vue
deleted
100644 → 0
浏览文件 @
9f1588f8
<
template
>
<div
class=
"welcome"
>
<div
class=
"top"
>
<div
class=
"pic"
>
<img
src=
"https://webapp-pub.ezijing.com/project/application/images/my_pay_01.png"
/>
</div>
<h1>
欢迎您
</h1>
<p
class=
"t1"
>
申请紫荆-美国印第安纳大学Kelley商学院金融学硕士项目,请在填写以下内容并
<br
/>
提交报名申请后,扫码支付本项目的申请费共计
<span>
700
</span>
元。
</p>
</div>
<div
class=
"form"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
label-width=
"70px"
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"
:maxlength=
"11"
></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
,
pattern
:
/^1
[
3-9
]\d{9}
$/
,
message
:
'请输入手机号'
,
trigger
:
'blur'
}],
email
:
[{
type
:
'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
{
margin
:
0
auto
;
padding
:
20px
0
;
}
.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
;
}
.form
{
max-width
:
350px
;
margin
:
0
auto
;
}
</
style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论