【update】WASIC变更3

This commit is contained in:
fengchenchen
2023-11-02 16:45:44 +08:00
parent ed0a0d505b
commit ffb433f346
2 changed files with 44 additions and 20 deletions
@@ -37,7 +37,7 @@ const WasicTopicData = [
'value': '99', 'value': '99',
'text': '114/22焦点论坛(08:00-12:00,全体大会)', 'text': '114/22焦点论坛(08:00-12:00,全体大会)',
'title': '114/22焦点论坛(08:00-12:00,全体大会)', 'title': '114/22焦点论坛(08:00-12:00,全体大会)',
'disabled': true // 'disabled': true
} }
], ],
radioChildren: [ radioChildren: [
+43 -19
View File
@@ -394,7 +394,8 @@ export default {
}, },
choiceTopic: { choiceTopic: {
rules: [ rules: [
{required: true, message: '请选择会议名称'}, // {required: true, message: '请选择会议名称'},
{required: true, validator: this.checkChoiceTopic},
], ],
validateTrigger: ['change'] validateTrigger: ['change']
}, },
@@ -534,7 +535,8 @@ export default {
// }) // })
// 给Form赋值 // 给Form赋值
this.form.setFieldsValue({ this.form.setFieldsValue({
choiceTopic: [LinkTopicsEnums.default.index + ''] // choiceTopic: [LinkTopicsEnums.default.index + '']
choiceTopic: []
}) })
} }
}) })
@@ -671,6 +673,7 @@ export default {
return return
} }
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
console.log("---------err, values--------", err, values)
if (!err) { if (!err) {
// 判断邀请码是否错误 需要判断会议类型 以及 是否有邀请码 // 判断邀请码是否错误 需要判断会议类型 以及 是否有邀请码
if (this.codeErrorBool && this.currentMeetingInfo.meetingType === '3' && this.inviteCodeBool) { if (this.codeErrorBool && this.currentMeetingInfo.meetingType === '3' && this.inviteCodeBool) {
@@ -696,7 +699,7 @@ export default {
// 国际研讨会处理 会议名称的问题 // 国际研讨会处理 会议名称的问题
// 国际研讨会 且为WASIC 会议 // 国际研讨会 且为WASIC 会议
if (this.currentMeetingInfo.meetingType === '3' && this.currentMeetingInfo.isWasic) { if (this.currentMeetingInfo.meetingType === '3' && this.currentMeetingInfo.isWasic) {
let choiceTopicArr = submitData.choiceTopic let choiceTopicArr = submitData.choiceTopic || []
//11月27日 单选会议的处理 //11月27日 单选会议的处理
if (submitData.radioKey) { if (submitData.radioKey) {
choiceTopicArr.push(submitData.radioKey) choiceTopicArr.push(submitData.radioKey)
@@ -705,6 +708,13 @@ export default {
if (submitData.radioKeyTwo) { if (submitData.radioKeyTwo) {
choiceTopicArr.push(submitData.radioKeyTwo) choiceTopicArr.push(submitData.radioKeyTwo)
} }
// 只选择一个免费参观的不能报名成功
let judgeFlag = choiceTopicArr.filter(tt => tt !== LinkTopicsEnums.freeTwo.index + '')
if(judgeFlag.length === 0) {
this.$message.error('请选择会议名称')
that.confirmLoading = false
return
}
submitData.choiceTopic = choiceTopicArr.join(',') submitData.choiceTopic = choiceTopicArr.join(',')
} }
// 直接写一个回调函数,然后做后续的调用 // 直接写一个回调函数,然后做后续的调用
@@ -766,11 +776,7 @@ export default {
this.meetingCostSum = this.currentMeetingInfo.meetingCosts this.meetingCostSum = this.currentMeetingInfo.meetingCosts
// TODO 如果当前是WASIC会议 则需要通过会议名称判断会议的费用 // TODO 如果当前是WASIC会议 则需要通过会议名称判断会议的费用
if (this.isWasic) { if (this.isWasic) {
if (this.choiceTopicArr.length > 2) { this.calcMeetingCostSum()
this.meetingCostSum = this.currentMeetingInfo.meetingCostsThreeTopic
} else {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic
}
} }
} }
// 当前会议不是国际研讨会议 身份选择嘉宾和 内部企业的会议费用为0 // 当前会议不是国际研讨会议 身份选择嘉宾和 内部企业的会议费用为0
@@ -869,32 +875,30 @@ export default {
changeChoiceTopic(choiceTopic) { changeChoiceTopic(choiceTopic) {
console.log(choiceTopic) console.log(choiceTopic)
// 保存选择的付费主题 用于进行费用的计算 // 保存选择的付费主题 用于进行费用的计算
let arr = choiceTopic.filter(item => item && item !== (LinkTopicsEnums.free.index + '') && item !== (LinkTopicsEnums.freeTwo.index + '')) // let arr = choiceTopic.filter(item => item && item !== (LinkTopicsEnums.freeTwo.index + ''))
// this.choiceTopicArr = choiceTopic.filter(item => item && item !== (LinkTopicsEnums.free.index + '')) // this.choiceTopicArr = choiceTopic.filter(item => item && item !== (LinkTopicsEnums.free.index + ''))
this.calcMeetingCostSum()
console.log(this.choiceTopicArr)
},
calcMeetingCostSum() {
// 對单选的数据进行判断 // 對单选的数据进行判断
this.$nextTick(() => { this.$nextTick(() => {
let radioKey = this.form.getFieldValue('radioKey') let radioKey = this.form.getFieldValue('radioKey')
if (radioKey) {
arr.push(radioKey)
}
let radioKeyTwo = this.form.getFieldValue('radioKeyTwo') let radioKeyTwo = this.form.getFieldValue('radioKeyTwo')
if (radioKeyTwo) { if(radioKey && radioKeyTwo) {
arr.push(radioKeyTwo)
}
if (arr.length > 2) {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsThreeTopic this.meetingCostSum = this.currentMeetingInfo.meetingCostsThreeTopic
} else { } else {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic
} }
this.choiceTopicArr = [...arr]
}) })
console.log(this.choiceTopicArr)
}, },
changeRadioTopic(e, key) { changeRadioTopic(e, key) {
console.log(e, key) console.log(e, key)
let choiceTopic = this.form.getFieldValue('choiceTopic') let choiceTopic = this.form.getFieldValue('choiceTopic')
this.changeChoiceTopic(choiceTopic) this.changeChoiceTopic(choiceTopic)
this.$nextTick(() => {
this.form.validateFields(['choiceTopic'])
})
}, },
/* /*
* 是否有邀请码 * 是否有邀请码
@@ -1042,6 +1046,26 @@ export default {
} else { } else {
callback('请输入邀请码') callback('请输入邀请码')
} }
},
// 验证选择会议名称的情况
checkChoiceTopic(rules, value, callback) {
console.log(value)
let arr = []
if (value && value.length > 0) {
arr = [...value]
}
let radioKey = this.form.getFieldValue('radioKey')
let radioKeyTwo = this.form.getFieldValue('radioKeyTwo')
if(radioKey || radioKeyTwo) {
callback()
} else {
arr = arr.filter(tt => tt !== LinkTopicsEnums.freeTwo.index + '')
if(arr.length === 0) {
callback('请至少选择一个非参观类会议')
} else {
callback()
}
}
} }
} }
} }