【update】嘉宾报名成功后可以修改报名信息相关功能的增加;VIP去掉同行人;接站增加目的地
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<a-form :form="form">
|
||||
<!--演讲信息begin-->
|
||||
<!-- 特邀嘉宾没有用餐信息-->
|
||||
<template v-if="guestType !== 3 ">
|
||||
<!-- 特邀嘉宾没有用餐信息; VIP || 演讲嘉宾 有 -->
|
||||
<template v-if="guestType === 1 || guestType === 2">
|
||||
<div class="item-title">演讲信息</div>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
@@ -45,31 +45,33 @@
|
||||
</template>
|
||||
<!--演讲信息end-->
|
||||
<!--用餐信息begin-->
|
||||
<!-- 合作伙伴不需要用餐信息 -->
|
||||
<div class="item-title">用餐信息</div>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="是否用餐" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group :disabled="isEditBool" v-decorator="['haveMeals',validatorRules.haveMealBools]"
|
||||
@change="selecthaveMealBools">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--选择了用餐才会出现-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="haveMealBool">
|
||||
<a-form-item label="是否回民" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group :disabled="isEditBool" v-decorator="['huiPeople',validatorRules.huiPeople]">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- VIP || 演讲嘉宾 有 用餐信息-->
|
||||
<template v-if="guestType === 1 || guestType === 2">
|
||||
<div class="item-title">用餐信息</div>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="是否用餐" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group :disabled="isEditBool" v-decorator="['haveMeals',validatorRules.haveMealBools]"
|
||||
@change="selecthaveMealBools">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--选择了用餐才会出现-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="haveMealBool">
|
||||
<a-form-item label="是否回民" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group :disabled="isEditBool" v-decorator="['huiPeople',validatorRules.huiPeople]">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</template>
|
||||
<!--用餐信息end-->
|
||||
<!--住店信息begin-->
|
||||
<!-- 特邀嘉宾 演讲嘉宾没有住店信息-->
|
||||
<!-- 只有VIP嘉宾有住店信息 特邀嘉宾 演讲嘉宾没有住店信息-->
|
||||
<template v-if="guestType === 1">
|
||||
<div class="item-title">住店信息</div>
|
||||
<a-row :gutter="24">
|
||||
@@ -147,6 +149,14 @@
|
||||
v-decorator="[ 'arrivalShift',validatorRules.arrivalShift]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--需要做判断 增加 目的地 字段,目的记录入住的酒店 演讲嘉宾 || 特邀嘉宾 存在-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="pickUpBool && (guestType === 2 || guestType === 3)">
|
||||
<a-form-item label="目的地" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input :disabled="isEditBool" placeholder="请输入目的地"
|
||||
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
||||
v-decorator="['destinationHotel']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
@@ -188,18 +198,18 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="同行人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入同行人"
|
||||
:maxLength='50'
|
||||
:disabled="isEditBool"
|
||||
@change="event => event.target.value = event.target.value.trim()"
|
||||
v-decorator="[ 'peer']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--<a-row :gutter="24">-->
|
||||
<!-- <a-col :xxl="8" :xl="12" :sm="24">-->
|
||||
<!-- <a-form-item label="同行人" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||
<!-- <a-input placeholder="请输入同行人"-->
|
||||
<!-- :maxLength='50'-->
|
||||
<!-- :disabled="isEditBool"-->
|
||||
<!-- @change="event => event.target.value = event.target.value.trim()"-->
|
||||
<!-- v-decorator="[ 'peer']"></a-input>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
|
||||
</a-row>
|
||||
<!--</a-row>-->
|
||||
<!--特邀嘉宾没有备注-->
|
||||
<a-row v-if="guestType!== 3" :gutter="24" style="transform: translateX(-4px)">
|
||||
<a-col>
|
||||
|
||||
@@ -223,9 +223,9 @@
|
||||
<span><j-ellipsis :value="situationInfo.identity_dictText" :length="20"></j-ellipsis></span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-row :gutter="24" class="flex-col" v-if="model.isWasic">
|
||||
<!--是否为WASIC字段判断-->
|
||||
<a-col :span="12" v-if="model.isWasic">
|
||||
<a-col :span="12" >
|
||||
<label>会议名称:</label>
|
||||
<div>
|
||||
<div class="word-beak block-span" v-for="item in wasicChoiceTopics" :key="item.name">
|
||||
@@ -233,10 +233,9 @@
|
||||
<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-row>
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-col :span="12">
|
||||
<label>手机号:</label>
|
||||
<span><j-ellipsis :value="situationInfo.phone" :length="20"></j-ellipsis></span>
|
||||
@@ -385,6 +384,18 @@
|
||||
<span><j-ellipsis :value="situationInfo.identity_dictText" :length="20"></j-ellipsis></span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" class="flex-col" v-if="model.isWasic">
|
||||
<a-col :span="12">
|
||||
<label>会议名称:</label>
|
||||
<div>
|
||||
<div class="word-beak block-span" v-for="item in wasicChoiceTopics" :key="item.name">
|
||||
<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-row>
|
||||
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-col :span="12">
|
||||
<label>手机号:</label>
|
||||
@@ -488,10 +499,10 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-col :span="12" v-show="situationInfo.peer">
|
||||
<label>同行人:</label>
|
||||
<span>{{ situationInfo.peer }}</span>
|
||||
</a-col>
|
||||
<!--<a-col :span="12" v-show="situationInfo.peer">-->
|
||||
<!-- <label>同行人:</label>-->
|
||||
<!-- <span>{{ situationInfo.peer }}</span>-->
|
||||
<!--</a-col>-->
|
||||
<a-col :span="12" v-show="situationInfo.remark">
|
||||
<label>备注:</label>
|
||||
<span> {{ situationInfo.remark }}</span>
|
||||
@@ -553,6 +564,12 @@
|
||||
<span> {{ situationInfo.arrivalShift }}</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.pickUp === 1">
|
||||
<a-col :span="12">
|
||||
<label>目的地:</label>
|
||||
<span>{{ situationInfo.destinationHotel }}</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-col :span="12">
|
||||
<label>是否需要送站:</label>
|
||||
@@ -574,10 +591,6 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-col :span="12" v-show="situationInfo.peer">
|
||||
<label>同行人:</label>
|
||||
<span>{{ situationInfo.peer }}</span>
|
||||
</a-col>
|
||||
<a-col :span="12" v-show="situationInfo.remark">
|
||||
<label>备注:</label>
|
||||
<span> {{ situationInfo.remark }}</span>
|
||||
@@ -586,16 +599,6 @@
|
||||
</section>
|
||||
<!-- 特邀嘉宾显示-->
|
||||
<section v-show="situationInfo.guestType == 3 ">
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-col :span="12">
|
||||
<label>是否用餐:</label>
|
||||
<span>{{ situationInfo.haveMeals_dictText }}</span>
|
||||
</a-col>
|
||||
<a-col :span="12" v-show="situationInfo.haveMeals === 1">
|
||||
<label>是否回民:</label>
|
||||
<span> {{ situationInfo.huiPeople_dictText }}</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-col :span="12">
|
||||
<label>是否需要接站:</label>
|
||||
@@ -616,6 +619,12 @@
|
||||
<span> {{ situationInfo.arrivalShift }}</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.pickUp === 1">
|
||||
<a-col :span="12">
|
||||
<label>目的地:</label>
|
||||
<span>{{ situationInfo.destinationHotel }}</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-col :span="12">
|
||||
<label>是否需要送站:</label>
|
||||
@@ -636,12 +645,6 @@
|
||||
<span> {{ situationInfo.departureShift }}</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-col :span="12" v-show="situationInfo.peer">
|
||||
<label>同行人:</label>
|
||||
<span>{{ situationInfo.peer }}</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</section>
|
||||
<!--合作伙伴或者参展商身份显示 -->
|
||||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.guestType == 4 || situationInfo.guestType == 5 ">
|
||||
@@ -732,7 +735,7 @@
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
</template>
|
||||
<edit-sign-up-info ref="editSignUpInfoForm"></edit-sign-up-info>
|
||||
<edit-sign-up-info ref="editSignUpInfoForm" @ok="updateSignUpInfo"></edit-sign-up-info>
|
||||
|
||||
<file-upload-modal ref="fileUploadModal" :meeting-id="model.id" @ok="refreshData"></file-upload-modal>
|
||||
|
||||
@@ -1137,6 +1140,14 @@ export default {
|
||||
refreshData() {
|
||||
console.log('---------refreshData--------')
|
||||
this.$emit('refresh-data', this.model.situationId)
|
||||
},
|
||||
// 国际研讨会-嘉宾-修改完报名信息后更新页面上显示的数据
|
||||
async updateSignUpInfo() {
|
||||
console.log('------updateSignUpInfo--------')
|
||||
// 会议进来的查询参会人信息
|
||||
await this.getSingUpUserInfoFunc(this.model)
|
||||
this.wasicLinkTopics = this.handleWasicLinkTopics(this.model)
|
||||
this.$emit('refresh-data', this.model.situationId)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
<vip-form ref="vipForm" v-if="model.guestType === 1" @ok="handleCancel"></vip-form>
|
||||
<speak-guest-form ref="speakGuestForm" @ok="handleCancel" v-if="model.guestType === 2"></speak-guest-form>
|
||||
<teyao-guest-form ref="teyaoGuestForm" @ok="handleCancel" v-if="model.guestType === 3"></teyao-guest-form>
|
||||
<cooperative-form ref="cooperativeForm" @ok="handleCancel" v-if="(model.guestType === 4 ||model.guestType === 5)"></cooperative-form>
|
||||
<vip-form ref="vipForm" v-if="model.guestType === 1" @ok="handleEditOk"></vip-form>
|
||||
<speak-guest-form ref="speakGuestForm" @ok="handleEditOk" v-if="model.guestType === 2"></speak-guest-form>
|
||||
<teyao-guest-form ref="teyaoGuestForm" @ok="handleEditOk" v-if="model.guestType === 3"></teyao-guest-form>
|
||||
<cooperative-form ref="cooperativeForm" @ok="handleEditOk" v-if="(model.guestType === 4 ||model.guestType === 5)"></cooperative-form>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -117,6 +117,11 @@ export default {
|
||||
}
|
||||
this.visible = true
|
||||
},
|
||||
// 子表单保存完毕
|
||||
handleEditOk() {
|
||||
this.$emit('ok')
|
||||
this.close()
|
||||
},
|
||||
handleCancel() {
|
||||
this.close()
|
||||
}
|
||||
@@ -126,5 +131,29 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
// 国际研讨会-关联会议 多选样式的修改
|
||||
/deep/ .meeting-form-multi-select {
|
||||
.topic-title {
|
||||
padding: 10px 0;
|
||||
}
|
||||
.ant-checkbox-wrapper + .ant-checkbox-wrapper {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
.ant-checkbox-wrapper,
|
||||
.ant-radio-wrapper {
|
||||
margin-right: 8px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
}
|
||||
/deep/ .clear-topic-btn{
|
||||
display: block;
|
||||
}
|
||||
/deep/.radio-div {
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.2);
|
||||
padding-top: 10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -67,6 +67,28 @@
|
||||
|
||||
</a-row>
|
||||
|
||||
<a-row :gutter="24" v-if="model.choiceTopic">
|
||||
<!-- 国际研讨会 WASIC 增加会议名称的选择--已经到账的信息不能修改-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="会议名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-checkbox-group class="meeting-form-multi-select" @change="choiceTopicChange" v-decorator="['choiceTopic',validatorRules.choiceTopic]">
|
||||
<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="changeRadioTopic">
|
||||
<a-radio v-for="item in item.radioChildren" :key="'a_radio_'+ item.value" :value="item.value" :disabled="item.disabled">{{ item.text }}</a-radio>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
</a-checkbox-group>
|
||||
<a-button class="clear-topic-btn" @click="cancelChoiceTopic">清空会议信息</a-button>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<a-row class="item-title">演讲信息</a-row>
|
||||
|
||||
<a-row :gutter="24">
|
||||
@@ -167,6 +189,14 @@
|
||||
v-decorator="[ 'arrivalShift',validatorRules.arrivalShift]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--需要做判断 增加 目的地 字段,目的记录入住的酒店 演讲嘉宾 || 特邀嘉宾 存在-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="pickUpBool">
|
||||
<a-form-item label="目的地" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input :disabled="isEditBool" placeholder="请输入目的地"
|
||||
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
||||
v-decorator="['destinationHotel']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
@@ -208,17 +238,6 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="同行人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入同行人"
|
||||
:maxLength='50'
|
||||
@change="event => event.target.value = event.target.value.trim()"
|
||||
v-decorator="[ 'peer']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
<a-row :gutter="24" style="transform: translateX(-4px)">
|
||||
<a-col>
|
||||
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
@@ -245,6 +264,8 @@ import JDate from '@comp/jero/JDate'
|
||||
import moment from 'moment'
|
||||
import pick from 'lodash.pick'
|
||||
import {httpAction} from '@api/manage'
|
||||
import WasicTopicData from "../../MessagePage/modules/wasicStaticData";
|
||||
import {LinkTopicsEnums} from "../../../enums/commonEnum";
|
||||
|
||||
export default {
|
||||
name: 'SpeakGuestForm',
|
||||
@@ -260,6 +281,7 @@ export default {
|
||||
haveMealBool:false,
|
||||
pickUpBool:false,
|
||||
sendBool:false,
|
||||
model: {},
|
||||
labelCol: {
|
||||
xxl:{span: 9},
|
||||
xl:{span: 8},
|
||||
@@ -281,6 +303,12 @@ export default {
|
||||
sm:{span: 20}
|
||||
},
|
||||
validatorRules: {
|
||||
choiceTopic: {
|
||||
rules: [
|
||||
{required: true, validator: this.checkChoiceTopic},
|
||||
],
|
||||
validateTrigger: ['change']
|
||||
},
|
||||
haveMealBools: {
|
||||
rules: [{ required: true, message: '请选择是否用餐' }],
|
||||
validateTrigger: 'change'
|
||||
@@ -325,10 +353,48 @@ export default {
|
||||
},
|
||||
url:{
|
||||
edit:'/meeting/payMeetingSituation/editGuestInfo'
|
||||
}
|
||||
},
|
||||
// WASIC可选会议的数组-前端写死
|
||||
showTopicsArr: [...WasicTopicData]
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
// 验证选择会议名称的情况
|
||||
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()
|
||||
}
|
||||
}
|
||||
},
|
||||
choiceTopicChange() {
|
||||
|
||||
},
|
||||
changeRadioTopic() {
|
||||
this.$nextTick(() => {
|
||||
this.form.validateFields(['choiceTopic'])
|
||||
})
|
||||
},
|
||||
// 取消会议名称的选中
|
||||
cancelChoiceTopic() {
|
||||
this.form.setFieldsValue({
|
||||
choiceTopic: [],
|
||||
radioKey: undefined,
|
||||
radioKeyTwo: undefined,
|
||||
})
|
||||
},
|
||||
moment,
|
||||
handleOk() {
|
||||
const that = this
|
||||
@@ -337,6 +403,19 @@ export default {
|
||||
that.confirmLoading = true
|
||||
let url = this.url.edit
|
||||
const formData = Object.assign({}, values)
|
||||
// 国际研讨会 且为WASIC 会议(有choiceTopic的才是WASIC)
|
||||
if (this.model.choiceTopic) {
|
||||
let choiceTopicArr = formData.choiceTopic
|
||||
//11月27日 单选会议的处理
|
||||
if(formData.radioKey) {
|
||||
choiceTopicArr.push(formData.radioKey)
|
||||
}
|
||||
//11月28日 单选会议的处理
|
||||
if(formData.radioKeyTwo) {
|
||||
choiceTopicArr.push(formData.radioKeyTwo)
|
||||
}
|
||||
formData.choiceTopic = choiceTopicArr.join(',')
|
||||
}
|
||||
formData.id = this.model.id
|
||||
httpAction(url, formData, 'post').then(res => {
|
||||
if (res.success) {
|
||||
@@ -355,6 +434,36 @@ export default {
|
||||
initForm(record){
|
||||
this.model = Object.assign({},record)
|
||||
this.form.resetFields()
|
||||
// 如果存在所选择的课题,则对课题数据进行处理
|
||||
if (this.model.choiceTopic) {
|
||||
let choiceTopicArr = this.model.choiceTopic.split(',')
|
||||
this.showTopicsArr = JSON.parse(JSON.stringify(WasicTopicData))
|
||||
let checkboxArr = [], radioObj = {}
|
||||
choiceTopicArr.map(checkedItem => {
|
||||
this.showTopicsArr.map(tt => {
|
||||
let index = tt.children.findIndex(inner => inner.value === checkedItem)
|
||||
if(index > -1) {
|
||||
tt.children[index].checked = true
|
||||
checkboxArr.push(checkedItem)
|
||||
}
|
||||
if(tt.radioChildren) {
|
||||
let radioIndex = tt.radioChildren.findIndex(inner => inner.value === checkedItem)
|
||||
if(radioIndex > -1) {
|
||||
tt.radioChildren[radioIndex].checked = true
|
||||
radioObj[tt.radioKey] = checkedItem
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
})
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue({
|
||||
...radioObj,
|
||||
'choiceTopic': checkboxArr
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
this.form.setFieldsValue({
|
||||
'companyName':record.companyName,
|
||||
'companyContactName':record.companyContactName,
|
||||
@@ -382,6 +491,7 @@ export default {
|
||||
this.form.setFieldsValue(pick(record,
|
||||
'arrivalTime',
|
||||
'destination',
|
||||
'destinationHotel',
|
||||
'arrivalShift'
|
||||
))
|
||||
})
|
||||
|
||||
@@ -66,26 +66,24 @@
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
|
||||
<a-row class="item-title">用餐信息</a-row>
|
||||
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="model.choiceTopic">
|
||||
<!-- 国际研讨会 WASIC 增加会议名称的选择--已经到账的信息不能修改-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="是否用餐" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group v-decorator="['haveMeals',validatorRules.haveMealBools]"
|
||||
@change="selecthaveMealBools">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--选择了用餐才会出现-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="haveMealBool">
|
||||
<a-form-item label="是否回民" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group v-decorator="['huiPeople',validatorRules.huiPeople]">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
<a-form-item label="会议名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-checkbox-group class="meeting-form-multi-select" @change="choiceTopicChange" v-decorator="['choiceTopic',validatorRules.choiceTopic]">
|
||||
<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="changeRadioTopic">
|
||||
<a-radio v-for="item in item.radioChildren" :key="'a_radio_'+ item.value" :value="item.value" :disabled="item.disabled">{{ item.text }}</a-radio>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
</a-checkbox-group>
|
||||
<a-button class="clear-topic-btn" @click="cancelChoiceTopic">清空会议信息</a-button>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -128,6 +126,14 @@
|
||||
v-decorator="[ 'arrivalShift',validatorRules.arrivalShift]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--需要做判断 增加 目的地 字段,目的记录入住的酒店 演讲嘉宾 || 特邀嘉宾 存在-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="pickUpBool">
|
||||
<a-form-item label="目的地" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input :disabled="isEditBool" placeholder="请输入目的地"
|
||||
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
||||
v-decorator="['destinationHotel']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
@@ -169,17 +175,6 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="同行人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入同行人"
|
||||
:maxLength='50'
|
||||
@change="event => event.target.value = event.target.value.trim()"
|
||||
v-decorator="[ 'peer']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
|
||||
</a-form>
|
||||
</a-spin>
|
||||
@@ -191,6 +186,8 @@ import JDate from '@comp/jero/JDate'
|
||||
import moment from 'moment'
|
||||
import pick from 'lodash.pick'
|
||||
import {httpAction} from '@api/manage'
|
||||
import WasicTopicData from "../../MessagePage/modules/wasicStaticData";
|
||||
import {LinkTopicsEnums} from "../../../enums/commonEnum";
|
||||
|
||||
export default {
|
||||
name: 'TeyaoGuestForm',
|
||||
@@ -204,6 +201,7 @@ export default {
|
||||
haveMealBool:false,
|
||||
pickUpBool:false,
|
||||
sendBool:false,
|
||||
model: {},
|
||||
labelCol: {
|
||||
xxl:{span: 9},
|
||||
xl:{span: 8},
|
||||
@@ -225,6 +223,12 @@ export default {
|
||||
sm:{span: 20}
|
||||
},
|
||||
validatorRules: {
|
||||
choiceTopic: {
|
||||
rules: [
|
||||
{required: true, validator: this.checkChoiceTopic},
|
||||
],
|
||||
validateTrigger: ['change']
|
||||
},
|
||||
haveMealBools: {
|
||||
rules: [{ required: true, message: '请选择是否用餐' }],
|
||||
validateTrigger: 'change'
|
||||
@@ -285,10 +289,48 @@ export default {
|
||||
},
|
||||
url:{
|
||||
edit:'/meeting/payMeetingSituation/editGuestInfo'
|
||||
}
|
||||
},
|
||||
// WASIC可选会议的数组-前端写死
|
||||
showTopicsArr: [...WasicTopicData]
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
// 验证选择会议名称的情况
|
||||
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()
|
||||
}
|
||||
}
|
||||
},
|
||||
choiceTopicChange() {
|
||||
|
||||
},
|
||||
changeRadioTopic() {
|
||||
this.$nextTick(() => {
|
||||
this.form.validateFields(['choiceTopic'])
|
||||
})
|
||||
},
|
||||
// 取消会议名称的选中
|
||||
cancelChoiceTopic() {
|
||||
this.form.setFieldsValue({
|
||||
choiceTopic: [],
|
||||
radioKey: undefined,
|
||||
radioKeyTwo: undefined,
|
||||
})
|
||||
},
|
||||
moment,
|
||||
handleOk() {
|
||||
const that = this
|
||||
@@ -297,6 +339,19 @@ export default {
|
||||
that.confirmLoading = true
|
||||
let url = this.url.edit
|
||||
const formData = Object.assign({}, values)
|
||||
// 国际研讨会 且为WASIC 会议(有choiceTopic的才是WASIC)
|
||||
if (this.model.choiceTopic) {
|
||||
let choiceTopicArr = formData.choiceTopic
|
||||
//11月27日 单选会议的处理
|
||||
if(formData.radioKey) {
|
||||
choiceTopicArr.push(formData.radioKey)
|
||||
}
|
||||
//11月28日 单选会议的处理
|
||||
if(formData.radioKeyTwo) {
|
||||
choiceTopicArr.push(formData.radioKeyTwo)
|
||||
}
|
||||
formData.choiceTopic = choiceTopicArr.join(',')
|
||||
}
|
||||
formData.id = this.model.id
|
||||
httpAction(url, formData, 'post').then(res => {
|
||||
if (res.success) {
|
||||
@@ -315,6 +370,36 @@ export default {
|
||||
initForm(record){
|
||||
this.model = Object.assign({},record)
|
||||
this.form.resetFields()
|
||||
// 如果存在所选择的课题,则对课题数据进行处理
|
||||
if (this.model.choiceTopic) {
|
||||
let choiceTopicArr = this.model.choiceTopic.split(',')
|
||||
this.showTopicsArr = JSON.parse(JSON.stringify(WasicTopicData))
|
||||
let checkboxArr = [], radioObj = {}
|
||||
choiceTopicArr.map(checkedItem => {
|
||||
this.showTopicsArr.map(tt => {
|
||||
let index = tt.children.findIndex(inner => inner.value === checkedItem)
|
||||
if(index > -1) {
|
||||
tt.children[index].checked = true
|
||||
checkboxArr.push(checkedItem)
|
||||
}
|
||||
if(tt.radioChildren) {
|
||||
let radioIndex = tt.radioChildren.findIndex(inner => inner.value === checkedItem)
|
||||
if(radioIndex > -1) {
|
||||
tt.radioChildren[radioIndex].checked = true
|
||||
radioObj[tt.radioKey] = checkedItem
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
})
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue({
|
||||
...radioObj,
|
||||
'choiceTopic': checkboxArr
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
this.form.setFieldsValue({
|
||||
'companyName':record.companyName,
|
||||
'companyContactName':record.companyContactName,
|
||||
@@ -357,6 +442,7 @@ export default {
|
||||
this.form.setFieldsValue(pick(record,
|
||||
'arrivalTime',
|
||||
'destination',
|
||||
'destinationHotel',
|
||||
'arrivalShift'
|
||||
))
|
||||
})
|
||||
|
||||
@@ -66,7 +66,27 @@
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
|
||||
<a-row :gutter="24" v-if="model.choiceTopic">
|
||||
<!-- 国际研讨会 WASIC 增加会议名称的选择--已经到账的信息不能修改-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="会议名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-checkbox-group class="meeting-form-multi-select" @change="choiceTopicChange" v-decorator="['choiceTopic',validatorRules.choiceTopic]">
|
||||
<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="changeRadioTopic">
|
||||
<a-radio v-for="item in item.radioChildren" :key="'a_radio_'+ item.value" :value="item.value" :disabled="item.disabled">{{ item.text }}</a-radio>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
</a-checkbox-group>
|
||||
<a-button class="clear-topic-btn" @click="cancelChoiceTopic">清空会议信息</a-button>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row class="item-title">演讲信息</a-row>
|
||||
|
||||
<a-row :gutter="24">
|
||||
@@ -245,17 +265,6 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="同行人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入同行人"
|
||||
:maxLength='50'
|
||||
@change="event => event.target.value = event.target.value.trim()"
|
||||
v-decorator="[ 'peer']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
<a-row :gutter="24" style="transform: translateX(-4px)">
|
||||
<a-col>
|
||||
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
@@ -282,6 +291,8 @@ import JDate from '@comp/jero/JDate'
|
||||
import moment from 'moment'
|
||||
import pick from 'lodash.pick'
|
||||
import {httpAction} from '@api/manage'
|
||||
import WasicTopicData from '../../MessagePage/modules/wasicStaticData'
|
||||
import {LinkTopicsEnums} from '../../../enums/commonEnum'
|
||||
|
||||
export default {
|
||||
name: 'VIPForm',
|
||||
@@ -298,6 +309,7 @@ export default {
|
||||
inHotelBool:false,
|
||||
pickUpBool:false,
|
||||
sendBool:false,
|
||||
model: {},
|
||||
labelCol: {
|
||||
xxl:{span: 9},
|
||||
xl:{span: 8},
|
||||
@@ -319,6 +331,12 @@ export default {
|
||||
sm:{span: 20}
|
||||
},
|
||||
validatorRules: {
|
||||
choiceTopic: {
|
||||
rules: [
|
||||
{required: true, validator: this.checkChoiceTopic},
|
||||
],
|
||||
validateTrigger: ['change']
|
||||
},
|
||||
haveMealBools: {
|
||||
rules: [{ required: true, message: '请选择是否用餐' }],
|
||||
validateTrigger: 'change'
|
||||
@@ -379,10 +397,48 @@ export default {
|
||||
},
|
||||
url:{
|
||||
edit:'/meeting/payMeetingSituation/editGuestInfo'
|
||||
}
|
||||
},
|
||||
// WASIC可选会议的数组-前端写死
|
||||
showTopicsArr: [...WasicTopicData]
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
// 验证选择会议名称的情况
|
||||
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()
|
||||
}
|
||||
}
|
||||
},
|
||||
choiceTopicChange() {
|
||||
|
||||
},
|
||||
changeRadioTopic() {
|
||||
this.$nextTick(() => {
|
||||
this.form.validateFields(['choiceTopic'])
|
||||
})
|
||||
},
|
||||
// 取消会议名称的选中
|
||||
cancelChoiceTopic() {
|
||||
this.form.setFieldsValue({
|
||||
choiceTopic: [],
|
||||
radioKey: undefined,
|
||||
radioKeyTwo: undefined,
|
||||
})
|
||||
},
|
||||
moment,
|
||||
handleOk() {
|
||||
const that = this
|
||||
@@ -390,7 +446,20 @@ export default {
|
||||
if (!err) {
|
||||
that.confirmLoading = true
|
||||
let url = this.url.edit
|
||||
const formData = Object.assign({}, values)
|
||||
let formData = Object.assign({}, values)
|
||||
// 国际研讨会 且为WASIC 会议(有choiceTopic的才是WASIC)
|
||||
if (this.model.choiceTopic) {
|
||||
let choiceTopicArr = formData.choiceTopic
|
||||
//11月27日 单选会议的处理
|
||||
if(formData.radioKey) {
|
||||
choiceTopicArr.push(formData.radioKey)
|
||||
}
|
||||
//11月28日 单选会议的处理
|
||||
if(formData.radioKeyTwo) {
|
||||
choiceTopicArr.push(formData.radioKeyTwo)
|
||||
}
|
||||
formData.choiceTopic = choiceTopicArr.join(',')
|
||||
}
|
||||
formData.id = this.model.id
|
||||
httpAction(url, formData, 'post').then(res => {
|
||||
if (res.success) {
|
||||
@@ -409,6 +478,36 @@ export default {
|
||||
initForm(record){
|
||||
this.model = Object.assign({},record)
|
||||
this.form.resetFields()
|
||||
// 如果存在所选择的课题,则对课题数据进行处理
|
||||
if (this.model.choiceTopic) {
|
||||
let choiceTopicArr = this.model.choiceTopic.split(',')
|
||||
this.showTopicsArr = JSON.parse(JSON.stringify(WasicTopicData))
|
||||
let checkboxArr = [], radioObj = {}
|
||||
choiceTopicArr.map(checkedItem => {
|
||||
this.showTopicsArr.map(tt => {
|
||||
let index = tt.children.findIndex(inner => inner.value === checkedItem)
|
||||
if(index > -1) {
|
||||
tt.children[index].checked = true
|
||||
checkboxArr.push(checkedItem)
|
||||
}
|
||||
if(tt.radioChildren) {
|
||||
let radioIndex = tt.radioChildren.findIndex(inner => inner.value === checkedItem)
|
||||
if(radioIndex > -1) {
|
||||
tt.radioChildren[radioIndex].checked = true
|
||||
radioObj[tt.radioKey] = checkedItem
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
})
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue({
|
||||
...radioObj,
|
||||
'choiceTopic': checkboxArr
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
this.form.setFieldsValue({
|
||||
'companyName':record.companyName,
|
||||
'companyContactName':record.companyContactName,
|
||||
|
||||
Reference in New Issue
Block a user