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

增加推荐信

上级 f96d9a15
......@@ -106,6 +106,15 @@ export function sendToProvider(letterId) {
`/enrollment/v1.0/application-materials/reco-letters/send-invitation-to-provider/${projectId}/${letterId}`
)
}
/**
* 发送推荐信
*/
export function sendToProviders() {
return httpRequest.get(
`/enrollment/v1.0/application-materials/reco-letters/send-invitation-to-providers/${projectId}`
)
}
/**
* 退出登录
*/
......
......@@ -107,8 +107,7 @@ export default {
this.passport.checkLoginStatus((isLogin, user = {}) => {
this.isLogin = isLogin
this.user = user
// this.$router.push('/my')
this.$router.push('/')
this.$router.push('/my')
})
}
}
......
......@@ -18,8 +18,7 @@
<div class="swiper-button-next" slot="button-next" @click="next"></div>
</swiper>
<ul class="nav">
<li>
<!-- <li @click="goPage('/my')"> -->
<li @click="goPage('/my')">
<div class="icon">
<img src="../../assets/img/lang/banner-i1.png" />
</div>
......
......@@ -32,7 +32,7 @@ export default function(_this) {
}
},
form: {
next: { to: { query: { active: 'admission_xy' } } },
next: { to: { query: { active: 'admission_tjx' } } },
hasButton: false,
options: { 'label-position': 'top' },
hint: `
......
......@@ -3,11 +3,12 @@ import cjd from './cjd'
// import ywjl from './ywjl'
import xy from './xy'
import xfjn from './xfjn'
import tjx from './tjx'
export default function(_this) {
return {
id: 'admission',
title: '入学办理',
children: [cjd(_this), xy(_this), xfjn(_this)]
children: [cjd(_this), tjx(_this), xy(_this), xfjn(_this)]
}
}
/**
* 推荐信
*/
export default function(_this) {
return {
id: 'admission_tjx',
title: '推荐信',
get: {
action: `${webConf.apiBaseURL}/enrollment/v1.0/application-materials/${webConf.others.projectId}`,
callback(data) {
// const { submission_stage: submissionStage = 'FILLING' } = data.data.material
// const stageList = [
// 'FILLING',
// 'PREPAYMENT',
// 'INTERVIEW_APPLICATION',
// 'AUDITION',
// 'INTERVIEW',
// 'PAYMENT',
// 'REGISTRATION',
// 'CLOSED'
// ]
const list = data.data.material.reco_letters || []
this.form.options.disabled = list.length >= 2
return list.length ? list : [{}, {}]
}
},
update: {
action: `${webConf.apiBaseURL}/enrollment/v1.0/application-materials/${webConf.others.projectId}/put`,
beforeRequest(data) {
return { reco_letters: data }
},
callback() {
this.form.options.disabled = true
_this.sendToProviders()
}
},
form: {
minlength: 2,
prev: { to: { query: { active: 'admission_cjd' } } },
next: { to: { query: { active: 'admission_xy' } } },
hasAdd: true,
options: { disabled: false, labelWidth: '140px' },
disabled(data) {
return !!data.letter_content
},
aside: {
prepend: {
html: '<p style="color:#33C011;">推荐人已完成</p>',
visible(data) {
return !!data.letter_content
}
},
buttons: [
{
text: '再次邀请',
visible(data) {
const editable = ['PREPAYMENT', 'REGISTRATION'].includes(_this.detail.material.submission_stage)
return data.id && !data.letter_content && editable
},
onClick(data) {
_this.sendToProvider(data)
}
},
{
text: '更换推荐人',
visible(data) {
const editable = ['PREPAYMENT', 'REGISTRATION'].includes(_this.detail.material.submission_stage)
return data.id && !data.letter_content && editable
},
onClick(data, $form) {
$form.validate().then(() => {
_this.changeProvider(data)
})
}
}
]
},
items: [
{
type: 'v-input',
label: '推荐人姓名',
model: 'provider_name',
attrs: { placeholder: '请输入推荐人姓名' },
rules: [{ required: true, message: '请输入推荐人姓名', trigger: 'blur' }]
},
{
type: 'v-input',
label: '推荐人电话',
model: 'provider_phone_number',
attrs: { placeholder: '请输入推荐人电话', maxlength: 11 },
rules: [{ required: true, pattern: /^1[3-9]\d{9}$/, message: '请输入推荐人电话', trigger: 'blur' }]
},
{
type: 'v-input',
label: '推荐人邮箱',
model: 'provider_email',
attrs: { placeholder: '请输入推荐人邮箱' },
rules: [{ type: 'email', required: true, message: '请输入推荐人邮箱', trigger: 'blur' }]
},
{
type: 'v-select',
values: [
{ value: '老师/导师' },
{ value: '领导' },
{ value: '同学' },
{ value: '同事' },
{ value: '亲属' },
{ value: '朋友' },
{ value: '其他' }
],
label: '与推荐人关系',
model: 'provider_relationship',
rules: [{ required: true, message: '请选择与推荐人关系', trigger: 'change' }]
}
]
}
}
}
......@@ -24,7 +24,7 @@ export default function(_this) {
}
},
form: {
prev: { to: { query: { active: 'admission_cjd' } } },
prev: { to: { query: { active: 'admission_tjx' } } },
next: { to: { query: { active: 'admission_xfjn' } } },
hasButton: false,
options: {},
......@@ -37,12 +37,12 @@ export default function(_this) {
action: `${webConf.apiBaseURL}/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/put`,
deleteAction: `${webConf.apiBaseURL}/enrollment/v1.0/application-materials/attachments/${webConf.others.projectId}/delete`,
data: { file_type: 'ADMISSION_AGREEMENT' }
}
// prepend: `
// <p><a href="https://zws-imgs-pub.oss-cn-beijing.aliyuncs.com/pc/sofia/%E5%85%A5%E5%AD%A6%E5%8D%8F%E8%AE%AE.pdf" target="_blank" download="入学协议">下载入学协议</a></p>
// <p>申请者可将签字后的入学协议原件扫描或拍照后提交。</p>
// <p>学员应仔细阅读《入学协议》以及课程介绍,如对入学协议或课程有异议,请第一时间与课程顾问咨询确认。请用A4纸打印后,在入学协议上签上姓名和日期,内容需显示完整、格式整齐、字迹清晰可辨。上传文件仅限“jpg,jpeg,pdf,png”格式,文件小于10Mb。</p>
// `
},
prepend: `
<p><a href="https://zws-imgs-pub.ezijing.com/pc/marywood/%E5%85%A5%E5%AD%A6%E5%8D%8F%E8%AE%AE.pdf" target="_blank" download="入学协议">下载入学协议</a></p>
<p>申请者可将签字后的入学协议原件扫描或拍照后提交。</p>
<p>学员应仔细阅读《入学协议》以及课程介绍,如对入学协议或课程有异议,请第一时间与课程顾问咨询确认。请用A4纸打印后,在入学协议上签上姓名和日期,内容需显示完整、格式整齐、字迹清晰可辨。上传文件仅限“jpg,jpeg,pdf,png”格式,文件小于10Mb。</p>
`
}
]
}
......
......@@ -10,6 +10,7 @@
@prev="handlePrev"
@next="handleNext"
@uploaded="getApplication"
v-if="detail"
>
<template #aside-append>
<div class="aside-logout" @click="$store.dispatch('logout')"><span>退出登录</span></div>
......@@ -111,6 +112,39 @@ export default {
toPay() {
this.dialogVisible = false
this.$router.push({ path: '/my/admission', query: { active: 'admission_xfjn' } })
},
// 更换推荐人
changeProvider(data) {
api.updateProvider(data.id, data).then(response => {
const { error, message } = response
if (error.toString() === '0') {
this.$message({ type: 'success', message })
} else {
this.$message.error(message)
}
})
},
// 再次邀请推荐
sendToProvider(data) {
api.sendToProvider(data.id).then(response => {
const { error, message } = response
if (error.toString() === '0') {
this.$message({ type: 'success', message })
} else {
this.$message.error(message)
}
})
},
// 发送推荐信
sendToProviders() {
api.sendToProviders().then(response => {
const { error, message } = response
if (error.toString() === '0') {
this.$message({ type: 'success', message })
} else {
this.$message.error(message)
}
})
}
},
beforeMount() {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论