报名逻辑修改

This commit is contained in:
fengachen
2021-09-22 19:43:19 +08:00
parent 010526f169
commit c764529621
+137 -60
View File
@@ -10,7 +10,7 @@
<section class="content"> <section class="content">
<div class="main-content"> <div class="main-content">
<section class="main-content-title"> <section class="main-content-title">
<img src="../../assets/signUpImg/meetingInfo.png" /> 会议信息 <img src="../../assets/signUpImg/meetingInfo.png"/> 会议信息
</section> </section>
<section class="main-content-info"> <section class="main-content-info">
<a-row :gutter="24"> <a-row :gutter="24">
@@ -46,7 +46,7 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<label>召开时间</label> <label>召开时间</label>
<span>{{holdtime}}</span> <span>{{ holdtime }}</span>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<label>会议内容</label> <label>会议内容</label>
@@ -56,12 +56,12 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<label>召开地点</label> <label>召开地点</label>
<span>{{holdAddress}}</span> <span>{{ holdAddress }}</span>
</a-col> </a-col>
<!-- <a-col :span="12">--> <!-- <a-col :span="12">-->
<!-- <label>备注</label>--> <!-- <label>备注</label>-->
<!-- <span>{{ currentMeetingInfo.remark }}</span>--> <!-- <span>{{ currentMeetingInfo.remark }}</span>-->
<!-- </a-col>--> <!-- </a-col>-->
</a-row> </a-row>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
@@ -85,7 +85,7 @@
</a-row> </a-row>
</section> </section>
<section class="main-content-title mt-10"> <section class="main-content-title mt-10">
<img src="../../assets/signUpImg/signUpInfo.png" /> 报名信息 <img src="../../assets/signUpImg/signUpInfo.png"/> 报名信息
</section> </section>
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<a-form :form="form"> <a-form :form="form">
@@ -143,8 +143,8 @@
validatorRules.email]"></a-input> validatorRules.email]"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<!--非国际研讨会-->
<a-col :xxl="8" :xl="12" :sm="24"> <a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType !== '3' ">
<a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-decorator="['identity',validatorRules.identify]" @change="changeIdentify"> <a-radio-group v-decorator="['identity',validatorRules.identify]" @change="changeIdentify">
<a-radio :value="1">嘉宾</a-radio> <a-radio :value="1">嘉宾</a-radio>
@@ -153,34 +153,56 @@
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<!--身份选择嘉宾并且是研讨会议出现且必填--> <a-form-item label="是否有邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 1 && meetingType === '3' "> <a-radio-group v-decorator="['inviteCode',validatorRules.inviteCode]" @change="changeInviteCode">
<a-form-item label="嘉宾类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-radio :value="1">是</a-radio>
<a-radio-group v-decorator="['guestType',validatorRules.guestType]" @change="changeGuestType"> <a-radio :value="0">否</a-radio>
<a-radio :value="1">VIP</a-radio>
<a-radio :value="2">演讲嘉宾</a-radio>
<a-radio :value="3">特邀嘉宾</a-radio>
<a-radio :value="4">合作伙伴</a-radio>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</a-col> </a-col>
<!--邀请码选择是出现填写邀请码 否选择身份-->
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '3' && !inviteCodeBool ">
<a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-decorator="['identity',validatorRules.identify]" @change="changeIdentify">
<a-radio :value="2">参会人</a-radio>
<a-radio :value="3">内部企业</a-radio>
</a-radio-group>
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-if="inviteCodeBool">
<a-form-item label="邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入邀请码"
:maxLength='50'
v-decorator="[ 'code',
validatorRules.code]"></a-input>
</a-form-item>
</a-col>
</a-row>
<!--邀请码选择是才出现-->
<a-row :gutter="24" class="center" v-if="inviteCodeBool">
<a-button @click="nextSetp" type="primary">下一步</a-button>
</a-row> </a-row>
<!--个人信息end--> <!--个人信息end-->
<!--除开国际研讨会的其他会议的显示--> <!--除开国际研讨会的其他会议的显示-->
<template v-if="meetingType !== '3' "> <template v-if="meetingType !== '3' ">
<other-meeting-form ref="formother" :selected-company="selectedCompany" :meeting-cost-bool="meetingCostBool" <other-meeting-form ref="formother" :selected-company="selectedCompany"
:meeting-cost-bool="meetingCostBool"
:identify-type="identifyType" @formData="getFormData"></other-meeting-form> :identify-type="identifyType" @formData="getFormData"></other-meeting-form>
</template> </template>
<!--国际研讨会参会人与内部企业的显示 默认不展示 --> <!--国际研讨会参会人与内部企业的显示 默认不展示 -->
<template v-if="meetingType === '3' && identifyType !== 1 && identifyType !== null "> <template v-if="meetingType === '3' && identifyType !== 1 && identifyType !== null ">
<other-meeting-form ref="formother" :meeting-type="meetingType" :selected-company="selectedCompany" :meeting-cost-bool="meetingCostBool" <other-meeting-form ref="formother" :meeting-type="meetingType" :selected-company="selectedCompany"
:meeting-cost-bool="meetingCostBool"
:identify-type="identifyType" @formData="getFormData"></other-meeting-form> :identify-type="identifyType" @formData="getFormData"></other-meeting-form>
</template> </template>
<!-- 国际研讨会身份选择嘉宾 并且是VIP--> <!-- 国际研讨会身份选择嘉宾 并且是VIP-->
<template v-if="identifyType === 1 && guestType === 1"> <template v-if="identifyType === 1 && guestType === 1">
<seminar-vip-form ref="seminarVipForm" @formData="getFormData" :identify-type="identifyType" :guest-type="guestType"></seminar-vip-form> <seminar-vip-form ref="seminarVipForm" @formData="getFormData" :identify-type="identifyType"
:guest-type="guestType"></seminar-vip-form>
</template> </template>
<!-- 国际研讨会身份选择嘉宾 并且是演讲嘉宾--> <!-- 国际研讨会身份选择嘉宾 并且是演讲嘉宾-->
<template v-if="identifyType === 1 && guestType === 2"> <template v-if="identifyType === 1 && guestType === 2">
@@ -195,7 +217,7 @@
<seminar-partner-form ref="seminarPartnerForm" @formData="getFormData"></seminar-partner-form> <seminar-partner-form ref="seminarPartnerForm" @formData="getFormData"></seminar-partner-form>
</template> </template>
<section class="meetingCost"> <section class="meetingCost">
费用合计:{{meetingCostSum}} 元 费用合计:{{ meetingCostSum }} 元
</section> </section>
<div class="action"> <div class="action">
<a-button class="submit" type="primary" @click="handleOk" v-preventclick>确定</a-button> <a-button class="submit" type="primary" @click="handleOk" v-preventclick>确定</a-button>
@@ -240,13 +262,13 @@ export default {
// 会议费用 // 会议费用
meetingMoney: '', meetingMoney: '',
// 召开时间 // 召开时间
holdtime:'', holdtime: '',
// 召开地点 // 召开地点
holdAddress:'', holdAddress: '',
confirmLoading:false, confirmLoading: false,
form: this.$form.createForm(this), form: this.$form.createForm(this),
formData:{}, formData: {},
model:{}, model: {},
labelCol: { labelCol: {
xs: {span: 24}, xs: {span: 24},
sm: {span: 6} sm: {span: 6}
@@ -268,6 +290,14 @@ export default {
rules: [{required: true, message: '请选择参会企业'}], rules: [{required: true, message: '请选择参会企业'}],
validateTrigger: 'change' validateTrigger: 'change'
}, },
inviteCode: {
rules: [{required: true, message: '请选择是否有邀请码'}],
validateTrigger: 'change'
},
code: {
rules: [{required: true, message: '请输入邀请码'}],
validateTrigger: 'blur'
},
companyContactId: { companyContactId: {
rules: [{required: true, message: '请选择参会人'}], rules: [{required: true, message: '请选择参会人'}],
validateTrigger: 'change' validateTrigger: 'change'
@@ -284,11 +314,10 @@ export default {
rules: [{required: true, message: '请选择身份'}], rules: [{required: true, message: '请选择身份'}],
validateTrigger: 'change' validateTrigger: 'change'
}, },
guestType:{ guestType: {
rules: [{required: true, message: '请选择嘉宾类型'}], rules: [{required: true, message: '请选择嘉宾类型'}],
validateTrigger: 'change' validateTrigger: 'change'
} }
}, },
// 身份类型 // 身份类型
identifyType: null, identifyType: null,
@@ -296,15 +325,17 @@ export default {
guestType: null, guestType: null,
selectedCompany: null, selectedCompany: null,
// 会议类型 // 会议类型
meetingType:'', meetingType: '',
// 会议id // 会议id
meetingId:'', meetingId: '',
// 会议费用合计 // 会议费用合计
meetingCostSum:'', meetingCostSum: '',
// 会议费用是否为0 // 会议费用是否为0
meetingCostBool:false, meetingCostBool: false,
url:{ // 是否有邀请码
add:'/meeting/payMeetingSituation/signUp' inviteCodeBool: false,
url: {
add: '/meeting/payMeetingSituation/signUp'
} }
} }
}, },
@@ -313,7 +344,7 @@ export default {
// 获取会议id // 获取会议id
let id = this.GetQueryString('id') let id = this.GetQueryString('id')
this.meetingId = id this.meetingId = id
if(id){ if (id) {
this.getMeetingInfo(id) this.getMeetingInfo(id)
} }
}, },
@@ -337,15 +368,15 @@ export default {
this.meetingCostSum = Number(this.currentMeetingInfo.meetingCosts) this.meetingCostSum = Number(this.currentMeetingInfo.meetingCosts)
} }
// 初始化召开时间 // 初始化召开时间
if(this.currentMeetingInfo.startTime){ if (this.currentMeetingInfo.startTime) {
this.holdtime = this.currentMeetingInfo.startTime + '~' + this.currentMeetingInfo.endTime this.holdtime = this.currentMeetingInfo.startTime + '~' + this.currentMeetingInfo.endTime
} }
// 初始化召开地点 // 初始化召开地点
if(this.currentMeetingInfo.venue){ if (this.currentMeetingInfo.venue) {
this.holdAddress = this.currentMeetingInfo.venue + '/' + this.currentMeetingInfo.address this.holdAddress = this.currentMeetingInfo.venue + '/' + this.currentMeetingInfo.address
} }
// 计算会议费用 会议费用为0 报名信息不显示邮寄信息与缴费信息 标协会议 // 计算会议费用 会议费用为0 报名信息不显示邮寄信息与缴费信息 标协会议
if(this.currentMeetingInfo.meetingType === '2' && this.currentMeetingInfo.meetingCostsVip){ if (this.currentMeetingInfo.meetingType === '2' && this.currentMeetingInfo.meetingCostsVip) {
// 标协会员的费用 // 标协会员的费用
let vipCost = this.currentMeetingInfo.meetingCostsVip let vipCost = this.currentMeetingInfo.meetingCostsVip
// 判断标协会员的费用是否是0 // 判断标协会员的费用是否是0
@@ -353,21 +384,21 @@ export default {
let cost = this.currentMeetingInfo.meetingCosts let cost = this.currentMeetingInfo.meetingCosts
// 判断普通会员的费用是否是0 // 判断普通会员的费用是否是0
let flag = cost === 0 || cost === '0.00' let flag = cost === 0 || cost === '0.00'
if(flag && flagVip){ if (flag && flagVip) {
// 说明会议费用为0 // 说明会议费用为0
this.meetingCostBool = true this.meetingCostBool = true
}else { } else {
this.meetingCostBool = false this.meetingCostBool = false
} }
// 其他会议值判断一个费用 // 其他会议值判断一个费用
}else if(this.currentMeetingInfo.meetingCosts){ } else if (this.currentMeetingInfo.meetingCosts) {
// 判断其他会议 // 判断其他会议
let cost = this.currentMeetingInfo.meetingCosts let cost = this.currentMeetingInfo.meetingCosts
// 判断普通会员的费用是否是0 // 判断普通会员的费用是否是0
let flag = cost === 0 || cost === '0.00' let flag = cost === 0 || cost === '0.00'
if(flag){ if (flag) {
this.meetingCostBool = true this.meetingCostBool = true
}else { } else {
this.meetingCostBool = false this.meetingCostBool = false
} }
} }
@@ -413,24 +444,24 @@ export default {
handleOk() { handleOk() {
const that = this const that = this
// 其他会议的表单验证 // 其他会议的表单验证
if( this.$refs.formother !== undefined ){ if (this.$refs.formother !== undefined) {
this.$refs.formother.handleOk() this.$refs.formother.handleOk()
} }
// 国际研讨会 VIP 演讲嘉宾 特邀嘉宾 的表单验证 // 国际研讨会 VIP 演讲嘉宾 特邀嘉宾 的表单验证
if( this.$refs.seminarVipForm !== undefined ){ if (this.$refs.seminarVipForm !== undefined) {
this.$refs.seminarVipForm.handleOk() this.$refs.seminarVipForm.handleOk()
} }
// 国际研讨会的合作伙伴的表单验证 // 国际研讨会的合作伙伴的表单验证
if( this.$refs.seminarPartnerForm !== undefined ){ if (this.$refs.seminarPartnerForm !== undefined) {
this.$refs.seminarPartnerForm.handleOk() this.$refs.seminarPartnerForm.handleOk()
} }
if(this.formData.stop){ if (this.formData.stop) {
return return
} }
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
this.confirmLoading = true this.confirmLoading = true
let submitData = Object.assign({},values,this.formData) let submitData = Object.assign({}, values, this.formData)
submitData.companyId = values.companyId.id submitData.companyId = values.companyId.id
// 会议id // 会议id
submitData.meetingId = this.meetingId submitData.meetingId = this.meetingId
@@ -439,16 +470,16 @@ export default {
console.log(submitData) console.log(submitData)
let url = this.url.add let url = this.url.add
let method = 'post' let method = 'post'
httpAction(url,submitData,method).then(res => { httpAction(url, submitData, method).then(res => {
if(res.success){ if (res.success) {
that.$emit('ok') that.$emit('ok')
that.handleCancel() that.handleCancel()
that.$message.success(res.message) that.$message.success(res.message)
that.confirmLoading = false that.confirmLoading = false
}else { } else {
that.$message.warn(res.message) that.$message.warn(res.message)
} }
}).finally( () => { }).finally(() => {
that.confirmLoading = false that.confirmLoading = false
}) })
} }
@@ -457,8 +488,8 @@ export default {
/* /*
* 获取表单的值 * 获取表单的值
* */ * */
getFormData(value){ getFormData(value) {
this.formData = Object.assign({},value) this.formData = Object.assign({}, value)
}, },
/* /*
* 改变身份 * 改变身份
@@ -494,17 +525,59 @@ export default {
that.form.setFieldsValue(pick(model, 'phone', 'email', 'post')) that.form.setFieldsValue(pick(model, 'phone', 'email', 'post'))
} }
// 设置邮寄联系人和地址 // 设置邮寄联系人和地址
if(this.$refs.formother !== undefined){ if (this.$refs.formother !== undefined) {
this.$refs.formother.setAddressVal(res.result) this.$refs.formother.setAddressVal(res.result)
} }
}) })
}, },
/*
* 是否有邀请码
* */
changeInviteCode(e) {
if (e.target.value === 1) {
// 选择是说明身份是嘉宾
this.identifyType = 1
this.inviteCodeBool = true
} else if (e.target.value === 0) {
this.inviteCodeBool = false
}
},
/* /*
* 取消 * 取消
* */ * */
handleCancel() { handleCancel() {
this.$router.go(-1) this.$router.go(-1)
}, },
/*
* 下一步
* */
nextSetp() {
console.log(this.currentMeetingInfo)
// 获取邀请码
let code = this.form.getFieldValue('code')
console.log(code)
console.log(this.currentMeetingInfo.cooperativeInvitationCode === code)
switch (code) {
// 合作伙伴
case this.currentMeetingInfo.cooperativeInvitationCode:
this.guestType = 4
break
// 演讲嘉宾
case this.currentMeetingInfo.speakerInvitationCode:
this.guestType = 2
break
// 特邀嘉宾
case this.currentMeetingInfo.guestInvitationCode:
this.guestType = 3
break
// vip
case this.currentMeetingInfo.vipInvitationCode:
this.guestType = 1
break
default :this.guestType = null
}
console.log(this.guestType)
},
addContactsOk() { addContactsOk() {
this.$refs.selectContacts.getContactsList() this.$refs.selectContacts.getContactsList()
} }
@@ -517,9 +590,6 @@ export default {
text-align: center; text-align: center;
position: relative; position: relative;
user-select: none; user-select: none;
-webkit-user-seletct: none;
-moz-user-seletct: none;
-ms-user-seletct: none;
.header-img { .header-img {
width: 100%; width: 100%;
@@ -588,6 +658,7 @@ export default {
.mt-10 { .mt-10 {
margin-top: 10px; margin-top: 10px;
} }
.action { .action {
text-align: right; text-align: right;
@@ -595,6 +666,7 @@ export default {
margin-right: 8px; margin-right: 8px;
} }
} }
.meetingCost { .meetingCost {
text-align: right; text-align: right;
padding-right: 20px; padding-right: 20px;
@@ -608,6 +680,7 @@ export default {
line-height: 50px; line-height: 50px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.item-title { .item-title {
padding-left: 40px; padding-left: 40px;
box-sizing: border-box; box-sizing: border-box;
@@ -629,4 +702,8 @@ export default {
left: 15px; left: 15px;
} }
} }
.center {
text-align: center;
margin-bottom: 10px;
}
</style> </style>