【update】WASIC 增加日期的分类 和每天只能选择一个活动

This commit is contained in:
fengchenchen
2023-11-02 10:54:35 +08:00
parent 8301845477
commit 08213ca8db
5 changed files with 389 additions and 84 deletions
+1
View File
@@ -62,5 +62,6 @@ export const InvoiceTypeEnums = {
// 免费专题 // 免费专题
export const LinkTopicsEnums = { export const LinkTopicsEnums = {
free: { name: '免费专题', index: 6 }, free: { name: '免费专题', index: 6 },
freeTwo: { name: '免费专题', index: 8 },
default: {name: '114/22焦点论坛(默认专题)', index: 99} default: {name: '114/22焦点论坛(默认专题)', index: 99}
} }
+63 -6
View File
@@ -32,9 +32,15 @@
<a-row :gutter="24" class="flex-col" v-if="model.isWasic"> <a-row :gutter="24" class="flex-col" v-if="model.isWasic">
<a-col :span="12"> <a-col :span="12">
<label>关联会议:</label> <label>关联会议:</label>
<span> <div>
<span class="block-span" v-for="item in (model.linkTopics_dictText || '').split(',')" :key="item">{{item}}</span> <div class="word-beak block-span" v-for="item in wasicLinkTopics" :key="item.name">
</span> <div class="topic-title">{{ item.name }}</div>
<div v-for="innerItem in item.children" :key="'a_checked_'+ innerItem.value">{{ innerItem.text }}</div>
</div>
</div>
<!--<span>-->
<!--<span class="block-span" v-for="item in (model.linkTopics_dictText || '').split(',')" :key="item">{{item}}</span>-->
<!--</span>-->
</a-col> </a-col>
</a-row> </a-row>
</template> </template>
@@ -221,9 +227,15 @@
<!--是否为WASIC字段判断--> <!--是否为WASIC字段判断-->
<a-col :span="12" v-if="model.isWasic"> <a-col :span="12" v-if="model.isWasic">
<label>会议名称:</label> <label>会议名称:</label>
<span> <div>
<span class="block-span" v-for="item in (situationInfo.choiceTopic_dictText || '').split(',')" :key="item">{{item}}</span> <div class="word-beak block-span" v-for="item in wasicChoiceTopics" :key="item.name">
</span> <div class="topic-title">{{ item.name }}</div>
<div v-for="innerItem in item.children" :key="'a_checked_'+ innerItem.value">{{ innerItem.text }}</div>
</div>
</div>
<!--<span>-->
<!-- <span class="block-span" v-for="item in (situationInfo.choiceTopic_dictText || '').split(',')" :key="item">{{item}}</span>-->
<!--</span>-->
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<label>手机号:</label> <label>手机号:</label>
@@ -742,6 +754,7 @@ import EditSignUpInfo from '@views/meetingActivity/modules/EditSignUpInfo'
// 问题征集的表格 // 问题征集的表格
import ProblemCollectionTable from './modules/ProblemCollectionTable' import ProblemCollectionTable from './modules/ProblemCollectionTable'
import FileUploadModal from './modules/FileUploadModal' import FileUploadModal from './modules/FileUploadModal'
import WasicTopicData from "./modules/wasicStaticData";
const columns = [ const columns = [
{ {
@@ -836,6 +849,10 @@ export default {
showDetailBool: true, showDetailBool: true,
hasQuestionList: false, // 是否显示问题征集表格 hasQuestionList: false, // 是否显示问题征集表格
// 关联会议展示的字段
wasicLinkTopics: [],
// 选择的会议展示的信息
wasicChoiceTopics: []
} }
}, },
computed: { computed: {
@@ -870,6 +887,41 @@ export default {
} }
}, },
methods: { methods: {
// 处理国际研讨会-WASIC-已经选择的数据如何展示
handleWasicLinkTopics(currentMeetingInfo, dictKey) {
dictKey = dictKey || 'linkTopics'
if(currentMeetingInfo[dictKey] && currentMeetingInfo[dictKey + '_dictText']) {
let topicArr = currentMeetingInfo[dictKey].split(',')
let topicTextArr = currentMeetingInfo[dictKey + '_dictText'].split(',')
let opeArr = JSON.parse(JSON.stringify(WasicTopicData))
let resultArr = []
opeArr.map(tt => {
// 先查询子集中
tt.allChildren = [...tt.children, ...(tt.radioChildren || [])]
let ele = tt.allChildren.find(item => topicArr.includes(item.value))
if(ele) {
let dateItem = {
name: tt.name,
date: tt.date,
children: []
}
tt.allChildren.map(innerItem => {
let index = topicArr.findIndex(a => a === innerItem.value)
if(index > -1) {
dateItem.children.push({
'value': innerItem.value,
'text': topicTextArr[index],
'title': topicTextArr[index]
})
}
})
resultArr.push(dateItem)
}
})
return resultArr
}
},
// 是否显示文件查看 // 是否显示文件查看
async changeShowDetailBool() { async changeShowDetailBool() {
// 增加判断,等后端接口开发完成后再做处理 // 增加判断,等后端接口开发完成后再做处理
@@ -940,6 +992,8 @@ export default {
this.queryMeetingInfoById(param.id).then(res => { this.queryMeetingInfoById(param.id).then(res => {
// 会议详情 // 会议详情
this.model = Object.assign({}, res) this.model = Object.assign({}, res)
// 处理WASIC关联会议字段的展示信息
this.wasicLinkTopics = this.handleWasicLinkTopics(this.model)
// if((this.model.checkResult == 1 && this.model.registerCheckResult == 1)){ // if((this.model.checkResult == 1 && this.model.registerCheckResult == 1)){
// this.showDetailBool =true // this.showDetailBool =true
// }else{ // }else{
@@ -952,6 +1006,7 @@ export default {
this.model = Object.assign({}, param) this.model = Object.assign({}, param)
// 会议进来的查询参会人信息 // 会议进来的查询参会人信息
await this.getSingUpUserInfoFunc(param) await this.getSingUpUserInfoFunc(param)
this.wasicLinkTopics = this.handleWasicLinkTopics(this.model)
} }
setTimeout(() => { setTimeout(() => {
this.situationInfoLoading = false this.situationInfoLoading = false
@@ -965,6 +1020,8 @@ export default {
getSingUpUserInfo({id: param.situationId}).then(res => { getSingUpUserInfo({id: param.situationId}).then(res => {
if (res.success) { if (res.success) {
this.situationInfo = res.result this.situationInfo = res.result
// WASIC 对已经选择的会议 做日期等格式的处理
this.wasicChoiceTopics = this.handleWasicLinkTopics(this.situationInfo, 'choiceTopic')
// 对当前的会议状态做判断,处理当前详情模态框是否显示问题征集 表格 // 对当前的会议状态做判断,处理当前详情模态框是否显示问题征集 表格
let registerProcess = Number(this.situationInfo.registerProcess) let registerProcess = Number(this.situationInfo.registerProcess)
// 2022-11-10修改成报名完 就可以提问题 // 2022-11-10修改成报名完 就可以提问题
@@ -0,0 +1,73 @@
const WasicTopicData = [
{
name: '11月27日',
date: '11月27日',
radioKey: 'radioKey',
children: [
{
'value': '6',
'text': '国际发展论坛(09:00-15:00)',
'title': '国际发展论坛(09:00-15:00)'
}
],
radioChildren: [
{
'value': '5',
'text': '弱势道路交通参与者(VRU)保护专题(14:00-18:00)',
'title': '弱势道路交通参与者(VRU)保护专题(14:00-18:00)'
},
{
'value': '2',
'text': '智能网联汽车标准化领航及标准路线图专题(14:00-18:00)',
'title': '智能网联汽车标准化领航及标准路线图专题(14:00-18:00)'
},
{
'value': '4',
'text': '动力电池安全专题(14:00-18:00)',
'title': '动力电池安全专题(14:00-18:00)'
}
]
},
{
name: '11月28日',
date: '11月28日',
radioKey: 'radioKeyTwo',
children: [
{
'value': '99',
'text': '114/22焦点论坛(08:00-12:00,全体大会)',
'title': '114/22焦点论坛(08:00-12:00,全体大会)',
'disabled': true
}
],
radioChildren: [
{
'value': '1',
'text': '汽车网络安全与数据安全标准合规专题(14:00-18:00)',
'title': '汽车网络安全与数据安全标准合规专题(14:00-18:00)'
},
{
'value': '3',
'text': '汽车低碳专题(14:00-18:00)',
'title': '汽车低碳专题(14:00-18:00)'
},
{
'value': '7',
'text': '无人小车专题(14:00-18:00)',
'title': '无人小车专题(14:00-18:00)'
}
]
},
{
name: '11月29日',
date: '11月29日',
children: [
{
'value': '8',
'text': '湾区智联试验场参观(8:30-10:30)',
'title': '湾区智联试验场参观(8:30-10:30)'
}
]
}
]
export default WasicTopicData
+23
View File
@@ -44,6 +44,27 @@
<span> {{ item.meetingContactsName + (item.meetingContactsPhone ?':': '') + item.meetingContactsPhone + ' ' }}</span> <span> {{ item.meetingContactsName + (item.meetingContactsPhone ?':': '') + item.meetingContactsPhone + ' ' }}</span>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>酒店名称:</label><span>{{ currentMeetingInfo.hotelName }}</span>
</a-col>
<a-col :span="12">
<label>酒店地址:</label><span>{{ currentMeetingInfo.hotelAddress }}</span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12" v-for="(item,index) in currentMeetingInfo.hotelContactsList"
:key="index">
<label class="label">酒店联系人及手机号:</label>
<span class="mul-row-content">
<span
class=""
>{{ item.hotelContacts }} {{ item.hotelContacts ? ':' : '' }} {{ item.hotelContactsPhone + ' ' }}</span>
</span>
</a-col>
</a-row>
<!-- 标协会议(标准宣贯、学习培训) -是否具有问题征集 --> <!-- 标协会议(标准宣贯、学习培训) -是否具有问题征集 -->
<template v-if="currentMeetingInfo.meetingType === '2' && (currentMeetingInfo.tbMeetingType === '1' || currentMeetingInfo.tbMeetingType === '2')"> <template v-if="currentMeetingInfo.meetingType === '2' && (currentMeetingInfo.tbMeetingType === '1' || currentMeetingInfo.tbMeetingType === '2')">
<a-row :gutter="24"> <a-row :gutter="24">
@@ -374,4 +395,6 @@ export default {
.block-span{ .block-span{
display: block; display: block;
} }
</style> </style>
+229 -78
View File
@@ -42,16 +42,38 @@
<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.estimatedNumber }}</span>--> <!-- <span>{{ currentMeetingInfo.estimatedNumber }}</span>-->
<!-- </a-col>--> <!-- </a-col>-->
</a-row> </a-row>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12" v-for="(item,index) of currentMeetingInfo.meetingContactsList" <a-col :span="12" v-for="(item,index) of currentMeetingInfo.meetingContactsList"
:key="index"> :key="index">
<label>会议联系人及手机号:</label> <label>会议联系人及手机号:</label>
<span> {{ item.meetingContactsName + (item.meetingContactsPhone ?':': '') + item.meetingContactsPhone + ' ' }}</span> <span> {{
item.meetingContactsName + (item.meetingContactsPhone ? ':' : '') + item.meetingContactsPhone + ' '
}}</span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>酒店名称:</label><span>{{ currentMeetingInfo.hotelName }}</span>
</a-col>
<a-col :span="12">
<label>酒店地址:</label><span>{{ currentMeetingInfo.hotelAddress }}</span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12" v-for="(item,index) in currentMeetingInfo.hotelContactsList"
:key="index">
<label class="label">酒店联系人及手机号:</label>
<span class="mul-row-content">
<span
class=""
>{{ item.hotelContacts }} {{ item.hotelContacts ? ':' : '' }} {{ item.hotelContactsPhone + ' ' }}</span>
</span>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="24"> <a-row :gutter="24">
@@ -85,9 +107,12 @@
<a-row :gutter="24" v-if="isWasic"> <a-row :gutter="24" v-if="isWasic">
<a-col :span="24" class="flex-col"> <a-col :span="24" class="flex-col">
<label style="flex-shrink: 0">关联会议:</label> <label style="flex-shrink: 0">关联会议:</label>
<span> <div>
<span class="word-beak block-span" v-for="item in currentMeetingInfo.linkTopics_dictText.split(',')" :key="item">{{item}}</span> <div class="word-beak block-span" v-for="item in wasicLinkTopics" :key="item.name">
</span> <div class="topic-title">{{ item.name }}</div>
<div v-for="innerItem in item.children" :key="'a_checked_'+ innerItem.value">{{ innerItem.text }}</div>
</div>
</div>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
@@ -150,25 +175,6 @@
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</a-col> </a-col>
<template v-if="meetingType === '3' ">
<!-- 国际研讨会 WASIC 增加会议名称的选择-->
<a-col :xxl="8" :xl="12" :sm="24" v-if="currentMeetingInfo.isWasic">
<a-form-item label="会议名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-multi-select-tag
v-decorator="['choiceTopic',validatorRules.choiceTopic]"
:trigger-change="true"
style="width: 100%"
dict-code="linkTopics"
placeholder="请选择会议名称"
type="checkbox"
class="meeting-form-multi-select"
:options="linkTopicsOptionArr"
@change="changeChoiceTopic"
>
</j-multi-select-tag>
</a-form-item>
</a-col>
</template>
<a-col :xxl="8" :xl="12" :sm="24"> <a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="是否有邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="是否有邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-decorator="['inviteCode',validatorRules.inviteCode]" @change="changeInviteCode"> <a-radio-group v-decorator="['inviteCode',validatorRules.inviteCode]" @change="changeInviteCode">
@@ -191,10 +197,55 @@
<a-col :xxl="8" :xl="12" :sm="24" v-if="inviteCodeBool"> <a-col :xxl="8" :xl="12" :sm="24" v-if="inviteCodeBool">
<a-form-item label="邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol">
<invite-code v-decorator="[ 'invitationCode', validatorRules.invitationCode]" @change-value="validateCode"></invite-code> <invite-code v-decorator="[ 'invitationCode', validatorRules.invitationCode]"
@change-value="validateCode"></invite-code>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<template v-if="meetingType === '3' ">
<a-row :gutter="24">
<!-- 国际研讨会 WASIC 增加会议名称的选择-->
<a-col :xxl="8" :xl="12" :sm="24" v-if="currentMeetingInfo.isWasic">
<a-form-item label="会议名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
<!--<j-multi-select-tag-->
<!-- v-decorator="['choiceTopic',validatorRules.choiceTopic]"-->
<!-- :trigger-change="true"-->
<!-- style="width: 100%"-->
<!-- dict-code="linkTopics"-->
<!-- placeholder="请选择会议名称"-->
<!-- type="checkbox"-->
<!-- class="meeting-form-multi-select"-->
<!-- :options="linkTopicsOptionArr"-->
<!-- @change="changeChoiceTopic"-->
<!--&gt;-->
<!--</j-multi-select-tag>-->
<a-checkbox-group class="meeting-form-multi-select" @change="changeChoiceTopic"
v-decorator="['choiceTopic',validatorRules.choiceTopic]"
:disabled="model.inAccount === 1">
<div v-for="(item, index) in showTopicsArr" :key="'showTopicTitle_'+ index">
<div class="topic-title">{{ item.name }}</div>
<div>
<a-checkbox v-for="item in item.children" :key="'a_checkbox_'+ item.value"
:value="item.value" :disabled="item.disabled">{{ item.text }}
</a-checkbox>
</div>
<div class="radio-div" v-if="item.radioChildren">
<a-radio-group v-decorator="[item.radioKey]"
@change="(e) => changeRadioTopic(e, item.radioKey)"
:disabled="model.inAccount === 1">
<a-radio v-for="radioItem in item.radioChildren" :key="'a_radio_'+ radioItem.value"
:value="radioItem.value" :disabled="radioItem.disabled">{{ radioItem.text }}
</a-radio>
</a-radio-group>
</div>
</div>
</a-checkbox-group>
</a-form-item>
</a-col>
</a-row>
</template>
<!--邀请码选择是才出现--> <!--邀请码选择是才出现-->
<a-row :gutter="24" class="center" v-if="inviteCodeBool"> <a-row :gutter="24" class="center" v-if="inviteCodeBool">
<a-button @click="nextSetp" type="primary">下一步</a-button> <a-button @click="nextSetp" type="primary">下一步</a-button>
@@ -205,7 +256,7 @@
<other-meeting-form ref="formother" :selected-company="selectedCompany" <other-meeting-form ref="formother" :selected-company="selectedCompany"
:meeting-cost-bool="meetingCostBool" :meeting-cost-bool="meetingCostBool"
:identify-type="identifyType" @formData="getFormData" :identify-type="identifyType" @formData="getFormData"
></other-meeting-form> ></other-meeting-form>
</template> </template>
<!--国际研讨会参会人与内部企业的显示 默认不展示 --> <!--国际研讨会参会人与内部企业的显示 默认不展示 -->
@@ -266,7 +317,7 @@
</template> </template>
<script> <script>
import {getMeetInfoById,validateStandard, judgeInternalEnterprise, judgeMeetingCode} from '@api/incomePaymentsApi' import {getMeetInfoById, validateStandard, judgeInternalEnterprise, judgeMeetingCode} from '@api/incomePaymentsApi'
import SelectContacts from '@comp/company/SelectContacts' import SelectContacts from '@comp/company/SelectContacts'
import CompanySelect from '@comp/company/CompanySelect' import CompanySelect from '@comp/company/CompanySelect'
import {httpAction} from '@api/manage' import {httpAction} from '@api/manage'
@@ -280,8 +331,8 @@ import SeminarPartnerForm from '@comp/signUpForm/SeminarPartnerForm'
import InviteCode from './InviteCode' import InviteCode from './InviteCode'
import InvoiceConfirmModal from './modules/InvoiceConfirmModal' import InvoiceConfirmModal from './modules/InvoiceConfirmModal'
import {LinkTopicsEnums} from '../../enums/commonEnum' import {LinkTopicsEnums} from '../../enums/commonEnum'
import {getLinkTopics} from "../../api/incomePaymentsApi"; import {getLinkTopics} from '../../api/incomePaymentsApi'
import WasicTopicData from '../MessagePage/modules/wasicStaticData'
export default { export default {
name: 'SignUpPage', name: 'SignUpPage',
@@ -310,6 +361,8 @@ export default {
isWasic: false, isWasic: false,
// 可选会议名称的数组 // 可选会议名称的数组
linkTopicsOptionArr: [], linkTopicsOptionArr: [],
// WASIC可选会议的数组-前端写死
showTopicsArr: [...WasicTopicData],
// 召开时间 // 召开时间
holdtime: '', holdtime: '',
// 召开地点 // 召开地点
@@ -401,7 +454,9 @@ export default {
// 当前参会企业是否是内部企业 // 当前参会企业是否是内部企业
isInternalEnterprise: false, isInternalEnterprise: false,
// 国际研讨会-WASIC-选择关联客户的数组 // 国际研讨会-WASIC-选择关联客户的数组
choiceTopicArr: [] choiceTopicArr: [],
// 关联会议展示的字段
wasicLinkTopics: [],
} }
}, },
created() { created() {
@@ -415,20 +470,64 @@ export default {
} }
}, },
methods: { methods: {
// 处理国际研讨会-WASIC-已经选择的数据如何展示
handleWasicLinkTopics(currentMeetingInfo) {
if(currentMeetingInfo.linkTopics && currentMeetingInfo.linkTopics_dictText) {
let topicArr = currentMeetingInfo.linkTopics.split(',')
let topicTextArr = currentMeetingInfo.linkTopics_dictText.split(',')
let opeArr = JSON.parse(JSON.stringify(WasicTopicData))
let resultArr = []
opeArr.map(tt => {
// 先查询子集中
tt.allChildren = [...tt.children, ...(tt.radioChildren || [])]
let ele = tt.allChildren.find(item => topicArr.includes(item.value))
if(ele) {
let dateItem = {
name: tt.name,
date: tt.date,
children: []
}
tt.allChildren.map(innerItem => {
let index = topicArr.findIndex(a => a === innerItem.value)
if(index > -1) {
dateItem.children.push({
'value': innerItem.value,
'text': topicTextArr[index],
'title': topicTextArr[index]
})
}
})
resultArr.push(dateItem)
}
})
return resultArr
}
},
// 获取国际研讨会-能选择课题的数据字典数据 // 获取国际研讨会-能选择课题的数据字典数据
getLinkTopicsOptionArr() { getLinkTopicsOptionArr() {
getLinkTopics({id: this.meetingId}).then(res =>{ getLinkTopics({id: this.meetingId}).then(res => {
if(res.success) { if (res.success) {
this.linkTopicsOptionArr = res.result || [] this.linkTopicsOptionArr = res.result || []
// 操作默认的课题,默认的课题不能删除 // 页面上展示的文字 按照数据字段返回的展示
this.linkTopicsOptionArr.map(item => { this.showTopicsArr.map(tt => {
if((item.value + '') === (LinkTopicsEnums.default.index + '')) { tt.children.map(item => {
item.disabled = true let ele = this.linkTopicsOptionArr.find(a => a.value + '' === item.value)
} if(ele) {
item.text = ele.text
item.title = ele.title
}
})
}) })
// 操作默认的课题,默认的课题不能删除
// this.linkTopicsOptionArr.map(item => {
// if((item.value + '') === (LinkTopicsEnums.default.index + '')) {
// item.disabled = true
// }
// })
// 给Form赋值 // 给Form赋值
this.form.setFieldsValue({ this.form.setFieldsValue({
choiceTopic: LinkTopicsEnums.default.index + '' choiceTopic: [LinkTopicsEnums.default.index + '']
}) })
} }
}) })
@@ -448,13 +547,15 @@ export default {
this.meetingMoney = `非标协会员(${this.currentMeetingInfo.meetingCosts}/人) 标协会员(${this.currentMeetingInfo.meetingCostsVip}/人)` this.meetingMoney = `非标协会员(${this.currentMeetingInfo.meetingCosts}/人) 标协会员(${this.currentMeetingInfo.meetingCostsVip}/人)`
// 费用合计 // 费用合计
this.meetingCostSum = this.currentMeetingInfo.meetingCosts this.meetingCostSum = this.currentMeetingInfo.meetingCosts
} else if (this.currentMeetingInfo.meetingType === '3' && this.currentMeetingInfo.isWasic){ } else if (this.currentMeetingInfo.meetingType === '3' && this.currentMeetingInfo.isWasic) {
// 国际研讨会 且为WASIC 会议 // 国际研讨会 且为WASIC 会议
this.isWasic = true this.isWasic = true
this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic
this.meetingMoney = `114/22焦点论坛+国际发展论坛+ 2个及以上专题研讨(${this.currentMeetingInfo.meetingCostsThreeTopic}/人); this.meetingMoney = `114/22焦点论坛+国际发展论坛+ 2个及以上专题研讨(${this.currentMeetingInfo.meetingCostsThreeTopic}/人);
114/22焦点论坛+国际发展论坛+ 1个及以下专题研讨(${this.currentMeetingInfo.meetingCostsTwoTopic}/人)` 114/22焦点论坛+国际发展论坛+ 1个及以下专题研讨(${this.currentMeetingInfo.meetingCostsTwoTopic}/人)`
this.getLinkTopicsOptionArr() this.getLinkTopicsOptionArr()
// 处理WASIC关联会议字段的展示信息
this.wasicLinkTopics = this.handleWasicLinkTopics(this.currentMeetingInfo)
} else { } else {
this.meetingMoney = `${this.currentMeetingInfo.meetingCosts}/人` this.meetingMoney = `${this.currentMeetingInfo.meetingCosts}/人`
// 费用合计 // 费用合计
@@ -582,9 +683,23 @@ export default {
// 嘉宾类型 // 嘉宾类型
submitData.guestType = values.guestType || this.guestType submitData.guestType = values.guestType || this.guestType
// 会议费用为0 参数设置需要发票为0 // 会议费用为0 参数设置需要发票为0
if(this.meetingCostSum === '0.00' ){ if (this.meetingCostSum === '0.00') {
submitData.needInvoice = 0 submitData.needInvoice = 0
} }
// 国际研讨会处理 会议名称的问题
// 国际研讨会 且为WASIC 会议
if (this.currentMeetingInfo.meetingType === '3' && this.currentMeetingInfo.isWasic) {
let choiceTopicArr = submitData.choiceTopic
//11月27日 单选会议的处理
if (submitData.radioKey) {
choiceTopicArr.push(submitData.radioKey)
}
//11月28日 单选会议的处理
if (submitData.radioKeyTwo) {
choiceTopicArr.push(submitData.radioKeyTwo)
}
submitData.choiceTopic = choiceTopicArr.join(',')
}
// 直接写一个回调函数,然后做后续的调用 // 直接写一个回调函数,然后做后续的调用
const callbackFunc = (submitData, that) => { const callbackFunc = (submitData, that) => {
let url = that.url.add let url = that.url.add
@@ -594,7 +709,7 @@ export default {
that.$emit('ok') that.$emit('ok')
let messageText = '报名成功' let messageText = '报名成功'
// 标协会议增加不同的提示语 // 标协会议增加不同的提示语
if(submitData.meetingType === '2' && Number(this.currentMeetingInfo.isAddQuestion)) { if (submitData.meetingType === '2' && Number(this.currentMeetingInfo.isAddQuestion)) {
messageText = '报名成功!请到会议详情页-问题征集处进行提问' messageText = '报名成功!请到会议详情页-问题征集处进行提问'
} }
// that.$message.success(res.message) // that.$message.success(res.message)
@@ -603,7 +718,7 @@ export default {
}) })
setTimeout(() => { setTimeout(() => {
that.handleCancel() that.handleCancel()
},500) }, 500)
that.confirmLoading = false that.confirmLoading = false
} else { } else {
that.$message.warn(res.message) that.$message.warn(res.message)
@@ -638,13 +753,13 @@ export default {
this.guestType = null this.guestType = null
} }
// 当前会议是国际研讨会 并且选择身份是内部企业的会议费用为0 // 当前会议是国际研讨会 并且选择身份是内部企业的会议费用为0
if(e.target.value === 3 && this.currentMeetingInfo.meetingType === '3' ){ if (e.target.value === 3 && this.currentMeetingInfo.meetingType === '3') {
this.meetingCostSum = '0.00' this.meetingCostSum = '0.00'
}else { } else {
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) { if (this.choiceTopicArr.length > 2) {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsThreeTopic this.meetingCostSum = this.currentMeetingInfo.meetingCostsThreeTopic
} else { } else {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic
@@ -652,14 +767,14 @@ export default {
} }
} }
// 当前会议不是国际研讨会议 身份选择嘉宾和 内部企业的会议费用为0 // 当前会议不是国际研讨会议 身份选择嘉宾和 内部企业的会议费用为0
if(e.target.value !== 2 && this.currentMeetingInfo.meetingType !== '3' ){ if (e.target.value !== 2 && this.currentMeetingInfo.meetingType !== '3') {
this.meetingCostSum = '0.00' this.meetingCostSum = '0.00'
}else { } else {
// 会议是标协会议的话 需要判断企业是否是标协会员的企业 // 会议是标协会议的话 需要判断企业是否是标协会员的企业
if(this.currentMeetingInfo.meetingType === '2' && this.isStandardBool){ if (this.currentMeetingInfo.meetingType === '2' && this.isStandardBool) {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsVip this.meetingCostSum = this.currentMeetingInfo.meetingCostsVip
}else if(this.currentMeetingInfo.meetingType === '2'){ } else if (this.currentMeetingInfo.meetingType === '2') {
this.meetingCostSum = this.currentMeetingInfo.meetingCosts this.meetingCostSum = this.currentMeetingInfo.meetingCosts
} }
} }
@@ -683,7 +798,7 @@ export default {
this.isStandardBool = res.result this.isStandardBool = res.result
if (this.isStandardBool) { if (this.isStandardBool) {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsVip this.meetingCostSum = this.currentMeetingInfo.meetingCostsVip
}else { } else {
this.meetingCostSum = this.currentMeetingInfo.meetingCosts this.meetingCostSum = this.currentMeetingInfo.meetingCosts
} }
}) })
@@ -706,7 +821,7 @@ export default {
* */ * */
changeContact(val) { changeContact(val) {
// 监听删除联系人的时候 清除对应的表单赋值 // 监听删除联系人的时候 清除对应的表单赋值
if(val === undefined){ if (val === undefined) {
this.form.resetFields(['phone']) this.form.resetFields(['phone'])
} }
const that = this const that = this
@@ -731,7 +846,7 @@ export default {
id: id id: id
} }
judgeInternalEnterprise(params).then(res => { judgeInternalEnterprise(params).then(res => {
if(res.success) { if (res.success) {
this.isInternalEnterprise = res.result !== 'false' this.isInternalEnterprise = res.result !== 'false'
} }
}).finally(() => { }).finally(() => {
@@ -745,17 +860,35 @@ export default {
}, },
// 选择的课题发生改变 // 选择的课题发生改变
changeChoiceTopic(choiceTopic) { changeChoiceTopic(choiceTopic) {
console.log(choiceTopic)
// 保存选择的付费主题 用于进行费用的计算 // 保存选择的付费主题 用于进行费用的计算
this.choiceTopicArr = (choiceTopic || '').split(',') let arr = choiceTopic.filter(item => item && item !== (LinkTopicsEnums.free.index + '') && item !== (LinkTopicsEnums.freeTwo.index + ''))
this.choiceTopicArr = this.choiceTopicArr.filter(item => item && item !== (LinkTopicsEnums.free.index + '')) // this.choiceTopicArr = choiceTopic.filter(item => item && item !== (LinkTopicsEnums.free.index + ''))
if(this.choiceTopicArr.length > 2) { // 對单选的数据进行判断
this.meetingCostSum = this.currentMeetingInfo.meetingCostsThreeTopic this.$nextTick(() => {
} else { let radioKey = this.form.getFieldValue('radioKey')
this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic if (radioKey) {
} arr.push(radioKey)
}
let radioKeyTwo = this.form.getFieldValue('radioKeyTwo')
if (radioKeyTwo) {
arr.push(radioKeyTwo)
}
if (arr.length > 2) {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsThreeTopic
} else {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic
}
this.choiceTopicArr = [...arr]
})
console.log(this.choiceTopicArr) console.log(this.choiceTopicArr)
}, },
changeRadioTopic(e, key) {
console.log(e, key)
let choiceTopic = this.form.getFieldValue('choiceTopic')
this.changeChoiceTopic(choiceTopic)
},
/* /*
* 是否有邀请码 * 是否有邀请码
* */ * */
@@ -789,8 +922,8 @@ export default {
* 下一步 * 下一步
* */ * */
nextSetp() { nextSetp() {
this.form.validateFields(['invitationCode'],(err) => { this.form.validateFields(['invitationCode'], (err) => {
if(!err){ if (!err) {
// 获取邀请码 // 获取邀请码
let currentCode = this.form.getFieldValue('invitationCode') let currentCode = this.form.getFieldValue('invitationCode')
let code = currentCode.substring(0, currentCode.indexOf('-')) let code = currentCode.substring(0, currentCode.indexOf('-'))
@@ -827,14 +960,13 @@ export default {
}) })
}, },
/* /*
* 校验邀请码是否正确 给出提示 * 校验邀请码是否正确 给出提示
* */ * */
validateCode() { validateCode() {
let currentCode = this.form.getFieldValue('invitationCode') let currentCode = this.form.getFieldValue('invitationCode')
if(currentCode === undefined || currentCode === ''){ if (currentCode === undefined || currentCode === '') {
return return
} }
let code = currentCode.substring(0, currentCode.indexOf('-')) let code = currentCode.substring(0, currentCode.indexOf('-'))
@@ -873,7 +1005,7 @@ export default {
this.meetingCostSum = this.currentMeetingInfo.meetingCosts this.meetingCostSum = this.currentMeetingInfo.meetingCosts
} else { } else {
// this.$message.success('邀请码填写正确') // this.$message.success('邀请码填写正确')
this.meetingCostSum = '0.00' this.meetingCostSum = '0.00'
} }
}, },
addContactsOk() { addContactsOk() {
@@ -972,9 +1104,11 @@ export default {
} }
} }
} }
.color-red { .color-red {
color: red; color: red;
} }
.qr-code { .qr-code {
width: 140px; width: 140px;
height: 140px; height: 140px;
@@ -1036,24 +1170,29 @@ export default {
.word-beak { .word-beak {
word-break: break-all; word-break: break-all;
} }
.block-span{
.block-span {
display: block; display: block;
} }
.flex-col { .flex-col {
display: flex; display: flex;
label { label {
flex-shrink: 0; flex-shrink: 0;
} }
} }
// 邀请码内部的样式问题 // 邀请码内部的样式问题
.code-form-item{ .code-form-item {
display: flex; display: flex;
align-items: center; align-items: center;
.ant-input{
.ant-input {
flex: 1; flex: 1;
} }
.split-span{
.split-span {
display: inline-block; display: inline-block;
width: 20px; width: 20px;
text-align: center; text-align: center;
@@ -1062,13 +1201,25 @@ export default {
} }
// 国际研讨会-关联会议 多选样式的修改 // 国际研讨会-关联会议 多选样式的修改
.meeting-form-multi-select{ .meeting-form-multi-select {
/deep/.ant-checkbox-wrapper + .ant-checkbox-wrapper { .topic-title {
margin-left: 0!important; padding: 10px 0;
} }
/deep/ .ant-checkbox-wrapper{
/deep/ .ant-checkbox-wrapper + .ant-checkbox-wrapper {
margin-left: 0 !important;
}
/deep/ .ant-checkbox-wrapper,
/deep/ .ant-radio-wrapper {
margin-right: 8px; margin-right: 8px;
display: block; display: block;
} }
} }
.radio-div {
border-top: 1px solid rgba(0, 0, 0, 0.2);
padding-top: 10px;
margin-top: 10px;
}
</style> </style>