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

调整报名模块

上级 67352980
module.exports = { module.exports = {
domain: 'dev.ezijing.com', domain: 'dev.ezijing.com',
url: 'https://project-api.ezijing.com', url: 'https://project-api2.ezijing.com',
isEnableToIphoneDebugger: false, isEnableToIphoneDebugger: false,
apiBaseURL: 'https://project-api.ezijing.com/api', apiBaseURL: 'https://project-api2.ezijing.com/api',
webpack: { webpack: {
externals: { externals: {
CKEDITOR: 'window.CKEDITOR', CKEDITOR: 'window.CKEDITOR',
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -143,3 +143,35 @@ export function createSign(data) { ...@@ -143,3 +143,35 @@ export function createSign(data) {
export function getSignDocument(data) { export function getSignDocument(data) {
return httpRequest.get('/usercenter/v1/sign/document', data) return httpRequest.get('/usercenter/v1/sign/document', data)
} }
/**
* 提交留资
*/
export function submitApply(data) {
return httpRequest.post(`/enrollment/v1.0/applications/${projectId}/apply`, data, {
headers: { 'Content-Type': 'application/json' }
})
}
/**
* 查询留资
*/
export function getApply(params) {
return httpRequest.get(`/enrollment/v1.0/applications/${projectId}/apply`, params, {
headers: { 'Content-Type': 'application/json' }
})
}
/**
* 申请支付
*/
export function getPayment(params) {
return httpRequest.get(`/enrollment/v1.0/applications/${projectId}/request-payment/APPLICATION_FEE`, params)
}
/**
* 获取支付订单列表
*/
export function getPaymentList() {
return httpRequest.get(`/enrollment/v1.0/applications/${projectId}/get-payment-info/APPLICATION_FEE`)
}
...@@ -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.getPayment({ wx_open_id: this.openId, payment_method: 'WX_PAY' }).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
......
...@@ -37,7 +37,7 @@ export default { ...@@ -37,7 +37,7 @@ export default {
methods: { methods: {
// 获取订单 // 获取订单
getOrder() { getOrder() {
api.getOrder({ payment_method: 'WX_PAY_QR' }).then(response => { api.getPayment({ payment_method: 'WX_PAY_QR' }).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') {
......
...@@ -15,37 +15,23 @@ export default { ...@@ -15,37 +15,23 @@ export default {
data() { data() {
return { return {
loaded: false, loaded: false,
progress: {} isSubmited: false
} }
}, },
methods: { methods: {
// 获取报名信息 // 获取报名信息
getApplication() { getApplication() {
this.loaded = false this.loaded = false
api.getApplication().then(response => { api.getApply().then(response => {
const { progress = {} } = response.data const { error, data } = response
this.progress = progress if (parseInt(error) === 0 && data) {
// 缴费成功 this.isSubmited = true
// if (progress.PREPAYMENT.total_progress) { }
// this.$router.push('/my/account')
// } else {
// this.loaded = true
// }
this.loaded = true this.loaded = true
}) })
}, },
handleUpdate(data) { handleUpdate() {
const { progress } = data this.isSubmited = true
this.progress = progress
}
},
computed: {
isSubmited() {
const { FILLING = {} } = this.progress
if (FILLING && FILLING.basic_info) {
return !!FILLING.basic_info.progress
}
return false
} }
}, },
beforeCreate() { beforeCreate() {
......
...@@ -36,74 +36,41 @@ export default { ...@@ -36,74 +36,41 @@ export default {
const isMobile = /android|iphone|ipad|ipod/i.test(UA) const isMobile = /android|iphone|ipad|ipod/i.test(UA)
return { return {
isWechat: isMobile && /micromessenger/i.test(UA), isWechat: isMobile && /micromessenger/i.test(UA),
order: { id: '', payment_url: '' },
dialogVisible: false, dialogVisible: false,
timer: null, timer: null,
paymentRecords: [] // 所有订单 paymentRecords: [] // 所有订单
} }
}, },
computed: { computed: {
// 二维码地址
qrcodeValue() {
return this.order.payment_url
},
// 支付成功 // 支付成功
paySuccess() { paySuccess() {
return this.order.payment_status === 'SUCCESS' return !!this.paymentRecords.find(item => {
},
// 待支付订单
orderList() {
// 筛选待支付订单
const list = this.paymentRecords.filter(item => {
return item.bill_type === 'APPLICATION_FEE' && item.payment_status === 'WAITING_FOR_PAY'
})
// 待支付订单是否有当前订单
const found = list.find(item => item.id === this.order.id)
return found ? list : [...list, this.order]
}
},
methods: {
// 获取报名信息
async getApplication() {
await api.getApplication().then(response => {
const { payment_records: paymentRecords = [] } = response.data.material
// 获取支付订单
this.paymentRecords = paymentRecords
if (paymentRecords && paymentRecords.length) {
// 获取支付成功的订单
const orderPaySuccess = paymentRecords.find(item => {
return item.bill_type === 'APPLICATION_FEE' && item.payment_status === 'SUCCESS' return item.bill_type === 'APPLICATION_FEE' && item.payment_status === 'SUCCESS'
}) })
if (orderPaySuccess) {
this.order = orderPaySuccess
this.dialogVisible = true
return
} }
// 获取最后一个订单
const [lastPayment] = paymentRecords.reverse()
this.order = lastPayment
}
})
}, },
methods: {
// 检查支付状态 // 检查支付状态
checkPay(order) { checkPay(order) {
const userId = window.G.UserInfo.id api.getPaymentList().then(response => {
api.checkPay(order.id, { user_id: userId }).then(response => { if (parseInt(response.error) === 0) {
if (response.data.payment_status === 'SUCCESS') { this.paymentRecords = response.data
this.timer && clearInterval(this.timer) }
if (this.paySuccess) {
this.dialogVisible = true this.dialogVisible = true
} }
}) })
}, },
// 检测支付状态定时器 // 检测支付状态定时器
setCheckPayTimer() { setCheckPayTimer() {
this.checkPay()
this.timer && clearInterval(this.timer) this.timer && clearInterval(this.timer)
this.timer = setInterval(() => { this.timer = setInterval(() => {
if (this.paySuccess) { if (this.paySuccess) {
this.timer && clearInterval(this.timer) this.timer && clearInterval(this.timer)
return } else {
this.checkPay()
} }
this.orderList.forEach(order => this.checkPay(order))
}, 3000) }, 3000)
}, },
// 填写个人资料 // 填写个人资料
...@@ -114,8 +81,7 @@ export default { ...@@ -114,8 +81,7 @@ export default {
this.order = order this.order = order
} }
}, },
async mounted() { mounted() {
await this.getApplication()
this.setCheckPayTimer() this.setCheckPayTimer()
}, },
destroyed() { destroyed() {
......
...@@ -11,21 +11,21 @@ ...@@ -11,21 +11,21 @@
</div> </div>
<div class="form"> <div class="form">
<el-form :model="ruleForm" :rules="rules" label-width="90px" ref="ruleForm"> <el-form :model="ruleForm" :rules="rules" label-width="90px" ref="ruleForm">
<el-form-item label="姓名" prop="real_name_cn"> <el-form-item label="姓名" prop="name">
<el-input v-model="ruleForm.real_name_cn"></el-input> <el-input v-model="ruleForm.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="性别" prop="gender"> <el-form-item label="性别" prop="gender">
<el-select v-model="ruleForm.gender" style="width: 100%"> <el-select v-model="ruleForm.gender" style="width: 100%">
<el-option value="男"></el-option> <el-option value="1" label="男"></el-option>
<el-option value="女"></el-option> <el-option value="2" label="女"></el-option>
<el-option value="未知"></el-option> <el-option value="0" label="未知"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="公司" prop="company_name_cn"> <el-form-item label="公司" prop="company">
<el-input v-model="ruleForm.company_name_cn"></el-input> <el-input v-model="ruleForm.company"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="从业年限" prop="work_year"> <el-form-item label="从业年限" prop="working_years">
<el-select v-model="ruleForm.work_year" style="width: 100%"> <el-select v-model="ruleForm.working_years" style="width: 100%">
<el-option value="1年"></el-option> <el-option value="1年"></el-option>
<el-option value="2年"></el-option> <el-option value="2年"></el-option>
<el-option value="3年"></el-option> <el-option value="3年"></el-option>
...@@ -35,8 +35,8 @@ ...@@ -35,8 +35,8 @@
<el-option value="10年以上"></el-option> <el-option value="10年以上"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="手机号" prop="phone_number"> <el-form-item label="手机号" prop="phone">
<el-input v-model="ruleForm.phone_number" :maxlength="11"></el-input> <el-input v-model="ruleForm.phone" :maxlength="11"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="邮箱" prop="email"> <el-form-item label="邮箱" prop="email">
<el-input v-model="ruleForm.email"></el-input> <el-input v-model="ruleForm.email"></el-input>
...@@ -57,20 +57,20 @@ export default { ...@@ -57,20 +57,20 @@ export default {
material: {}, material: {},
progress: {}, progress: {},
ruleForm: { ruleForm: {
real_name_cn: '', name: '',
phone_number: '', phone: '',
email: '', email: '',
gender: '', gender: '',
company_name_cn: '', company: '',
work_year: '' working_years: ''
}, },
rules: { rules: {
real_name_cn: [{ required: true, message: '请输入姓名', trigger: 'blur' }], name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
phone_number: [{ required: true, pattern: /^1[3-9]\d{9}$/, message: '请输入手机号', trigger: 'blur' }], phone: [{ required: true, pattern: /^1[3-9]\d{9}$/, message: '请输入手机号', trigger: 'blur' }],
email: [{ type: 'email', required: true, message: '请输入邮箱', trigger: 'blur' }], email: [{ type: 'email', required: true, message: '请输入邮箱', trigger: 'blur' }],
gender: [{ required: true, message: '请选择性别', trigger: 'blur' }], gender: [{ required: true, message: '请选择性别', trigger: 'blur' }],
company_name_cn: [{ required: true, message: '请输入公司名称', trigger: 'blur' }], company: [{ required: true, message: '请输入公司名称', trigger: 'blur' }],
work_year: [{ required: true, message: '请选择从业年限', trigger: 'blur' }] working_years: [{ required: true, message: '请选择从业年限', trigger: 'blur' }]
} }
} }
}, },
...@@ -79,11 +79,9 @@ export default { ...@@ -79,11 +79,9 @@ export default {
this.$refs.ruleForm.validate().then(this.handleSubmitRequest) this.$refs.ruleForm.validate().then(this.handleSubmitRequest)
}, },
handleSubmitRequest() { handleSubmitRequest() {
const params = { const params = Object.assign({}, this.ruleForm, { project_id: webConf.others.projectId })
basic_info: this.ruleForm api.submitApply(params).then(response => {
} if (parseInt(response.error) === 0) {
api.updateApplication(params).then(response => {
if (response.error === '0') {
this.$emit('update', response.data) this.$emit('update', response.data)
} else { } else {
this.$message({ type: 'error', message: response.message }) this.$message({ type: 'error', message: response.message })
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论