提交 64093c9f authored 作者: 王鹏飞's avatar 王鹏飞

chore: 推荐信改为上传附件;修改申请面试阶段的内容;

上级 77e2711c
......@@ -23,7 +23,7 @@ export default function(_this) {
}
},
form: {
next: { to: { query: { active: 'admission_tjx' } } },
next: { to: { query: { active: 'admission_xy' } } },
hasButton: false,
options: { 'label-position': 'top' },
hint: `
......
......@@ -10,6 +10,11 @@ export default function(_this) {
return {
id: 'admission',
title: '入学办理',
children: [cjd(_this), tjx(_this), xy(_this), xfjn(_this)]
children: [
cjd(_this),
// tjx(_this),
xy(_this),
xfjn(_this)
]
}
}
......@@ -15,7 +15,7 @@ export default function(_this) {
}
},
form: {
prev: { to: { query: { active: 'admission_tjx' } } },
prev: { to: { query: { active: 'admission_cjd' } } },
next: { to: { query: { active: 'admission_xfjn' } } },
hasButton: false,
options: { 'label-position': 'top' },
......
<template>
<el-dialog
title="您当前完成进度如下:"
width="348px"
width="448px"
:center="true"
:close-on-click-modal="false"
:visible.sync="dialogVisible"
......@@ -57,25 +57,30 @@ export default {
],
[
{
title: '毕业证书',
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: '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',
view: { to: { path: '/my/interview', query: { active: 'interview_ywjl' } } }
},
{
title: '推荐信',
code: 'interviewTjx',
view: { to: { path: '/my/application', query: { active: 'application_tjx' } } }
},
{
title: '成绩单',
code: 'interviewCjd',
......@@ -91,12 +96,6 @@ export default {
code: 'interviewZp',
view: { to: { path: '/my/interview', query: { active: 'interview_zp' } } }
}
// {
// title: '推荐信',
// code: 'interviewTjx',
// view: { to: { path: '/my/application', query: { active: 'application_tjx' } } }
// }
]
]
}
......@@ -152,7 +151,10 @@ export default {
interviewZp.progress = missedRequiredList.PERSONAL_PHOTO_FOR_ID ? 0 : 1
// 毕业证书
const interviewByzs = { progress: 0 }
interviewByzs.progress = missedRequiredList.DIPLOMA_CN ? 0 : 1
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
......@@ -173,9 +175,7 @@ export default {
interviewYynlzm.progress = missedRequiredList.INTERNATIONAL_LANGUAGE_SCORE ? 0 : 1
// 推荐信
const interviewTjx = { progress: 0 }
interviewTjx.progress = progress.INTERVIEW_APPLICATION.reco_letters
? progress.INTERVIEW_APPLICATION.reco_letters.progress
: 0
interviewTjx.progress = missedRequiredList.RECOMMENDATION_LETTER ? 0 : 1
this.progress = {
applicaitonInfo,
......@@ -217,7 +217,7 @@ li {
align-items: center;
}
.name {
width: 100px;
width: 190px;
text-align: right;
}
.line {
......
export default function(_this) {
return {
required: true,
id: 'interview_byzs',
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']
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) => {
......@@ -44,7 +54,8 @@ export default function(_this) {
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:
'申请者需要将本科或以上毕业证书原件扫描或者拍照后提交。<br> 可上传多个文件,请确保证书号码清晰可辨。<br> 上传文件仅限“jpg,jpeg,png”格式,文件小于10MB。'
},
{
required: true,
......@@ -56,7 +67,8 @@ 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' }
},
append: '已毕业学员请提交学位证书<br />申请者需要将本科或以上的学位证书原件扫描或拍照后提交<br />可上传多个文件,请确保公章清晰可辨。'
append:
'已毕业学员请提交学位证书<br />申请者需要将本科或以上的学位证书原件扫描或拍照后提交<br />可上传多个文件,请确保公章清晰可辨。'
},
{
required: true,
......@@ -68,7 +80,8 @@ export default function(_this) {
deleteAction: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/attachments/${process.env.projectId}/delete`,
data: { file_type: 'PROOF_READING' }
},
append: '未毕业学员提交加盖公章的在读证明<br/>申请者需要将本科或以上在读证明原件扫描或拍照后提交。<br> 可上传多个文件,请确保公章清晰可辨。'
append:
'未毕业学员提交加盖公章的在读证明<br/>申请者需要将本科或以上在读证明原件扫描或拍照后提交。<br> 可上传多个文件,请确保公章清晰可辨。'
}
]
}
......
export default function(_this) {
return {
required: true,
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']
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) => {
......@@ -23,7 +33,7 @@ export default function(_this) {
}
},
form: {
prev: { to: { query: { active: 'interview_ywjl' } } },
prev: { to: { query: { active: 'interview_tjx' } } },
next: { to: { query: { active: 'interview_yynl' } } },
hasButton: false,
options: { 'label-position': 'top' },
......
......@@ -4,11 +4,12 @@ import yynl from './yynl'
// import xwzs from './xwzs'
import ywjl from './ywjl'
import zp from './zp'
import tjx from './tjx'
export default function(_this) {
return {
id: 'interview',
title: '申请面试',
children: [byzs(_this), ywjl(_this), cjd(_this), yynl(_this), zp(_this)]
children: [byzs(_this), ywjl(_this), tjx(_this), cjd(_this), yynl(_this), zp(_this)]
}
}
export default function(_this) {
return {
required: true,
id: 'interview_tjx',
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) => {
const types = ['RECOMMENDATION_LETTER', 'RECOMMENDATION_LETTER_2']
types.forEach(type => {
item.disabled = item.upload_operator_user_id !== _this.user?.id
if (item.file_type_id === type) {
result.RECOMMENDATION_LETTER.push(item)
}
})
return result
},
{ RECOMMENDATION_LETTER: [] }
)
}
},
// 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' } } },
next: { to: { query: { active: 'interview_cjd' } } },
hasButton: false,
// submitText: '申请面试',
// model: { submission_stage: 'INTERVIEW_APPLICATION' },
options: {},
items: [
{
type: 'v-upload',
model: 'RECOMMENDATION_LETTER',
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: 'RECOMMENDATION_LETTER' },
accept: 'image/*'
},
append: '请上传推荐人署名的推荐信原件照片或扫描件 ',
class: 'upload-letter'
}
]
}
}
}
export default function(_this) {
return {
required: true,
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']
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'
......@@ -16,13 +26,12 @@ export default function(_this) {
},
form: {
prev: { to: { query: { active: 'interview_byzs' } } },
next: { to: { query: { active: 'interview_cjd' } } },
next: { to: { query: { active: 'interview_tjx' } } },
hasButton: false,
options: { 'label-position': 'top' },
items: [
{
required: true,
label: '英文简历',
type: 'v-upload',
model: 'RESUME_EN',
attrs: {
......
export default function(_this) {
return {
required: true,
id: 'interview_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']
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) => {
......@@ -29,7 +39,6 @@ export default function(_this) {
{
required: true,
type: 'v-upload',
label: '语言能力证明',
model: 'INTERNATIONAL_LANGUAGE_SCORE',
attrs: {
action: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/attachments/${process.env.projectId}/put`,
......
export default function(_this) {
return {
required: true,
id: 'interview_zp',
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']
const stageList = [
'FILLING',
'PREPAYMENT',
'INTERVIEW_APPLICATION',
'AUDITION',
'INTERVIEW',
'PAYMENT',
'REGISTRATION',
'CLOSED'
]
this.form.options.disabled = stageList.findIndex(item => item === submissionStage) > 2
const PERSONAL_PHOTO_FOR_ID = attachments.filter(item => {
return item.file_type_id === 'PERSONAL_PHOTO_FOR_ID'
......@@ -35,9 +45,7 @@ export default function(_this) {
options: { 'label-position': 'top' },
items: [
{
required: true,
type: 'v-upload',
label: '个人照片',
model: 'PERSONAL_PHOTO_FOR_ID',
attrs: {
action: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/attachments/${process.env.projectId}/put`,
......
......@@ -82,6 +82,9 @@ export default {
},
showSubmitedDialog() {
return this.isSubmited && this.currentActive === 'interview_byzs'
},
user() {
return this.$store.state.user
}
},
methods: {
......
......@@ -8,7 +8,7 @@
"name": "project-pc",
"version": "1.0.0",
"dependencies": {
"@ezijing/vue-form": "^2.2.4",
"@ezijing/vue-form": "^2.2.12",
"axios": "^0.21.1",
"cookie-universal-nuxt": "^2.1.4",
"core-js": "^3.9.1",
......@@ -1012,9 +1012,9 @@
}
},
"node_modules/@ezijing/vue-form": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/@ezijing/vue-form/-/vue-form-2.2.4.tgz",
"integrity": "sha512-pK3E+KMTquSfpUkoz+mP9EbVrcjttKk72KsS75wL5toVC71tt3VysipsKeQcYzJFtOPKNTEbb0af0Um0Fsx3zQ==",
"version": "2.2.12",
"resolved": "https://registry.npmjs.org/@ezijing/vue-form/-/vue-form-2.2.12.tgz",
"integrity": "sha512-PG9YfVVt/2+mrMDKJ4jB7rEuet7J8o8Xl6FYYYfZOcS+BYYHsvRQ+WaW3imqRNxGccRtrq99KoXRBlpe8e2Pww==",
"dependencies": {
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"@vue/babel-preset-jsx": "^1.1.2",
......@@ -13735,9 +13735,9 @@
"integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw=="
},
"@ezijing/vue-form": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/@ezijing/vue-form/-/vue-form-2.2.4.tgz",
"integrity": "sha512-pK3E+KMTquSfpUkoz+mP9EbVrcjttKk72KsS75wL5toVC71tt3VysipsKeQcYzJFtOPKNTEbb0af0Um0Fsx3zQ==",
"version": "2.2.12",
"resolved": "https://registry.npmjs.org/@ezijing/vue-form/-/vue-form-2.2.12.tgz",
"integrity": "sha512-PG9YfVVt/2+mrMDKJ4jB7rEuet7J8o8Xl6FYYYfZOcS+BYYHsvRQ+WaW3imqRNxGccRtrq99KoXRBlpe8e2Pww==",
"requires": {
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"@vue/babel-preset-jsx": "^1.1.2",
......
......@@ -10,7 +10,7 @@
"generate": "nuxt generate"
},
"dependencies": {
"@ezijing/vue-form": "^2.2.4",
"@ezijing/vue-form": "^2.2.12",
"axios": "^0.21.1",
"cookie-universal-nuxt": "^2.1.4",
"core-js": "^3.9.1",
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论