提交 71c377ca authored 作者: 王鹏飞's avatar 王鹏飞

修改报名表单配置

上级 f4c60e36
......@@ -26,7 +26,6 @@ Vue.prototype.$md5 = md5
/* 导航守卫 */
router.beforeEach(async (to, from, next) => {
// next()
/* 设置 全局变量 */
BeforeRouter.globalVariable.init(Vue, { to, from, next })
if (to.meta.requiredLogin) {
......
......@@ -112,9 +112,11 @@ export default {
},
mounted() {
this.getClientWidth()
document.body.style = 'background-color:#eee;'
window.addEventListener('resize', this.getClientWidth)
},
destroyed() {
document.body.style = ''
window.removeEventListener('resize', this.getClientWidth)
}
}
......
......@@ -5,6 +5,6 @@ export default function(_this) {
return {
id: 'admission',
title: '入学办理',
children: [xy(_this), xfjn]
children: [xy(_this), xfjn(_this)]
}
}
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>
`
export default function(_this) {
return {
id: 'admission_xfjn',
title: '缴费凭证',
get: {
action: `/api/enrollment/v1.0/application-materials/${webConf.others.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: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/put`,
deleteAction: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/delete`,
data: { file_type: 'PAYMENT_VOUCHER' }
},
append: `申请者可将转账/支付缴费凭证截图或拍照后提交。<br>
上传多个文件,请打印出来检查无误后再上传。用A4纸打印后内容需显示完整、格式整齐、字迹清晰可辨。上传文件仅限“jpg,jpeg,pdf,png”格式,文件小于10Mb。`
}
]
}
}
}
......@@ -37,14 +37,10 @@ export default function(_this) {
deleteAction: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/delete`,
data: { file_type: 'ADMISSION_AGREEMENT' }
},
// prepend: `
// <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%AE%EF%BC%88%E8%AF%B7%E4%B8%8B%E8%BD%BD%E6%A8%A1%E6%9D%BF%E5%A1%AB%E5%86%99%E5%90%8E%E4%B8%8A%E4%BC%A0%E7%85%A7%E7%89%87%EF%BC%89.docx" target="_blank" download>下载入学协议</a></p>
// <p>第二步:申请者可将签字后的入学协议原件扫描或拍照后提交。学员应仔细阅读《入学协议》以及课程介绍,如对入学协议或课程有异议,请第一时间与课程顾问咨询确认。请用A4纸打印后,在入学协议上签上姓名和日期,内容需显示完整、格式整齐、字迹清晰可辨。点击下方按钮,上传文件</p>
// `
prepend: `
<p>第一步:请以录取通知书的协议为准</p>
<p>第二步:申请者可将签字后的入学协议原件扫描或拍照后提交。学员应仔细阅读《入学协议》以及课程介绍,如对入学协议或课程有异议,请第一时间与课程顾问咨询确认。请用A4纸打印后,在入学协议上签上姓名和日期,内容需显示完整、格式整齐、字迹清晰可辨。点击下方按钮,上传文件</p>
<p><a href="https://zws-imgs-pub.ezijing.com/static/public/41b2a4ae91c6826dc5f9daa3ebf345eb.docx" target="_blank" download="入学协议">下载入学协议</p>
<p>申请者可将签字后的入学协议原件扫描或拍照后提交。</p>
<p>学员应仔细阅读《入学协议》以及课程介绍,如对入学协议或课程有异议,请第一时间与课程顾问咨询确认。请用A4纸打印后,在入学协议上签上姓名和日期,内容需显示完整、格式整齐、字迹清晰可辨。上传文件仅限“jpg,jpeg,pdf,png”格式,文件小于10Mb。</p>
`
}
]
......
......@@ -56,21 +56,36 @@ export default {
// }
],
[
{
title: '2寸照片',
code: 'interviewZp',
view: { to: { path: '/my/interview', query: { active: 'interview_zp' } } }
},
{
title: '毕业证书',
code: 'interviewByzs',
view: { to: { path: '/my/interview', query: { active: 'interview_byz' } } }
},
{
title: '学位证书',
code: 'interviewXwzs',
view: { to: { path: '/my/interview', query: { active: 'interview_byz' } } }
view: { to: { path: '/my/interview', query: { active: 'interview_xwzs' } } }
},
{
title: '学位证书英文证明',
code: 'interviewXwzsEnglish',
view: { to: { path: '/my/interview', query: { active: 'interview_xwzsywzm' } } }
},
{
title: '英文简历',
code: 'interviewYwjl',
view: { to: { path: '/my/interview', query: { active: 'interview_ywjl' } } }
},
{
title: '成绩单',
code: 'interviewCjd',
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',
......@@ -126,15 +141,24 @@ 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
......@@ -145,9 +169,12 @@ export default {
applicaitonInfo,
applicationTjx,
applicationWfzzm,
interviewZp,
interviewByzs,
interviewXwzs,
interviewXwzsEnglish,
interviewYwjl,
interviewCjd,
interviewZp,
interviewTjx
}
} else {
......
......@@ -22,7 +22,7 @@ export default function(_this) {
question1: '您为什么申请中国产业金融菁英计划项目? (200字以上,1000字以内)',
answer1: first.answer,
qid2: second.qid || '2',
question2: '您的短期和长期职业发展目标是什么?您打 算如何达成此愿景?(200字以上,1000字 以内)',
question2: '您的短期和长期职业发展目标是什么?您打 算如何达成此愿景?(200字以上,1000字以内)',
answer2: second.answer
}
}
......@@ -50,17 +50,17 @@ export default function(_this) {
attrs: { type: 'textarea', rows: '8', maxlength: '1000', style: 'width:100%' },
rules: [
{ required: true, message: '请输入', trigger: 'blur' },
{ min: 60, max: 1000, message: '长度在 60 到 1000 个字符', trigger: 'blur' }
{ min: 200, max: 1000, message: '长度在 200 到 1000 个字符', trigger: 'blur' }
]
},
{
type: 'v-input',
label: '您的短期和长期职业发展目标是什么?您打 算如何达成此愿景?(200字以上,1000字 以内)',
label: '您的短期和长期职业发展目标是什么?您打 算如何达成此愿景?(200字以上,1000字以内)',
model: 'answer2',
attrs: { type: 'textarea', rows: '8', maxlength: '1000', style: 'width:100%' },
rules: [
{ required: true, message: '请输入', trigger: 'blur' },
{ min: 60, max: 1000, message: '长度在 60 到 1000 个字符', trigger: 'blur' }
{ min: 200, max: 1000, message: '长度在 200 到 1000 个字符', trigger: 'blur' }
]
}
]
......
......@@ -290,21 +290,21 @@ export default {
{ 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>`
: ''
}
}
// {
// 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>`
// : ''
// }
// }
]
}
},
......@@ -333,6 +333,12 @@ export default {
},
beforeMount() {
this.getApplication()
},
mounted() {
document.body.style = 'background-color:#eee;'
},
destroyed() {
document.body.style = ''
}
}
</script>
......
export default {
id: 'interview_cjd',
title: '成绩单(中+英)',
get: {
action: `/api/enrollment/v1.0/application-materials/${webConf.others.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: [] }
)
}
},
form: {
prev: { to: { query: { active: 'interview_ywjl' } } },
next: { to: { query: { active: 'interview_zp' } } },
hasButton: false,
options: { 'label-position': 'top' },
hint: `
export default function(_this) {
return {
id: 'interview_cjd',
title: '成绩单(中+英)',
get: {
action: `/api/enrollment/v1.0/application-materials/${webConf.others.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: `/api/enrollment/v1.0/application-materials/submit/${webConf.others.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: '中文成绩单',
required: true,
model: 'REPORT_CARD_CN',
attrs: {
action: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/put`,
deleteAction: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/delete`,
data: { file_type: 'REPORT_CARD_CN' }
}
},
{
type: 'v-upload',
label: '英文成绩单',
required: true,
model: 'REPORT_CARD_EN',
attrs: {
action: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/put`,
deleteAction: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/delete`,
data: { file_type: 'REPORT_CARD_EN' }
items: [
{
type: 'v-upload',
label: '中文成绩单',
model: 'REPORT_CARD_CN',
attrs: {
action: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/put`,
deleteAction: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/delete`,
data: { file_type: 'REPORT_CARD_CN' }
}
},
{
type: 'v-upload',
label: '英文成绩单',
model: 'REPORT_CARD_EN',
attrs: {
action: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/put`,
deleteAction: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/delete`,
data: { file_type: 'REPORT_CARD_EN' }
}
}
}
]
]
}
}
}
......@@ -9,6 +9,6 @@ export default function(_this) {
return {
id: 'interview',
title: '申请面试',
children: [byzs, xwzs, xwzszm, ywjl, cjd, zp(_this)]
children: [zp(_this), byzs, xwzs, xwzszm, ywjl, cjd(_this)]
}
}
......@@ -23,24 +23,9 @@ export default function(_this) {
return { PERSONAL_PHOTO_FOR_ID }
}
},
update: {
action: `/api/enrollment/v1.0/application-materials/submit/${webConf.others.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_cjd' } } },
submitText: '申请面试',
model: { submission_stage: 'INTERVIEW_APPLICATION' },
next: { to: { query: { active: 'interview_byzs' } } },
hasButton: false,
options: {},
items: [
{
......@@ -49,7 +34,8 @@ export default function(_this) {
attrs: {
action: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/put`,
deleteAction: `/api/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/delete`,
data: { file_type: 'PERSONAL_PHOTO_FOR_ID' }
data: { file_type: 'PERSONAL_PHOTO_FOR_ID' },
limit: 1
},
append:
'申请者需要上传本人半年以内的一寸彩色近照。<br> 只需上传一个文件,且照片完整、干净。<br> 上传文件仅限“jpg,jpeg,gif,png”格式的图片文件,且文件小于10MB。'
......
......@@ -45,7 +45,7 @@ export default {
const menus = getMenu(this)
return {
menus: [menus],
currentActive: 'interview_byzs',
currentActive: 'interview_zp',
completeVisible: false,
dialogVisible: false,
detail: null
......@@ -56,7 +56,7 @@ export default {
immediate: true,
handler(route) {
const { query = {} } = route
this.currentActive = query.active || 'interview_byzs'
this.currentActive = query.active || 'interview_zp'
}
},
showSubmitedDialog(value) {
......
......@@ -58,30 +58,34 @@ export default [
{
path: '/my',
component: Layout,
meta: { requiredLogin: true },
props: { hasFooter: false },
children: [
{
name: 'apply',
path: '',
component: () => import(/* webpackChunkName: "my-welcome" */ '@/pages/my/welcome/index.vue')
component: () => import(/* webpackChunkName: "my-welcome" */ '@/pages/my/welcome/index.vue'),
meta: { requiredLogin: true }
},
{
name: 'account',
path: 'account',
component: () => import(/* webpackChunkName: "my-account" */ '@/pages/my/account/index.vue')
component: () => import(/* webpackChunkName: "my-account" */ '@/pages/my/account/index.vue'),
meta: { requiredLogin: true }
},
{
path: 'application',
component: () => import(/* webpackChunkName: "my-application" */ '@/pages/my/application/index.vue')
component: () => import(/* webpackChunkName: "my-application" */ '@/pages/my/application/index.vue'),
meta: { requiredLogin: true }
},
{
path: 'interview',
component: () => import(/* webpackChunkName: "my-interview" */ '@/pages/my/interview/index.vue')
component: () => import(/* webpackChunkName: "my-interview" */ '@/pages/my/interview/index.vue'),
meta: { requiredLogin: true }
},
{
path: 'admission',
component: () => import(/* webpackChunkName: "my-admission" */ '@/pages/my/admission/index.vue')
component: () => import(/* webpackChunkName: "my-admission" */ '@/pages/my/admission/index.vue'),
meta: { requiredLogin: true }
}
]
},
......
import Vue from 'vue'
import Vuex from 'vuex'
import router from '@/router'
// import router from '@/router'
import { logout } from '@/api/my'
Vue.use(Vuex)
......@@ -12,7 +12,8 @@ export default new Vuex.Store({
actions: {
logout() {
return logout().then(() => {
router.push('/')
// router.push('/')
window.location.href = '/'
})
}
}
......
......@@ -17,26 +17,14 @@ $--border-radius-base: 0 !default;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* 引入bootstrap的栅格系统,重新编译 */
@import '~bootstrap/scss/bootstrap-grid.scss';
* {
margin: 0;
padding: 0;
}
html {
height: 100%;
font-size: 100px;
}
body {
font-size: 14px; // 防止html根元素 影响本身DOM元素字体大小继承
padding: 0;
margin: 0;
height: 100%;
width: 100%;
// background: #eee;
/* tab菜单与内容间距20px */
.el-tab-pane {
padding-top: 20px;
}
}
ul,
li,
a {
......@@ -55,7 +43,6 @@ body {
margin: 0;
background: #fff;
}
p {
margin: 0;
padding: 0;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论