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

chore: 新增留位费

上级 c7bc0963
...@@ -54,64 +54,46 @@ export function getApplicationStatus() { ...@@ -54,64 +54,46 @@ export function getApplicationStatus() {
/** /**
* 获取支付二维码 * 获取支付二维码
*/ */
export function getOrder(params) { export function getOrder(params, fee = 'APPLICATION_FEE') {
return httpRequest.get( return httpRequest.get(`/api/enrollment/v1.0/application-materials/payment-records/request/${projectId}/${fee}`, { params })
`/api/enrollment/v1.0/application-materials/payment-records/request/${projectId}/APPLICATION_FEE`,
{ params }
)
} }
/** /**
* 检查支付状态 * 检查支付状态
*/ */
export function checkPay(id, params) { export function checkPay(id, params, fee = 'APPLICATION_FEE') {
return httpRequest.get( return httpRequest.get(`/api/enrollment/v1.0/application-materials/payment-records/check-status/${projectId}/${fee}/${id}`, { params })
`/api/enrollment/v1.0/application-materials/payment-records/check-status/${projectId}/APPLICATION_FEE/${id}`,
{ params }
)
} }
/** /**
* 写推荐信 * 写推荐信
*/ */
export function addLetter(userId, letterId, data) { export function addLetter(userId, letterId, data) {
return httpRequest.post( return httpRequest.post(`/api/enrollment/v1.0/application-materials/reco-letters/submit/${projectId}/${userId}/${letterId}/put`, data, {
`/api/enrollment/v1.0/application-materials/reco-letters/submit/${projectId}/${userId}/${letterId}/put`, headers: { 'Content-Type': 'application/json' }
data, })
{
headers: { 'Content-Type': 'application/json' }
}
)
} }
/** /**
* 更换推荐人 * 更换推荐人
*/ */
export function updateProvider(letterId, data) { export function updateProvider(letterId, data) {
return httpRequest.post( return httpRequest.post(`/api/enrollment/v1.0/application-materials/reco-letters/change-provider/${projectId}/${letterId}/put`, data, {
`/api/enrollment/v1.0/application-materials/reco-letters/change-provider/${projectId}/${letterId}/put`, headers: { 'Content-Type': 'application/json' }
data, })
{
headers: { 'Content-Type': 'application/json' }
}
)
} }
/** /**
* 再次邀请 * 再次邀请
*/ */
export function sendToProvider(letterId) { export function sendToProvider(letterId) {
return httpRequest.get( return httpRequest.get(`/api/enrollment/v1.0/application-materials/reco-letters/send-invitation-to-provider/${projectId}/${letterId}`)
`/api/enrollment/v1.0/application-materials/reco-letters/send-invitation-to-provider/${projectId}/${letterId}`
)
} }
/** /**
* 发送推荐信 * 发送推荐信
*/ */
export function sendToProviders() { export function sendToProviders() {
return httpRequest.get( return httpRequest.get(`/api/enrollment/v1.0/application-materials/reco-letters/send-invitation-to-providers/${projectId}`)
`/api/enrollment/v1.0/application-materials/reco-letters/send-invitation-to-providers/${projectId}`
)
} }
/** /**
* 退出登录 * 退出登录
...@@ -124,10 +106,7 @@ export function logout() { ...@@ -124,10 +106,7 @@ export function logout() {
* 更改附件状态 * 更改附件状态
*/ */
export function changeFileStatus(userId, recordId, status) { export function changeFileStatus(userId, recordId, status) {
return httpRequest.get( return httpRequest.get(`/api/enrollment/v1.0/application-materials/attachments/change-status/${projectId}/${userId}/${recordId}`, { params: { status } })
`/api/enrollment/v1.0/application-materials/attachments/change-status/${projectId}/${userId}/${recordId}`,
{ params: { status } }
)
} }
/** /**
......
// import cjd from './cjd' // import cjd from './cjd'
// import byzs from './byzs' // import byzs from './byzs'
// import ywjl from './ywjl' // import ywjl from './ywjl'
import xy from './xy' // import xy from './xy'
import xfjn from './xfjn' import xfjn from './xfjn'
// import tjx from './tjx' // import tjx from './tjx'
// import grcs from './grcs' // import grcs from './grcs'
...@@ -11,6 +11,9 @@ export default function(_this) { ...@@ -11,6 +11,9 @@ export default function(_this) {
return { return {
id: 'admission', id: 'admission',
title: '入学办理', title: '入学办理',
children: [xfjn(_this), xy(_this)] children: [
xfjn(_this)
// xy(_this)
]
} }
} }
...@@ -19,9 +19,23 @@ export default function(_this) { ...@@ -19,9 +19,23 @@ export default function(_this) {
return { PAYMENT_VOUCHER } return { PAYMENT_VOUCHER }
} }
}, },
update: {
action: `${process.env.baseURL}/api/enrollment/v1.0/application-materials/submit/${process.env.projectId}`,
beforeRequest(data) {
return { submission_stage: 'CLOSED' }
},
callback() {
_this.$message({ type: 'success', message: '提交成功' })
_this.getApplication()
this.form.options.disabled = true
},
errorCallback() {
_this.completeVisible = true
}
},
form: { form: {
next: { to: { query: { active: 'admission_xy' } } }, // next: { to: { query: { active: 'admission_xy' } } },
hasButton: false, submitText: '提交',
options: { 'label-position': 'top' }, options: { 'label-position': 'top' },
// hint: ` // hint: `
// <p><strong>一、对公收款银行信息:</strong></p> // <p><strong>一、对公收款银行信息:</strong></p>
......
...@@ -95,11 +95,11 @@ export default { ...@@ -95,11 +95,11 @@ export default {
], ],
view: { to: { path: '/my/review', query: { active: 'admission_byzs' } } } view: { to: { path: '/my/review', query: { active: 'admission_byzs' } } }
}, },
{ // {
title: '申请表格', // title: '申请表格',
code: 'INTERVIEW_APPLICATION.attachments.missed_required_list.APPLICATION_FORM', // code: 'INTERVIEW_APPLICATION.attachments.missed_required_list.APPLICATION_FORM',
view: { to: { path: '/my/review', query: { active: 'admission_form' } } } // view: { to: { path: '/my/review', query: { active: 'admission_form' } } }
} // }
], ],
[ [
{ {
...@@ -108,11 +108,11 @@ export default { ...@@ -108,11 +108,11 @@ export default {
view: { to: { path: '/my/admission', query: { active: 'admission_xfjn' } } } view: { to: { path: '/my/admission', query: { active: 'admission_xfjn' } } }
}, },
{ // {
title: '入学协议', // title: '入学协议',
code: 'CLOSED.attachments.missed_required_list.ADMISSION_AGREEMENT', // code: 'CLOSED.attachments.missed_required_list.ADMISSION_AGREEMENT',
view: { to: { path: '/my/admission', query: { active: 'admission_xy' } } } // view: { to: { path: '/my/admission', query: { active: 'admission_xy' } } }
} // }
] ]
] ]
} }
......
...@@ -32,7 +32,7 @@ export default function(_this) { ...@@ -32,7 +32,7 @@ export default function(_this) {
data: { file_type: 'RESUME_EN' } data: { file_type: 'RESUME_EN' }
}, },
append: ` append: `
<p>请下载填写英文简历模板后上传 [<a href="https://webapp-pub.ezijing.com/project/syracuse-plus/%E8%8B%B1%E6%96%87%E7%AE%80%E5%8E%86%E6%A8%A1%E6%9D%BF--SIT.doc" target="_blank" download="英文简历模板">下载模板</a>]</p> <p>请下载填写英文简历模板后上传 [<a href="https://webapp-pub.ezijing.com/project/syracuse-plus/%E8%8B%B1%E6%96%87%E7%AE%80%E5%8E%86%E6%A8%A1%E6%9D%BF.doc" target="_blank" download="英文简历模板">下载模板</a>]</p>
<p>请将英文简历填写完存为"pdf"格式上传,文件小于10MB。</p>` <p>请将英文简历填写完存为"pdf"格式上传,文件小于10MB。</p>`
} }
] ]
......
...@@ -71,7 +71,7 @@ export default { ...@@ -71,7 +71,7 @@ export default {
return false return false
}, },
showSubmittedDialog() { showSubmittedDialog() {
return this.isSubmitted && (this.currentActive === 'interview_yynl' || this.currentActive === 'interview_form') return this.isSubmitted
}, },
user() { user() {
return this.$store.state.user return this.$store.state.user
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<h5-pay @update="handleUpdateOrder" v-if="isWechat"></h5-pay> <h5-pay @update="handleUpdateOrder" v-if="isWechat"></h5-pay>
<qrcode-pay @update="handleUpdateOrder" v-else></qrcode-pay> <qrcode-pay @update="handleUpdateOrder" v-else></qrcode-pay>
<div class="pay-ft"> <div class="pay-ft">
<p class="t2">注释:<br />此处为微信二维码<br />成功提交700元申请费后,申请人还需上传并提交最高学历(学位)证书 (注:申请费不退还)</p> <p class="t2">注释:<br />此处为微信二维码<br />申请费不退还</p>
</div> </div>
<el-dialog title="报名费缴费成功" :visible.sync="dialogVisible" :center="true" :close-on-click-modal="false" width="348px"> <el-dialog title="报名费缴费成功" :visible.sync="dialogVisible" :center="true" :close-on-click-modal="false" width="348px">
<div class="dialog-pay"> <div class="dialog-pay">
......
...@@ -20,7 +20,7 @@ export default { ...@@ -20,7 +20,7 @@ export default {
methods: { methods: {
// 获取订单 // 获取订单
getOrder(callback) { getOrder(callback) {
api.getOrder({ wx_open_id: this.openId, payment_method: 'WX_PAY' }).then(response => { api.getOrder({ wx_open_id: this.openId, payment_method: 'WX_PAY' }, 'RESERVATION_FEE').then(response => {
const { data, error, message } = response const { data, error, message } = response
if (error.toString() === '0') { if (error.toString() === '0') {
this.order = data this.order = data
...@@ -51,9 +51,7 @@ export default { ...@@ -51,9 +51,7 @@ export default {
// 去支付 // 去支付
handlePay() { handlePay() {
this.getOrder(() => { this.getOrder(() => {
window.location.href = `https://web-pay.ezijing.com/wxpay/h5?prepay_id=${this.order.wx_prepay_id}&open_id=${ window.location.href = `https://web-pay.ezijing.com/wxpay/h5?prepay_id=${this.order.wx_prepay_id}&open_id=${this.openId}&redirect_uri=${encodeURIComponent(this.pageUrl)}`
this.openId
}&redirect_uri=${encodeURIComponent(this.pageUrl)}`
}) })
} }
}, },
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
</div> </div>
<h1>欢迎您</h1> <h1>欢迎您</h1>
<p class="t1"> <p class="t1">
申请雪城大学硕士保研项目,需缴纳留位费<span>2000</span>元,请扫描二维码以完成缴费。 申请雪城大学硕士保研项目,需缴纳留位费<span>20000</span>元,请扫描二维码以完成缴费。
</p> </p>
</div> </div>
<div class="qrcode-error" v-if="qrcodeError">生成二维码失败请刷新<i class="el-icon-refresh-left" @click="getOrder" title="刷新"></i></div> <div class="qrcode-error" v-if="qrcodeError">生成二维码失败请刷新<i class="el-icon-refresh-left" @click="getOrder" title="刷新"></i></div>
...@@ -38,7 +38,7 @@ export default { ...@@ -38,7 +38,7 @@ export default {
methods: { methods: {
// 获取订单 // 获取订单
getOrder() { getOrder() {
api.getOrder({ payment_method: 'WX_PAY_QR' }).then(response => { api.getOrder({ payment_method: 'WX_PAY_QR' }, 'RESERVATION_FEE').then(response => {
const { data, error, message } = response const { data, error, message } = response
this.qrcodeError = error.toString() === '1' this.qrcodeError = error.toString() === '1'
if (error.toString() === '0') { if (error.toString() === '0') {
......
...@@ -39,19 +39,18 @@ export default function(_this) { ...@@ -39,19 +39,18 @@ export default function(_this) {
return result return result
}, {}) }, {})
return { basic_info: basicInfo } return { basic_info: basicInfo }
},
callback() {
_this.changeSubmissionStage(() => {
this.form.options.disabled = true
// _this.$router.push('/my/admission')
})
} }
// callback() {
// _this.changeSubmissionStage(() => {
// this.form.options.disabled = true
// // _this.$router.push('/my/admission')
// })
// }
}, },
form: { form: {
prev: { to: { query: { active: 'admission_grcs' } }, isSubmit: true }, prev: { to: { query: { active: 'admission_grcs' } }, isSubmit: true },
next: { to: { query: { active: 'admission_form' } }, isSubmit: true }, // next: { to: { query: { active: 'admission_form' } }, isSubmit: true },
submitText: '提交申请', submitText: '提交申请',
hasButton: false,
options: { 'label-position': 'top' }, options: { 'label-position': 'top' },
items: [ items: [
{ {
......
import cjd from './cjd' import cjd from './cjd'
import byzs from './byzs' import byzs from './byzs'
// import ywjl from './ywjl' // import ywjl from './ywjl'
// import xy from './xy' import xy from './xy'
// import xfjn from './xfjn' // import xfjn from './xfjn'
import tjx from './tjx' import tjx from './tjx'
import grcs from './grcs' import grcs from './grcs'
// import yynl from './yynl' // import yynl from './yynl'
import form from './form' // import form from './form'
export default function(_this) { export default function(_this) {
return { return {
...@@ -18,7 +18,16 @@ export default function(_this) { ...@@ -18,7 +18,16 @@ export default function(_this) {
tjx(_this), tjx(_this),
grcs(_this), grcs(_this),
byzs(_this), byzs(_this),
form(_this) // form(_this)
{
required: true,
id: 'application_pay',
title: '缴纳留位费',
visible() {
return _this.hasPay
}
},
xy(_this)
] ]
} }
} }
...@@ -4,12 +4,16 @@ export default function(_this) { ...@@ -4,12 +4,16 @@ export default function(_this) {
return { return {
id: 'admission_xy', id: 'admission_xy',
title: '入学协议', title: '入学协议',
required: true,
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) {
const { attachments = [], submission_stage: submissionStage = 'FILLING' } = data.data.material const { attachments = [], submission_stage: submissionStage = 'FILLING' } = data.data.material
this.form.options.disabled = STAGE_LIST.findIndex(item => item === submissionStage) > 6 this.form.options.disabled = STAGE_LIST.findIndex(item => item === submissionStage) >= 6
const ADMISSION_AGREEMENT = attachments.filter(item => { const ADMISSION_AGREEMENT = attachments.filter(item => {
return item.file_type_id === 'ADMISSION_AGREEMENT' return item.file_type_id === 'ADMISSION_AGREEMENT'
}) })
...@@ -17,8 +21,8 @@ export default function(_this) { ...@@ -17,8 +21,8 @@ export default function(_this) {
} }
}, },
form: { form: {
prev: { to: { query: { active: 'admission_cjd' } } }, // prev: { to: { query: { active: 'admission_cjd' } } },
next: { to: { query: { active: 'admission_xfjn' } } }, // next: { to: { query: { active: 'admission_xfjn' } } },
hasButton: false, hasButton: false,
options: { 'label-position': 'top' }, options: { 'label-position': 'top' },
items: [ items: [
...@@ -32,9 +36,9 @@ export default function(_this) { ...@@ -32,9 +36,9 @@ 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: 'ADMISSION_AGREEMENT' } data: { file_type: 'ADMISSION_AGREEMENT' }
}, },
prepend: ` prepend:
<p><a href="https://webapp-pub.ezijing.com/project/sbu-plus/%E5%85%A5%E5%AD%A6%E5%8D%8F%E8%AE%AE.pdf" target="_blank" download="入学协议">下载入学协议</a></p> // <p><a href="https://webapp-pub.ezijing.com/project/sbu-plus/%E5%85%A5%E5%AD%A6%E5%8D%8F%E8%AE%AE.pdf" target="_blank" download="入学协议">下载入学协议</a></p>
<p>申请者可将签字后的入学协议原件扫描或拍照后提交。</p> `<p>申请者可将签字后的入学协议原件扫描或拍照后提交。</p>
<p>学员应仔细阅读《入学协议》以及课程介绍,如对入学协议或课程有异议,请第一时间与课程顾问咨询确认。请用A4纸打印后,在入学协议上签上姓名和日期,内容需显示完整、格式整齐、字迹清晰可辨。上传文件仅限“jpg,jpeg,pdf,png”格式,文件小于10Mb。</p> <p>学员应仔细阅读《入学协议》以及课程介绍,如对入学协议或课程有异议,请第一时间与课程顾问咨询确认。请用A4纸打印后,在入学协议上签上姓名和日期,内容需显示完整、格式整齐、字迹清晰可辨。上传文件仅限“jpg,jpeg,pdf,png”格式,文件小于10Mb。</p>
` `
} }
......
...@@ -29,10 +29,11 @@ ...@@ -29,10 +29,11 @@
<div class="dialog-tips"> <div class="dialog-tips">
<!-- <p>请确认是否已缴费,如未缴费点击下方缴费按钮 <br />(已缴费,请忽略)</p> --> <!-- <p>请确认是否已缴费,如未缴费点击下方缴费按钮 <br />(已缴费,请忽略)</p> -->
<div class="icon"><img src="https://webapp-pub.ezijing.com/project/application/images/icon_success.png" /></div> <div class="icon"><img src="https://webapp-pub.ezijing.com/project/application/images/icon_success.png" /></div>
<p>材料补充已完成,请等待招生办进一步通知。</p>
</div> </div>
<template #footer> <template #footer>
<!-- <el-button type="primary" @click="toPay">立即缴费</el-button> --> <el-button type="primary" @click="toPay" v-if="hasPay">缴纳留位费</el-button>
<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 :type="2" v-model="completeVisible"></app-complete> <app-complete :type="2" v-model="completeVisible"></app-complete>
...@@ -80,14 +81,14 @@ export default { ...@@ -80,14 +81,14 @@ export default {
return false return false
}, },
showSubmittedDialog() { showSubmittedDialog() {
return this.isSubmitted && this.currentActive === 'admission_form' return this.isSubmitted
}, },
user() { user() {
return this.$store.state.user return this.$store.state.user
}, },
hasPay() { hasPay() {
if (this.detail) { if (this.detail && this.detail.material) {
return this.detail.material.submission_stage === 'CLOSED' return this.detail.material.basic_info.sit_can_pay === '1'
} }
return false return false
} }
...@@ -136,7 +137,7 @@ export default { ...@@ -136,7 +137,7 @@ export default {
}, },
toPay() { toPay() {
this.dialogVisible = false this.dialogVisible = false
this.$router.push({ path: '/my/admission', query: { active: 'admission_xfjn' } }) this.$router.push({ path: '/my/review', query: { active: 'application_pay' } })
}, },
// 更换推荐人 // 更换推荐人
changeProvider(data) { changeProvider(data) {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<el-dialog title="缴费成功" :visible.sync="dialogVisible" :center="true" :close-on-click-modal="false" width="348px"> <el-dialog title="缴费成功" :visible.sync="dialogVisible" :center="true" :close-on-click-modal="false" width="348px">
<div class="dialog-pay"> <div class="dialog-pay">
<div class="icon"><img src="https://webapp-pub.ezijing.com/project/application/images/icon_success.png" /></div> <div class="icon"><img src="https://webapp-pub.ezijing.com/project/application/images/icon_success.png" /></div>
<p>留位费已成功缴纳,请根据招生办邮件指示办理入学手续</p>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
...@@ -44,7 +45,7 @@ export default { ...@@ -44,7 +45,7 @@ export default {
orderList() { orderList() {
// 筛选待支付订单 // 筛选待支付订单
const list = this.paymentRecords.filter(item => { const list = this.paymentRecords.filter(item => {
return item.bill_type === 'APPLICATION_FEE' && item.payment_status === 'WAITING_FOR_PAY' return item.bill_type === 'RESERVATION_FEE' && item.payment_status === 'WAITING_FOR_PAY'
}) })
// 待支付订单是否有当前订单 // 待支付订单是否有当前订单
const found = list.find(item => item.id === this.order.id) const found = list.find(item => item.id === this.order.id)
...@@ -69,7 +70,7 @@ export default { ...@@ -69,7 +70,7 @@ export default {
if (paymentRecords && paymentRecords.length) { if (paymentRecords && paymentRecords.length) {
// 获取支付成功的订单 // 获取支付成功的订单
const orderPaySuccess = paymentRecords.find(item => { const orderPaySuccess = paymentRecords.find(item => {
return item.bill_type === 'APPLICATION_FEE' && item.payment_status === 'SUCCESS' return item.bill_type === 'RESERVATION_FEE' && item.payment_status === 'SUCCESS'
}) })
if (orderPaySuccess) { if (orderPaySuccess) {
this.order = orderPaySuccess this.order = orderPaySuccess
...@@ -88,7 +89,7 @@ export default { ...@@ -88,7 +89,7 @@ export default {
return return
} }
const userId = this.user.id const userId = this.user.id
api.checkPay(order.id, { user_id: userId }).then(response => { api.checkPay(order.id, { user_id: userId }, 'RESERVATION_FEE').then(response => {
if (response.data.payment_status === 'SUCCESS') { if (response.data.payment_status === 'SUCCESS') {
this.timer && clearInterval(this.timer) this.timer && clearInterval(this.timer)
this.dialogVisible = true this.dialogVisible = true
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论