提交 8088fc80 authored 作者: pengxiaohui's avatar pengxiaohui

修改报名信息提交页

上级 74a93bda
......@@ -6,4 +6,6 @@ export default class ArticleAction {
getArticleDetail (id) { return articleApi.getArticleDetail(id).then(res => res) }
formCommit (data) { return articleApi.formCommit(data).then(res => res) }
getBanner (obj) { return articleApi.getBanner(obj).then(res => res) }
sendCheckedCode (obj) { return articleApi.sendCheckedCode(obj).then(res => res) }
register (obj) { return articleApi.register(obj).then(res => res) }
}
......@@ -7,7 +7,12 @@ export default class ScoreAPI extends BaseAPI {
getArticle = (obj = {}) => this.get('/microservices/api/article/list', obj, {})
// 获取文章详情
getArticleDetail = (id) => this.get(`/microservices/api/article/${id}/info`)
formCommit = (data) => this.post('/microservices/api/form/commit', data)
// formCommit = (data) => this.post('/microservices/api/form/commit', data)
formCommit = (data) => this.post('/microservices/api/apply/teacher-form', data)
// 获取轮播
getBanner = (obj = {}) => this.get('/microservices/api/carousel/list', obj, {})
// 发送验证码
sendCheckedCode = (obj = {}) => this.post('/usercenter/user/send-code', obj)
// 注册
register = (obj = {}) => this.post('/usercenter/user/register', obj)
}
......@@ -5,60 +5,74 @@
<div class="form-box">
<el-form ref="form" :model="form" label-width="80px" class="forms">
<el-form-item label="院校名称" label-width="110px">
<el-input v-model="form.i14"></el-input>
<el-input v-model="form.school_name"></el-input>
</el-form-item>
<el-form-item label="院校地址" label-width="110px">
<el-input v-model="form.i15"></el-input>
<el-input v-model="form.school_address"></el-input>
</el-form-item>
<el-form-item label="姓名" id="name" label-width="110px">
<el-input v-model="form.i1"></el-input>
<el-form-item label="真实姓名" id="name" label-width="110px">
<el-input v-model="form.username"></el-input>
</el-form-item>
<el-form-item label="性别" id="sex" label-width="110px">
<el-select v-model="form.i2" placeholder="请选择" class="width100">
<el-option label="男" value=""></el-option>
<el-option label="女" value=""></el-option>
<el-select v-model="form.sex" placeholder="请选择" class="width100">
<el-option label="男" value="1"></el-option>
<el-option label="女" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="民族" id="mz" label-width="110px">
<el-input v-model="form.i3"></el-input>
<el-input v-model="form.nation"></el-input>
</el-form-item>
<el-form-item label="院系及职务" label-width="110px">
<el-input v-model="form.i4"></el-input>
</el-form-item>
<el-form-item label="手机号码" label-width="110px">
<el-input v-model="form.i5"></el-input>
<el-input v-model="form.department_duty"></el-input>
</el-form-item>
<el-form-item label="身份证号" label-width="110px">
<el-input v-model="form.i6"></el-input>
<el-input v-model="form.id_num"></el-input>
</el-form-item>
<el-form-item label="邮箱" id="mail" label-width="110px">
<el-input v-model="form.i7"></el-input>
<el-form-item label="常用邮箱" id="mail" label-width="110px">
<el-input v-model="form.email"></el-input>
</el-form-item>
<el-form-item label="单/合住" id="zs" label-width="110px">
<el-select v-model="form.i8" placeholder="请选择" class="width100">
<el-option label="单住" value="单住"></el-option>
<el-option label="合住" value="合住"></el-option>
<el-select v-model="form.live_status" placeholder="请选择" class="width100">
<el-option label="单住" value="1"></el-option>
<el-option label="合住" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label-width="110px">
<div class="line">
发票信息填写
</div>
<div class="line">发票信息填写</div>
</el-form-item>
<el-form-item label="开户名" label-width="110px">
<el-input v-model="form.i9"></el-input>
<el-form-item label="发票类型" id="fplx" label-width="110px">
<el-select v-model="form.invoice_type" placeholder="请选择" class="width100">
<el-option label="增值税普通发票" value="增值税普通发票"></el-option>
<el-option label="增值税专用发票" value="增值税专用发票"></el-option>
</el-select>
</el-form-item>
<el-form-item label="开户行" label-width="110px">
<el-input v-model="form.i10"></el-input>
<el-form-item label="发票抬头" label-width="110px">
<el-input v-model="form.invoice_title"></el-input>
</el-form-item>
<el-form-item label="纳税人识别号" label-width="110px">
<el-input v-model="form.taxpayer_registration_num"></el-input>
</el-form-item>
<el-form-item label="账号" id="account" label-width="110px">
<el-input v-model="form.i11"></el-input>
<el-form-item label="地址电话" label-width="110px">
<el-input v-model="form.invoice_address_mobile"></el-input>
</el-form-item>
<el-form-item label="税号" id="sh" label-width="110px">
<el-input v-model="form.i12"></el-input>
<el-form-item label="开户行及账号" id="account" label-width="110px">
<el-input v-model="form.opening_bank_account"></el-input>
</el-form-item>
<el-form-item label="邮寄地址" label-width="110px">
<el-input v-model="form.i13"></el-input>
<el-form-item label="发票内容" id="sh" label-width="110px">
<el-input v-model="form.invoice_detail"></el-input>
</el-form-item>
<el-form-item label="手机号码" label-width="110px">
<el-input v-model="form.mobile"></el-input>
</el-form-item>
<el-form-item label="验证码" label-width="110px">
<el-input style="width: 166px" v-model="form.checked_code"></el-input>
<el-button
style="border-radius: 3px; width: 118px"
:disabled="isBtnDisabled"
@click="getCheckedCode"
id="checkedCode"
>获取验证码</el-button
>
</el-form-item>
<!-- <el-form-item label="付款方式" label-width="110px">
<el-select v-model="form.i9" placeholder="请选择" class="width110">
......@@ -87,8 +101,8 @@
</el-upload>
</el-form-item> -->
<el-form-item label-width="110px">
<el-button type="primary" @click="onSubmit"></el-button>
<el-button @click="back">返回</el-button>
<el-button style="width:200px;margin-left:44px;" type="primary" @click="onSubmit"></el-button>
<!-- <el-button @click="back">返回</el-button> -->
</el-form-item>
</el-form>
</div>
......@@ -97,6 +111,9 @@
<script>
import action from '@action'
import breadcrumb from '@/components/breadcrumb'
const IDCARD_REG = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$)/;
const MOBILE_REG = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
const EMAIL_REG = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/;
export default {
components: {
breadcrumb
......@@ -113,52 +130,38 @@ export default {
}
],
form: {
i1: '',
i2: '',
i3: '',
i4: '',
i5: '',
i6: '',
i7: '',
i8: '',
i9: '',
i10: '',
i11: '',
i12: '',
i13: '',
i14: '',
i15: ''
school_name: '',
school_address: '',
username: '',
sex: '',
nation: '',
department_duty: '',
id_num: '',
email: '',
live_status: '',
invoice_type: '',
invoice_title: '',
taxpayer_registration_num: '',
invoice_address_mobile: '',
opening_bank_account: '',
invoice_detail: '非学历教育*培训费',
mobile: '',
checked_code: ''
},
formName: {
i1: '姓名',
i2: '性别',
i3: '民族',
i4: '院系及职务',
i5: '手机号码',
i6: '身份证号',
i7: '邮箱',
i8: '单/合住',
i9: '开户名',
i10: '开户行',
i11: '账号',
i12: '税号',
i13: '邮寄地址',
i14: '院校名称',
i15: '院校地址'
}
isBtnDisabled: false
}
},
mounted() {
$('#name label').html('姓&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;名')
// $('#name label').html('姓&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;名')
$('#sex label').html('性&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;别')
$('#mz label').html('民&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;族')
$('#mail label').html('邮&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;箱')
// $('#mail label').html('邮&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;箱')
$('#zs label').html('单&nbsp;/合住')
$('#account label').html('账&nbsp;&nbsp;&nbsp;号')
$('#sh label').html('税&nbsp;&nbsp;&nbsp;号')
// $('#account label').html('账&nbsp;&nbsp;&nbsp;号')
// $('#sh label').html('税&nbsp;&nbsp;&nbsp;号')
},
methods: {
onSubmit() {
/* onSubmit() {
let flag = true
Object.keys(this.form).map(item => {
if (item === 'i11' || item === 'i12') {
......@@ -169,7 +172,7 @@ export default {
}
})
if (!flag) {
this.$message('请完善信息');
this.$message('请完善信息')
} else {
const param = {}
param.tag = 1
......@@ -186,6 +189,120 @@ export default {
})
})
}
}, */
onSubmit() {
let flag = true
// console.log(this.form)
Object.keys(this.form).map(item => {
if (this.form[item] === '') {
flag = false
}
})
if (!flag) {
this.$message('请完善信息')
} else if (!MOBILE_REG.test(this.form.mobile)) {
this.$message('手机号格式错误')
} else if (!IDCARD_REG.test(this.form.id_num)) {
this.$message('身份证号格式错误')
} else if (!EMAIL_REG.test(this.form.email)) {
this.$message('邮箱格式错误')
} else {
this.defaultRegister()
.then((res) => {
return this.sendEnrollInfo()
},(error) => {
let errorMsg = '验证码检测失败'
if (error && error.code === 3) errorMsg = '真实姓名错误'
else if (error && error.msg) errorMsg = error.msg
this.$message.error(errorMsg)
}).then((res) => {
if (res === 'enroll success') {
this.$message.success('报名信息提交成功')
}
},(error) => {
console.log('error2',error)
let errorMsg = '报名信息提交失败'
if (error && error.msg) errorMsg = error.msg
this.$message.error(errorMsg)
}).finally((data) => {
})
}
},
sendEnrollInfo() {
let promise = new Promise((resolve, reject) => {
action.articleAction.formCommit(this.form).then(res => {
if (res && res.code === 200) {
resolve('enroll success')
} else {
reject(res)
}
})
})
return promise
},
getCheckedCode() {
if (!this.form.mobile) {
this.$message('请填写手机号')
} else if (!MOBILE_REG.test(this.form.mobile)) {
this.$message('手机号格式错误')
} else {
let param = {
account: this.form.mobile,
service: 'sofia.ezijing.com'
}
action.articleAction.sendCheckedCode(param).then(res => {
if (res && res.code === 0) {
this.$message({
message: '验证码发送成功',
type: 'success'
})
} else {
this.$message({
message: res.msg || '发送验证码失败',
type: 'error'
})
}
})
this.isBtnDisabled = true
this.btnDisabledTimer()
}
},
btnDisabledTimer() {
let count = 3
let timer = setInterval(() => {
count--
if (count < 1) {
clearInterval(timer)
this.isBtnDisabled = false
$('#checkedCode').html('获取验证码')
} else {
$('#checkedCode').html(count + '秒后重发')
}
}, 1000)
},
defaultRegister() {
let param = {
account: this.form.mobile,
code: this.form.checked_code,
username: this.form.username,
password: '123456',
secret: true,
service: 'sofia.ezijing.com'
}
let promise = new Promise((resolve, reject) => {
action.articleAction.register(param).then(res => {
if (res && (res.code === 0 || res.code === 5)) {
//code: 0注册成功 5已注册
resolve('success')
} else {
reject(res)
}
})
})
/* let promise = new Promise((resolve, reject) => {
resolve('success')
}) */
return promise
},
back() {
this.$router.go(-1)
......@@ -194,17 +311,17 @@ export default {
}
</script>
<style lang="scss" scoped>
.div-form{
.div-form {
display: flex;
}
.title-form{
.title-form {
text-align: center;
font-size: 26px;
// line-height: 30px;
margin-top: 30px;
color: #222;
}
.line{
.line {
position: absolute;
top: 0;
left: 50%;
......@@ -214,29 +331,29 @@ export default {
line-height: 20px;
// margin-bottom: 30px;
}
.content-max-width{
.content-max-width {
width: 1112px;
margin: 24px auto 0 auto;
}
.form-box{
.form-box {
padding: 30px 0;
width: 400px;
margin: 0 auto;
.width100{
.width100 {
width: 100%;
}
}
.reg-form-box{
.reg-form-box {
width: 380px;
margin: 0 auto;
padding: 24px 0;
}
::v-deep{
.forms{
::v-deep {
.forms {
i {
font-size: 20px;
}
input{
input {
border-radius: 4px;
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论