提交 31f58e57 authored 作者: haodaking's avatar haodaking

优化报名申请流程

上级 1ede7ad0
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<template v-if="!searchVisible"> <template v-if="!searchVisible">
<div class="logo-box"> <div class="logo-box">
<nuxt-link to="/" class="logo"> <nuxt-link to="/" class="logo">
<img src="http://zws-imgs-pub.ezijing.com/static/ezijing/logo/ezijing-logo.svg" /> <img src="https://zws-imgs-pub.ezijing.com/static/ezijing/logo/ezijing-logo.svg" />
<img src="https://webapp-pub.ezijing.com/project/marywood/marywood_logo.svg" /> <img src="https://webapp-pub.ezijing.com/project/marywood/marywood_logo.svg" />
</nuxt-link> </nuxt-link>
</div> </div>
......
...@@ -32,10 +32,11 @@ export default function(_this) { ...@@ -32,10 +32,11 @@ export default function(_this) {
} }
}, },
form: { form: {
next: { to: { query: { active: 'admission_tjx' } } }, next: { to: { query: { active: 'admission_yynl' } } },
hasButton: false, hasButton: false,
options: { 'label-position': 'top' }, options: { 'label-position': 'top' },
hint: ` hint: `
<p>已毕业学生需提交完整成绩单,未毕业学生提交现有成绩单,成绩单需要加盖学校公章</p>
<p>请将中英文成绩单原件扫描或者拍照后提交。</p> <p>请将中英文成绩单原件扫描或者拍照后提交。</p>
<p>获取途径:联系大学时就读学校相关部门(档案馆/教务处)获取成绩单。</p> <p>获取途径:联系大学时就读学校相关部门(档案馆/教务处)获取成绩单。</p>
`, `,
......
...@@ -4,11 +4,12 @@ import cjd from './cjd' ...@@ -4,11 +4,12 @@ import cjd from './cjd'
import xy from './xy' import xy from './xy'
import xfjn from './xfjn' import xfjn from './xfjn'
import tjx from './tjx' import tjx from './tjx'
import yynl from './yynl'
export default function(_this) { export default function(_this) {
return { return {
id: 'admission', id: 'admission',
title: '入学办理', title: '入学办理',
children: [cjd(_this), tjx(_this), xy(_this), xfjn(_this)] children: [cjd(_this), yynl(_this), tjx(_this), xy(_this), xfjn(_this)]
} }
} }
...@@ -44,7 +44,7 @@ export default function(_this) { ...@@ -44,7 +44,7 @@ export default function(_this) {
}, },
form: { form: {
minlength: 2, minlength: 2,
prev: { to: { query: { active: 'admission_cjd' } }, isSubmit: true }, prev: { to: { query: { active: 'admission_yynl' } }, isSubmit: true },
next: { to: { query: { active: 'admission_xy' } }, isSubmit: true }, next: { to: { query: { active: 'admission_xy' } }, isSubmit: true },
hasAdd: true, hasAdd: true,
options: { disabled: false, labelWidth: '140px' }, options: { disabled: false, labelWidth: '140px' },
......
export default function(_this) {
return {
id: 'admission_yynl',
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 === 'DOMESTIC_LANGUAGE_SCORE') {
result.DOMESTIC_LANGUAGE_SCORE.push(item)
}
if (item.file_type_id === 'INTERNATIONAL_LANGUAGE_SCORE') {
result.INTERNATIONAL_LANGUAGE_SCORE.push(item)
}
return result
},
{ DOMESTIC_LANGUAGE_SCORE: [], INTERNATIONAL_LANGUAGE_SCORE: [] }
)
}
},
form: {
prev: { to: { query: { active: 'admission_cjd' } } },
next: { to: { query: { active: 'admission_tjx' } } },
hasButton: false,
options: { 'label-position': 'top' },
items: [
{
type: 'v-upload',
label: '国内语言成绩',
model: 'DOMESTIC_LANGUAGE_SCORE',
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: 'DOMESTIC_LANGUAGE_SCORE' }
},
append: `<p>有大学英语四级或六级成绩,请上传凭证</p>`
},
{
type: 'v-upload',
label: '国际语言成绩',
model: 'INTERNATIONAL_LANGUAGE_SCORE',
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: 'INTERNATIONAL_LANGUAGE_SCORE' }
},
append: `<p>有托福,雅思,GMAT,GRE或其他考试成绩,请上传凭证</p>`
}
]
}
}
}
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
</div> </div>
<h1>欢迎您</h1> <h1>欢迎您</h1>
<p class="t1"> <p class="t1">
申请紫荆-玛丽伍德大学工商管理硕士(MBA)项目,本项目的申请费为<span>700</span>元,请扫描二维码以完成报名。 申请紫荆-玛丽伍德大学工商管理硕士(MBA1+1)项目,本项目的申请费为<span>700</span>元,请扫描二维码以完成报名。
</p> </p>
</div> </div>
<div class="qrcode-error" v-if="qrcodeError"> <div class="qrcode-error" v-if="qrcodeError">
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</div> </div>
<div class="qrcode" v-else> <div class="qrcode" v-else>
<qrcode-vue :value="qrcodeValue" size="100"></qrcode-vue> <qrcode-vue :value="qrcodeValue" size="100"></qrcode-vue>
<span @click="getOrder">刷新</span> <span @click="getOrder"><i class="el-icon-refresh" style="font-size:20px" title="刷新"></i></span>
</div> </div>
</div> </div>
</template> </template>
......
...@@ -19,7 +19,7 @@ export default function(_this) { ...@@ -19,7 +19,7 @@ export default function(_this) {
const [first = {}, second = {}] = answers const [first = {}, second = {}] = answers
return { return {
qid1: first.qid || '1', qid1: first.qid || '1',
question1: '您为什么要申请紫荆-玛丽伍德大学工商管理硕士(MBA)项目?', question1: '您为什么要申请紫荆-玛丽伍德大学工商管理硕士(MBA1+1)项目?',
answer1: first.answer, answer1: first.answer,
qid2: second.qid || '2', qid2: second.qid || '2',
question2: '您的短期和长期职业发展目标是什么?您打算如何达成此愿景?', question2: '您的短期和长期职业发展目标是什么?您打算如何达成此愿景?',
...@@ -45,7 +45,7 @@ export default function(_this) { ...@@ -45,7 +45,7 @@ export default function(_this) {
items: [ items: [
{ {
type: 'v-input', type: 'v-input',
label: '您为什么要申请紫荆-玛丽伍德大学工商管理硕士(MBA)项目?(60字以上,1000字以内)', label: '您为什么要申请紫荆-玛丽伍德大学工商管理硕士(MBA1+1)项目?(60字以上,1000字以内)',
model: 'answer1', model: 'answer1',
attrs: { type: 'textarea', rows: '8', maxlength: '1000', style: 'width:100%' }, attrs: { type: 'textarea', rows: '8', maxlength: '1000', style: 'width:100%' },
rules: [ rules: [
......
...@@ -6,7 +6,7 @@ export default function(_this) { ...@@ -6,7 +6,7 @@ export default function(_this) {
return { return {
id: 'application_info_career', id: 'application_info_career',
title: '工作经验', title: '工作经验',
required: true, // required: true,
visible() { visible() {
return _this.visible return _this.visible
}, },
...@@ -43,6 +43,7 @@ export default function(_this) { ...@@ -43,6 +43,7 @@ export default function(_this) {
next: { to: { query: { active: 'application_info', tab: 'application_info_answer' } }, isSubmit: true }, next: { to: { query: { active: 'application_info', tab: 'application_info_answer' } }, isSubmit: true },
hasAdd: true, hasAdd: true,
options: { labelWidth: '140px' }, options: { labelWidth: '140px' },
hint: '<p style="color:#606266;padding-left:70px">无工作经验学生可不填写</p>',
items: [ items: [
{ {
type: 'v-datepicker', type: 'v-datepicker',
...@@ -52,8 +53,8 @@ export default function(_this) { ...@@ -52,8 +53,8 @@ export default function(_this) {
type: 'month', type: 'month',
placeholder: '请选择工作开始时间', placeholder: '请选择工作开始时间',
valueFormat: 'yyyy-MM' valueFormat: 'yyyy-MM'
}, }
rules: [{ required: true, message: '请选择工作开始时间', trigger: 'blur' }] // rules: [{ required: true, message: '请选择工作开始时间', trigger: 'blur' }]
}, },
{ {
type: 'v-datepicker', type: 'v-datepicker',
...@@ -63,15 +64,15 @@ export default function(_this) { ...@@ -63,15 +64,15 @@ export default function(_this) {
type: 'month', type: 'month',
placeholder: '请选择工作结束时间', placeholder: '请选择工作结束时间',
valueFormat: 'yyyy-MM' valueFormat: 'yyyy-MM'
}, }
rules: [{ required: true, message: '请选择工作结束时间', trigger: 'blur' }] // rules: [{ required: true, message: '请选择工作结束时间', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '工作单位', label: '工作单位',
model: 'company_name_cn', model: 'company_name_cn',
attrs: { placeholder: '请输入工作单位' }, attrs: { placeholder: '请输入工作单位' }
rules: [{ required: true, message: '请输入工作单位', trigger: 'blur' }] // rules: [{ required: true, message: '请输入工作单位', trigger: 'blur' }]
}, },
{ {
type: 'v-select', type: 'v-select',
...@@ -124,22 +125,22 @@ export default function(_this) { ...@@ -124,22 +125,22 @@ export default function(_this) {
{ value: '其他' } { value: '其他' }
], ],
label: '行业类别', label: '行业类别',
model: 'industry', model: 'industry'
rules: [{ required: true, message: '请选择行业类别', trigger: 'change' }] // rules: [{ required: true, message: '请选择行业类别', trigger: 'change' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '工作部门', label: '工作部门',
model: 'dept_cn', model: 'dept_cn',
attrs: { placeholder: '请输入工作部门' }, attrs: { placeholder: '请输入工作部门' }
rules: [{ required: true, message: '请输入工作部门', trigger: 'blur' }] // rules: [{ required: true, message: '请输入工作部门', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '工作职位', label: '工作职位',
model: 'position_cn', model: 'position_cn',
attrs: { placeholder: '请输入工作职位' }, attrs: { placeholder: '请输入工作职位' }
rules: [{ required: true, message: '请输入工作职位', trigger: 'blur' }] // rules: [{ required: true, message: '请输入工作职位', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
...@@ -150,8 +151,8 @@ export default function(_this) { ...@@ -150,8 +151,8 @@ export default function(_this) {
placeholder: '请输入工作描述', placeholder: '请输入工作描述',
rows: '8', rows: '8',
maxlength: '3000' maxlength: '3000'
}, }
rules: [{ required: true, message: '请输入工作描述', trigger: 'blur' }] // rules: [{ required: true, message: '请输入工作描述', trigger: 'blur' }]
} }
] ]
} }
......
...@@ -56,7 +56,8 @@ export default function(_this) { ...@@ -56,7 +56,8 @@ export default function(_this) {
placeholder: '请选择教育结束时间', placeholder: '请选择教育结束时间',
valueFormat: 'yyyy-MM' valueFormat: 'yyyy-MM'
}, },
rules: [{ required: true, message: '请选择教育结束时间', trigger: 'blur' }] rules: [{ required: true, message: '请选择教育结束时间', trigger: 'blur' }],
append: '<p style="color:#606266">在读学生填写预计毕业时间</p>'
}, },
{ {
type: 'v-input', type: 'v-input',
......
...@@ -3,7 +3,10 @@ ...@@ -3,7 +3,10 @@
<h5-pay @update="handleUpdateOrder" v-if="isWechat"></h5-pay> <h5-pay @update="handleUpdateOrder" v-if="isWechat"></h5-pay>
<qrcode-pay @update="handleUpdateOrder" v-else></qrcode-pay> <qrcode-pay @update="handleUpdateOrder" v-else></qrcode-pay>
<div class="pay-ft"> <div class="pay-ft">
<p class="t2">注释:成功提交700元申请费后,申请人还需上传并提交最高学历(学位)证书 (注:申请费不退还)</p> <p class="t2">
注释:<br />此处为微信二维码<br />成功提交700元申请费后,申请人还需上传并提交最高学历(学位)证书
(注:申请费不退还)
</p>
</div> </div>
<el-dialog <el-dialog
title="报名费缴费成功" title="报名费缴费成功"
......
...@@ -17,33 +17,27 @@ export default function(_this) { ...@@ -17,33 +17,27 @@ export default function(_this) {
'CLOSED' 'CLOSED'
] ]
this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 2 this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 2
const DIPLOMA_CN = attachments.filter(item => { return attachments.reduce(
return item.file_type_id === 'DIPLOMA_CN' (result, item) => {
}) if (item.file_type_id === 'DIPLOMA_CN') {
return { DIPLOMA_CN } result.DIPLOMA_CN.push(item)
} }
}, if (item.file_type_id === 'PROOF_READING') {
update: { result.PROOF_READING.push(item)
action: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/submit/${process.env.projectId}`, }
beforeRequest(data) { return result
return { submission_stage: 'INTERVIEW_APPLICATION' } },
}, { DIPLOMA_CN: [], PROOF_READING: [] }
callback() { )
this.form.options.disabled = true
_this.dialogVisible = true
_this.getApplication()
},
errorCallback() {
_this.completeVisible = true
} }
}, },
form: { form: {
// next: { to: { query: { active: 'interview_zp' } } }, next: { to: { query: { active: 'interview_ywjl' } } },
submitText: '申请面试', hasButton: false,
model: { submission_stage: 'INTERVIEW_APPLICATION' }, options: { 'label-position': 'top' },
options: {},
items: [ items: [
{ {
label: '毕业证书',
type: 'v-upload', type: 'v-upload',
required: true, required: true,
model: 'DIPLOMA_CN', model: 'DIPLOMA_CN',
...@@ -54,6 +48,18 @@ export default function(_this) { ...@@ -54,6 +48,18 @@ export default function(_this) {
}, },
append: append:
'申请者需要将本科或以上毕业证书原件扫描或者拍照后提交。<br> 可上传多个文件,请确保证书号码清晰可辨。<br> 上传文件仅限“jpg,jpeg,png”格式,文件小于10MB。' '申请者需要将本科或以上毕业证书原件扫描或者拍照后提交。<br> 可上传多个文件,请确保证书号码清晰可辨。<br> 上传文件仅限“jpg,jpeg,png”格式,文件小于10MB。'
},
{
label: '在读证明',
type: 'v-upload',
model: 'PROOF_READING',
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: 'PROOF_READING' }
},
append:
'未毕业学员提交加盖公章的在读证明<br/>申请者需要将本科或以上在读证明原件扫描或拍照后提交。<br> 可上传多个文件,请确保公章清晰可辨。<br> 上传文件仅限“jpg,jpeg,png”格式,文件小于10MB。'
} }
] ]
} }
......
import byzs from './byzs' import byzs from './byzs'
// import xwzs from './xwzs' // import xwzs from './xwzs'
// import ywjl from './ywjl' import ywjl from './ywjl'
// import zp from './zp' // import zp from './zp'
export default function(_this) { export default function(_this) {
return { return {
id: 'interview', id: 'interview',
title: '申请面试', title: '申请面试',
children: [byzs(_this)] children: [byzs(_this), ywjl(_this)]
} }
} }
export default { export default function(_this) {
id: 'interview_ywjl', return {
title: '英文简历', id: 'interview_ywjl',
get: { title: '英文简历',
action: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/${process.env.projectId}`, get: {
callback(data) { action: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/${process.env.projectId}`,
const { attachments = [], submission_stage: submissionStage = 'FILLING' } = data.data.material callback(data) {
const stageList = [ const { attachments = [], submission_stage: submissionStage = 'FILLING' } = data.data.material
'FILLING', const stageList = [
'PREPAYMENT', 'FILLING',
'INTERVIEW_APPLICATION', 'PREPAYMENT',
'AUDITION', 'INTERVIEW_APPLICATION',
'INTERVIEW', 'AUDITION',
'PAYMENT', 'INTERVIEW',
'REGISTRATION', 'PAYMENT',
'CLOSED' '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 }
}
},
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_byzs' } } },
submitText: '申请面试',
model: { submission_stage: 'INTERVIEW_APPLICATION' },
options: {},
items: [
{
type: 'v-upload',
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://webapp-pub.ezijing.com/project/marywood-plus/%E8%8B%B1%E6%96%87%E7%AE%80%E5%8E%86%E6%A8%A1%E6%9D%BF.docx" target="_blank" download="英文简历模板">下载模板</a>]</p>
<p>请将英文简历填写完存为"pdf"格式上传,文件小于10MB。</p>`
}
] ]
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.ezijing.com/static/public/2e8e4f6898f59e03636139a402ef16c1.docx" target="_blank" download="英文简历模板">下载模板</a>]</p>
<p>请将英文简历填写完存为"pdf"格式上传,文件小于10MB。</p>`
}
]
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论