提交 01119f36 authored 作者: 王鹏飞's avatar 王鹏飞

chore(报名申请): 修改办理入学阶段

上级 e43464d1
...@@ -13,8 +13,8 @@ export default function(_this) { ...@@ -13,8 +13,8 @@ export default function(_this) {
'INTERVIEW_APPLICATION', 'INTERVIEW_APPLICATION',
'AUDITION', 'AUDITION',
'INTERVIEW', 'INTERVIEW',
'PAYMENT',
'REGISTRATION', 'REGISTRATION',
'PAYMENT',
'CLOSED' 'CLOSED'
] ]
this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 6 this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 6
...@@ -35,6 +35,19 @@ export default function(_this) { ...@@ -35,6 +35,19 @@ export default function(_this) {
) )
} }
}, },
update: {
action: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/submit/${process.env.projectId}`,
beforeRequest(data) {
return { submission_stage: 'REGISTRATION' }
},
callback() {
this.form.options.disabled = true
_this.getApplication()
},
errorCallback() {
_this.completeVisible = true
}
},
form: { form: {
prev: { to: { query: { active: 'admission_grcs' } } }, prev: { to: { query: { active: 'admission_grcs' } } },
submitText: '提交申请', submitText: '提交申请',
...@@ -54,6 +67,7 @@ export default function(_this) { ...@@ -54,6 +67,7 @@ export default function(_this) {
deleteAction: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/attachments/${process.env.projectId}/delete`, deleteAction: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/attachments/${process.env.projectId}/delete`,
data: { file_type: 'DIPLOMA_CN' } data: { file_type: 'DIPLOMA_CN' }
}, },
rules: { required: true, message: '请上传毕业证书' },
append: append:
'申请者需要将本科或以上毕业证书原件扫描或者拍照后提交。<br> 可上传多个文件,请确保证书号码清晰可辨。<br> 上传文件仅限“jpg,jpeg,png”格式,文件小于10MB。' '申请者需要将本科或以上毕业证书原件扫描或者拍照后提交。<br> 可上传多个文件,请确保证书号码清晰可辨。<br> 上传文件仅限“jpg,jpeg,png”格式,文件小于10MB。'
}, },
...@@ -67,6 +81,7 @@ export default function(_this) { ...@@ -67,6 +81,7 @@ export default function(_this) {
deleteAction: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/attachments/${process.env.projectId}/delete`, deleteAction: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/attachments/${process.env.projectId}/delete`,
data: { file_type: 'DEGREE_CERT_CN' } data: { file_type: 'DEGREE_CERT_CN' }
}, },
rules: { required: true, message: '请上传学位证书' },
append: append:
'已毕业学员请提交学位证书<br />申请者需要将本科或以上的学位证书原件扫描或拍照后提交<br />可上传多个文件,请确保公章清晰可辨。' '已毕业学员请提交学位证书<br />申请者需要将本科或以上的学位证书原件扫描或拍照后提交<br />可上传多个文件,请确保公章清晰可辨。'
}, },
...@@ -80,6 +95,7 @@ export default function(_this) { ...@@ -80,6 +95,7 @@ export default function(_this) {
deleteAction: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/attachments/${process.env.projectId}/delete`, deleteAction: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/attachments/${process.env.projectId}/delete`,
data: { file_type: 'PROOF_READING' } data: { file_type: 'PROOF_READING' }
}, },
rules: { required: true, message: '请上传在读证明' },
append: append:
'未毕业学员提交加盖公章的在读证明<br/>申请者需要将本科或以上在读证明原件扫描或拍照后提交。<br> 可上传多个文件,请确保公章清晰可辨。' '未毕业学员提交加盖公章的在读证明<br/>申请者需要将本科或以上在读证明原件扫描或拍照后提交。<br> 可上传多个文件,请确保公章清晰可辨。'
} }
......
...@@ -13,8 +13,8 @@ export default function(_this) { ...@@ -13,8 +13,8 @@ export default function(_this) {
'INTERVIEW_APPLICATION', 'INTERVIEW_APPLICATION',
'AUDITION', 'AUDITION',
'INTERVIEW', 'INTERVIEW',
'PAYMENT',
'REGISTRATION', 'REGISTRATION',
'PAYMENT',
'CLOSED' 'CLOSED'
] ]
this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 6 this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 6
...@@ -54,6 +54,7 @@ export default function(_this) { ...@@ -54,6 +54,7 @@ export default function(_this) {
} }
}, },
{ {
required: true,
type: 'v-upload', type: 'v-upload',
label: '英文成绩单', label: '英文成绩单',
model: 'REPORT_CARD_EN', model: 'REPORT_CARD_EN',
......
...@@ -13,8 +13,8 @@ export default function(_this) { ...@@ -13,8 +13,8 @@ export default function(_this) {
'INTERVIEW_APPLICATION', 'INTERVIEW_APPLICATION',
'AUDITION', 'AUDITION',
'INTERVIEW', 'INTERVIEW',
'PAYMENT',
'REGISTRATION', 'REGISTRATION',
'PAYMENT',
'CLOSED' 'CLOSED'
] ]
this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 6 this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 6
......
...@@ -13,8 +13,8 @@ export default function(_this) { ...@@ -13,8 +13,8 @@ export default function(_this) {
'INTERVIEW_APPLICATION', 'INTERVIEW_APPLICATION',
'AUDITION', 'AUDITION',
'INTERVIEW', 'INTERVIEW',
'PAYMENT',
'REGISTRATION', 'REGISTRATION',
'PAYMENT',
'CLOSED' 'CLOSED'
] ]
this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 6 this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 6
......
...@@ -3,6 +3,9 @@ export default function(_this) { ...@@ -3,6 +3,9 @@ export default function(_this) {
required: true, required: true,
id: 'admission_xfjn', id: 'admission_xfjn',
title: '缴费凭证', title: '缴费凭证',
visible() {
return _this.hasPay
},
get: { get: {
action: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/${process.env.projectId}`, action: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/${process.env.projectId}`,
callback(data) { callback(data) {
...@@ -13,11 +16,11 @@ export default function(_this) { ...@@ -13,11 +16,11 @@ export default function(_this) {
'INTERVIEW_APPLICATION', 'INTERVIEW_APPLICATION',
'AUDITION', 'AUDITION',
'INTERVIEW', 'INTERVIEW',
'PAYMENT',
'REGISTRATION', 'REGISTRATION',
'PAYMENT',
'CLOSED' 'CLOSED'
] ]
this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 6 // this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 6
const PAYMENT_VOUCHER = attachments.filter(item => { const PAYMENT_VOUCHER = attachments.filter(item => {
return item.file_type_id === 'PAYMENT_VOUCHER' return item.file_type_id === 'PAYMENT_VOUCHER'
}) })
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<el-button type="primary" @click="dialogVisible = false">忽略</el-button> <el-button type="primary" @click="dialogVisible = false">忽略</el-button>
</template> </template>
</el-dialog> </el-dialog>
<app-complete v-model="completeVisible"></app-complete> <app-complete :type="2" v-model="completeVisible"></app-complete>
</app-layout> </app-layout>
</template> </template>
...@@ -81,6 +81,15 @@ export default { ...@@ -81,6 +81,15 @@ export default {
}, },
showSubmitedDialog() { showSubmitedDialog() {
return this.isSubmited && this.currentActive === 'admission_byzs' return this.isSubmited && this.currentActive === 'admission_byzs'
},
user() {
return this.$store.state.user
},
hasPay() {
if (this.detail) {
return this.detail.material.submission_stage === 'CLOSED'
}
return false
} }
}, },
methods: { methods: {
......
...@@ -10,14 +10,10 @@ ...@@ -10,14 +10,10 @@
> >
<div> <div>
<ul v-if="detail"> <ul v-if="detail">
<li <li v-for="item in currentOptions" :class="progress(item.code) ? 'is-success' : 'is-error'" :key="item.code">
v-for="item in currentOptions"
:class="progress[item.code].progress === 1 ? 'is-success' : 'is-error'"
:key="item.code"
>
<span class="name">{{ item.title }}</span> <span class="name">{{ item.title }}</span>
<span class="line"></span> <span class="line"></span>
<span class="status">{{ progress[item.code].progress === 1 ? '已完成' : '未完成' }}</span> <span class="status">{{ progress(item.code) ? '已完成' : '未完成' }}</span>
<span class="view" @click="handleView(item.view.to)">立即查看</span> <span class="view" @click="handleView(item.view.to)">立即查看</span>
</li> </li>
</ul> </ul>
...@@ -29,6 +25,7 @@ ...@@ -29,6 +25,7 @@
</template> </template>
<script> <script>
import { get } from 'lodash'
import * as api from '@/api/my' import * as api from '@/api/my'
export default { export default {
props: { value: { type: Boolean, default: false }, type: { type: Number, default: 0 } }, props: { value: { type: Boolean, default: false }, type: { type: Number, default: 0 } },
...@@ -36,86 +33,51 @@ export default { ...@@ -36,86 +33,51 @@ export default {
return { return {
dialogVisible: false, dialogVisible: false,
detail: null, detail: null,
progress: {},
options: [ options: [
[ [
{ {
title: '个人资料', title: '个人资料',
code: 'applicaitonInfo', code: 'FILLING.total_progress',
view: { to: { path: '/my/application', query: { active: 'application_info' } } } view: { to: { path: '/my/application', query: { active: 'application_info' } } }
} }
// {
// 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_byzs' } } }
// },
// {
// title: '在读证明',
// code: 'interviewZdzm',
// view: { to: { path: '/my/interview', query: { active: 'interview_byzs' } } }
// },
{ {
title: '英文简历', title: '英文简历',
code: 'interviewYwjl', code: 'INTERVIEW_APPLICATION.attachments.submitted_required_list.RESUME_EN',
view: { to: { path: '/my/interview', query: { active: 'interview_ywjl' } } } view: { to: { path: '/my/interview', query: { active: 'interview_ywjl' } } }
}, },
// {
// title: '推荐信',
// code: 'interviewTjx',
// view: { to: { path: '/my/interview', query: { active: 'interview_tjx' } } }
// },
{ {
title: '成绩单', title: '成绩单',
code: 'interviewCjd', code: 'INTERVIEW_APPLICATION.attachments.submitted_required_list.REPORT_CARD_CN',
view: { to: { path: '/my/interview', query: { active: 'interview_cjd' } } } view: { to: { path: '/my/interview', query: { active: 'interview_cjd' } } }
}, },
{ {
title: '语言能力证明', title: '语言能力证明',
code: 'interviewYynlzm', code: 'INTERVIEW_APPLICATION.attachments.submitted_required_list.INTERNATIONAL_LANGUAGE_SCORE',
view: { to: { path: '/my/interview', query: { active: 'interview_yynl' } } } view: { to: { path: '/my/interview', query: { active: 'interview_yynl' } } }
} }
// {
// title: '个人照片',
// code: 'interviewZp',
// view: { to: { path: '/my/interview', query: { active: 'interview_zp' } } }
// }
], ],
[ [
{ {
title: '成绩单', title: '成绩单',
code: 'interviewCjd', code: 'REGISTRATION.attachments.submitted_required_list.REPORT_CARD_EN',
view: { to: { path: '/my/admission', query: { active: 'admission_cjd' } } } view: { to: { path: '/my/admission', query: { active: 'admission_cjd' } } }
}, },
{ {
title: '推荐信', title: '推荐信',
code: 'interviewTjx', code: 'REGISTRATION.attachments.submitted_required_list.RECOMMENDATION_LETTER',
view: { to: { path: '/my/admission', query: { active: 'admission_tjx' } } } view: { to: { path: '/my/admission', query: { active: 'admission_tjx' } } }
}, },
{ {
title: '个人陈述', title: '个人陈述',
code: 'interviewTjx', code: 'REGISTRATION.attachments.submitted_required_list.PERSONAL_STATEMENT',
view: { to: { path: '/my/admission', query: { active: 'admission_tjx' } } } view: { to: { path: '/my/admission', query: { active: 'admission_grcs' } } }
}, },
{ {
title: '毕业证或在读证明', title: '毕业证或在读证明',
code: 'interviewByzs', code: 'REGISTRATION.attachments.submitted_required_list.DIPLOMA_CN',
view: { to: { path: '/my/admission', query: { active: 'admission_byzs' } } } view: { to: { path: '/my/admission', query: { active: 'admission_byzs' } } }
} }
] ]
...@@ -141,83 +103,15 @@ export default { ...@@ -141,83 +103,15 @@ export default {
api.getApplication(this.$route.query).then(response => { api.getApplication(this.$route.query).then(response => {
const { data, error, message } = response const { data, error, message } = response
if (error.toString() === '0') { if (error.toString() === '0') {
const { progress } = data
this.detail = data this.detail = data
const fillingMissedRequiredList = progress.FILLING.attachments.missed_required_list
// 个人资料
const applicaitonInfo = { progress: 0 }
const infoRequriedList = ['basic_info', 'educations', 'careers', 'answers']
for (const key of infoRequriedList) {
if (progress.FILLING[key].progress < 1) {
applicaitonInfo.progress = 0
break
}
applicaitonInfo.progress = 1
}
if (applicaitonInfo.progress === 1 && !fillingMissedRequiredList.ID_CARD_PHOTO) {
applicaitonInfo.progress = 1
} else {
applicaitonInfo.progress = 0
}
// 推荐信
const applicationTjx = { progress: 0 }
applicationTjx.progress = progress.FILLING.reco_letters ? progress.FILLING.reco_letters.progress : 0
// 无犯罪证明
const applicationWfzzm = { progress: 0 }
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 || missedRequiredList.DEGREE_CERT_CN || missedRequiredList.PROOF_READING
? 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 interviewZdzm = { progress: 0 }
interviewZdzm.progress = missedRequiredList.PROOF_READING ? 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
// 语言能力证明
const interviewYynlzm = { progress: 0 }
interviewYynlzm.progress = missedRequiredList.INTERNATIONAL_LANGUAGE_SCORE ? 0 : 1
// 推荐信
const interviewTjx = { progress: 0 }
interviewTjx.progress = missedRequiredList.RECOMMENDATION_LETTER ? 0 : 1
this.progress = {
applicaitonInfo,
applicationTjx,
applicationWfzzm,
interviewZp,
interviewByzs,
interviewXwzs,
interviewXwzsEnglish,
interviewZdzm,
interviewYwjl,
interviewCjd,
interviewYynlzm,
interviewTjx
}
} else { } else {
this.$message.error(message) this.$message.error(message)
} }
}) })
}, },
progress(prop) {
return get(this.detail.progress, prop)
},
handleView(to) { handleView(to) {
this.dialogVisible = false this.dialogVisible = false
this.$router.push(to) this.$router.push(to)
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
"element-ui": "^2.15.1", "element-ui": "^2.15.1",
"file-saver": "^2.0.5", "file-saver": "^2.0.5",
"js-file-download": "^0.4.12", "js-file-download": "^0.4.12",
"lodash": "^4.17.21",
"nuxt": "^2.15.3", "nuxt": "^2.15.3",
"qrcode.vue": "^1.7.0", "qrcode.vue": "^1.7.0",
"qs": "^6.10.1", "qs": "^6.10.1",
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
"element-ui": "^2.15.1", "element-ui": "^2.15.1",
"file-saver": "^2.0.5", "file-saver": "^2.0.5",
"js-file-download": "^0.4.12", "js-file-download": "^0.4.12",
"lodash": "^4.17.21",
"nuxt": "^2.15.3", "nuxt": "^2.15.3",
"qrcode.vue": "^1.7.0", "qrcode.vue": "^1.7.0",
"qs": "^6.10.1", "qs": "^6.10.1",
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论