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

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

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