参会情况修改
This commit is contained in:
@@ -7,8 +7,9 @@ const getMeetInfoById = (params) => getAction('/meeting/payMeeting/queryById',pa
|
||||
// 获取所有工作组项目
|
||||
const getAllWorkProjects = () => getAction('/project/payWorkingGroup/listAll')
|
||||
|
||||
|
||||
export {
|
||||
getUserInfo,
|
||||
getMeetInfoById,
|
||||
getAllWorkProjects
|
||||
getAllWorkProjects,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-row :gutter=10>
|
||||
<a-col :span="20">
|
||||
<a-input autocomplete="off" @click="chooseBusiness" :value="value[valueKey]" v-bind="$attrs"></a-input>
|
||||
</a-col>
|
||||
<a-col :span="4">
|
||||
<a-button icon="plus" @click="addCompany"></a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<business-select ref="businessSelect" @ok="setCompanyVal" v-bind="$attrs"></business-select>
|
||||
<business-management-module ref="businessModal" @ok="setCompanyVal"></business-management-module>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BusinessSelect from '@comp/company/BusinessSelect'
|
||||
import BusinessManagementModule from '@views/businessManagement/modules/BusinessManagementModule'
|
||||
|
||||
export default {
|
||||
name: 'AddMeetingCompany',
|
||||
props: {
|
||||
// 是否可以选择
|
||||
isCompanyDisabled: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
value: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {}
|
||||
}
|
||||
},
|
||||
// 回显数据的key
|
||||
valueKey: {
|
||||
type: String,
|
||||
default: 'companyName'
|
||||
}
|
||||
},
|
||||
components: {
|
||||
BusinessSelect,
|
||||
BusinessManagementModule
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
reallyValue:''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/*
|
||||
* 打开选择企业弹窗
|
||||
* */
|
||||
chooseBusiness() {
|
||||
if (this.isCompanyDisabled) {
|
||||
return
|
||||
}
|
||||
this.$refs.businessSelect.searchReset()
|
||||
this.$refs.businessSelect.visible = true
|
||||
},
|
||||
/*
|
||||
* 添加企业
|
||||
* */
|
||||
addCompany() {
|
||||
this.$refs.businessModal.title='新增'
|
||||
this.$refs.businessModal.add({})
|
||||
},
|
||||
/*
|
||||
* 接受值和抛出
|
||||
* */
|
||||
setCompanyVal(selectedVal) {
|
||||
let {id, companyName} = selectedVal
|
||||
this.$emit('change', {id, companyName})
|
||||
}
|
||||
},
|
||||
model: {
|
||||
prop: 'value',
|
||||
event: 'change'
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -33,6 +33,7 @@
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import { getFileAccessHttpUrl } from '@/api/manage'
|
||||
import {getFileInfo} from '@api/api'
|
||||
// eslint-disable-next-line
|
||||
const Base64 = require('js-base64').Base64
|
||||
|
||||
@@ -67,6 +68,11 @@
|
||||
type:[String,Array],
|
||||
required:false
|
||||
},
|
||||
/* 返回文件id*/
|
||||
returnId:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
},
|
||||
disabled:{
|
||||
type:Boolean,
|
||||
required:false,
|
||||
@@ -152,7 +158,11 @@
|
||||
this.picUrl = true
|
||||
fileList = fileList.map((file) => {
|
||||
if (file.response) {
|
||||
file.url = `${file.response.result.id}?token=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${file.response.result.fileName}`
|
||||
if(this.returnId){
|
||||
file.url = `${file.response.result.id}`
|
||||
}else {
|
||||
file.url = `${file.response.result.id}?token=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${file.response.result.fileName}`
|
||||
}
|
||||
}
|
||||
return file
|
||||
})
|
||||
@@ -217,6 +227,16 @@
|
||||
close () {
|
||||
|
||||
},
|
||||
getImgUrl(id,name){
|
||||
return `${id}?token=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${name}`
|
||||
},
|
||||
getFileInfos(ids){
|
||||
return new Promise(resolve => {
|
||||
getFileInfo({id:ids}).then(res => {
|
||||
resolve(res.result)
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
model: {
|
||||
prop: 'value',
|
||||
|
||||
@@ -222,7 +222,7 @@ export default {
|
||||
httpAction(httpurl, formData, method).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
that.$emit('ok',formData)
|
||||
that.close()
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
|
||||
@@ -492,6 +492,7 @@ export default {
|
||||
* */
|
||||
handleOk() {
|
||||
const that = this
|
||||
that.confirmLoading = true
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
let httpurl = ''
|
||||
@@ -520,12 +521,12 @@ export default {
|
||||
httpAction(httpurl, formData, method).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message)
|
||||
that.confirmLoading = false
|
||||
that.handleCancel()
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('工作组会议维护')">导出</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('会议管理')">导出</a-button>
|
||||
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
|
||||
</div>
|
||||
|
||||
@@ -201,7 +201,7 @@ export default {
|
||||
],
|
||||
dateKeyObj: {
|
||||
beginKey: 'meetingStartTime',
|
||||
endKey: 'meetingEndtTime'
|
||||
endKey: 'meetingEndTime'
|
||||
},
|
||||
url: {
|
||||
list: '/meeting/payMeeting/page',
|
||||
|
||||
@@ -0,0 +1,227 @@
|
||||
<template>
|
||||
<a-form :form="form">
|
||||
<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 v-decorator="['checkInHotel']">
|
||||
<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">
|
||||
<a-form-item label="抵达时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择抵达时间" style="width: 100%;" v-decorator="['arrivalTime']" :trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="离开时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择离开时间" :disabled-date="disabledEndDate" style="width: 100%;" v-decorator="['departureTime']" :trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<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">
|
||||
<select-contacts :selected-company="selectedCompany"
|
||||
placeholder="请选择邮寄联系人"
|
||||
v-decorator="['postContactId',validatorRules.postContactId]"
|
||||
:maxLength='50'
|
||||
ref="selectMailContacts"
|
||||
@ok="addContactsOk"></select-contacts>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入地址"
|
||||
:maxLength='50'
|
||||
v-decorator="[ 'postContactAddress']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<div class="item-title">缴费信息</div>
|
||||
<!-- 选择嘉宾和内部企业不显示缴费方式-->
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2 ">
|
||||
<a-form-item label="缴费方式" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group v-decorator="['payMode',validatorRules.payMode]">
|
||||
<a-radio :value="1">汇款</a-radio>
|
||||
<a-radio :value="2">现场</a-radio>
|
||||
<a-radio :value="2">打包</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="需要发票" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-dict-select-tag style="width: 100%" dict-code="invoice_type"
|
||||
v-decorator="['needInvoice',validatorRules.needInvoice]"
|
||||
:trigger-change="true"
|
||||
placeholder="请选择发票类型"></j-dict-select-tag>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="付款凭证" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-image-upload v-decorator="['paymentRecord']" :return-id="true"></j-image-upload>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
</a-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import JDate from '@comp/jero/JDate'
|
||||
import JImageUpload from '@comp/jero/JImageUpload'
|
||||
import SelectContacts from '@comp/company/SelectContacts'
|
||||
import pick from 'lodash.pick'
|
||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||
import moment from 'moment'
|
||||
|
||||
export default {
|
||||
name: 'OtherMeetingForm',
|
||||
components: {
|
||||
JDate,
|
||||
JImageUpload,
|
||||
SelectContacts,
|
||||
JDictSelectTag
|
||||
},
|
||||
props: {
|
||||
selectedCompany: {
|
||||
type: Object
|
||||
},
|
||||
// 会议类型
|
||||
meetingType: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
// 身份类型
|
||||
identifyType: {
|
||||
type: Number,
|
||||
required: false,
|
||||
// 默认为参会人
|
||||
default: 2
|
||||
},
|
||||
// 嘉宾类型
|
||||
guestType: {
|
||||
type: Number,
|
||||
required: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
desription: '其他会议的参会情况的表单',
|
||||
form: this.$form.createForm(this),
|
||||
labelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 6}
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 18}
|
||||
},
|
||||
remarksLabelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 3}
|
||||
},
|
||||
remarksWrapperCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 21}
|
||||
},
|
||||
validatorRules: {
|
||||
postContactId: {
|
||||
rules: [{required: true, message: '请选择邮寄联系人'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
payMode: {
|
||||
rules: [{required: true, message: '请选择缴费方式'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
needInvoice: {
|
||||
rules: [{required: true, message: '请选择发票类型'}],
|
||||
validateTrigger: 'change'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
handleOk() {
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
this.$emit('formData', values)
|
||||
}else {
|
||||
this.$emit('formData', {stop:true})
|
||||
}
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 选择了联系人后给邮寄联系人和地址赋值
|
||||
* */
|
||||
setAddressVal(val) {
|
||||
val = Object.assign({}, {postContactId: val.id, postContactAddress: val.contactAddress})
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(val, 'postContactId', 'postContactAddress'))
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 抵达时间禁用
|
||||
* */
|
||||
disabledEndDate(endValue) {
|
||||
const startValueTemp = this.form.getFieldValue('arrivalTime')
|
||||
const startValue = startValueTemp && moment(startValueTemp ,'YYYY-MM-DD')
|
||||
if (!endValue || !startValue) {
|
||||
return false
|
||||
}
|
||||
return startValue.valueOf() > endValue.valueOf()
|
||||
},
|
||||
addContactsOk() {
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
|
||||
.submit {
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.item-title {
|
||||
padding-left: 40px;
|
||||
box-sizing: border-box;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
color: #333;
|
||||
position: relative;
|
||||
font-size: 16px;
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50%;
|
||||
background: #069f99;
|
||||
top: 50%;
|
||||
margin-top: -5px;
|
||||
left: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -8,10 +8,10 @@
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="参会企业" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<company-select placeholder="请选择参会企业"
|
||||
v-decorator="['companyId']"
|
||||
:maxLength='50'>
|
||||
</company-select>
|
||||
<add-meeting-company @change="changeCompany" v-decorator="['companyId',validatorRules.companyId]"
|
||||
placeholder="请选择参会企业"
|
||||
:maxLength='50'>
|
||||
</add-meeting-company>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -19,21 +19,23 @@
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<select-contacts :selected-company="selectedCompany"
|
||||
placeholder="请选择"
|
||||
v-decorator="['companyContactId']"
|
||||
placeholder="请选择参会人"
|
||||
v-decorator="['companyContactId',validatorRules.companyContactId]"
|
||||
:maxLength='50'
|
||||
@change="changeContact"
|
||||
ref="selectMailContacts"
|
||||
@ok="addContactsOk"></select-contacts>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入手机号"
|
||||
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9]/g,'')}"
|
||||
:maxLength='11'
|
||||
disabled
|
||||
v-decorator="['phone']"></a-input>
|
||||
v-decorator="['phone',validatorRules.phone]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
@@ -49,15 +51,16 @@
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入邮箱"
|
||||
:maxLength='11'
|
||||
:maxLength='50'
|
||||
disabled
|
||||
v-decorator="[ 'email']"></a-input>
|
||||
v-decorator="[ 'email',
|
||||
validatorRules.email]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group v-decorator="['identify']" @change="changeIdentify">
|
||||
<a-radio-group v-decorator="['identify',validatorRules.identify]" @change="changeIdentify">
|
||||
<a-radio :value="1">嘉宾</a-radio>
|
||||
<a-radio :value="2">参会人</a-radio>
|
||||
<a-radio :value="3">内部企业</a-radio>
|
||||
@@ -65,10 +68,10 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<!--身份选择嘉宾出现且必填-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 1 ">
|
||||
<!--身份选择嘉宾并且是研讨会议出现且必填-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 1 && meetingType === '3' ">
|
||||
<a-form-item label="嘉宾类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group v-decorator="['guestType']">
|
||||
<a-radio-group v-decorator="['guestType',validatorRules.guestType]" @change="changeGuestType">
|
||||
<a-radio :value="1">VIP</a-radio>
|
||||
<a-radio :value="2">演讲嘉宾</a-radio>
|
||||
<a-radio :value="3">特邀嘉宾</a-radio>
|
||||
@@ -78,313 +81,36 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!--个人信息end-->
|
||||
<div class="center">
|
||||
<a-button type="primary" @click="nextStep">保存</a-button>
|
||||
</div>
|
||||
<!--演讲信息begin-->
|
||||
<!-- 嘉宾类型是VIP和演讲嘉宾显示-->
|
||||
<section v-if="meetingType === '3' && (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-input placeholder="请输入演讲题目"
|
||||
:maxLength='50'
|
||||
v-decorator="['speechTopic']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--除开国际研讨会的其他会议的显示-->
|
||||
<template v-if="meetingType !== '3' ">
|
||||
<other-meeting-form ref="formother" :selected-company="selectedCompany"
|
||||
:identify-type="identifyType" @formData="getFormData"></other-meeting-form>
|
||||
</template>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="演讲ppt" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-upload v-decorator="['speech_ppt']"></j-upload>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="照片" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-image-upload v-decorator="['photo']"></j-image-upload>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="18" :xl="18" :sm="24">
|
||||
<a-form-item label="个人简介" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-textarea
|
||||
placeholder="请输入个人简介"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
v-decorator="['profile']"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
</section>
|
||||
<!--演讲信息end-->
|
||||
<!--用餐信息begin-->
|
||||
<!-- 合作伙伴不需要用餐信息 -->
|
||||
<section v-if="meetingType === '3' && guestType !== 4">
|
||||
<div class="item-title">用餐信息</div>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xl="6" :md="8" :sm="24">
|
||||
<a-form-item label="是否用餐" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group v-decorator="['haveMeals']">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :md="8" :sm="24">
|
||||
<a-form-item label="是否回民" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group v-decorator="['huiPeople']">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</section>
|
||||
<!--用餐信息end-->
|
||||
<!--住店信息begin-->
|
||||
<section v-if="meetingType === '3' && guestType === 1 ">
|
||||
<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 v-decorator="['checkInHotel']">
|
||||
<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">
|
||||
<a-form-item label="入住酒店时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date v-decorator="['inHotelTime']" placeholder="请选择入住酒店时间"></j-date>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="离店时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date v-decorator="['outHotelTime']" placeholder="请选择离店时间"></j-date>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="房型" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="['roomLayout']"
|
||||
placeholder="请输入房型"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</section>
|
||||
<!--住店信息end-->
|
||||
|
||||
<!--VIP行程信息begin-->
|
||||
<!--合作伙伴不显示这个行程信息-->
|
||||
<section v-if="meetingType === '3' && guestType !== 4 ">
|
||||
<div class="item-title">VIP行程信息</div>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="是否需要接站" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group v-decorator="['pickUp']">
|
||||
<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">
|
||||
<a-form-item label="抵达时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择抵达时间" style="width: 100%;" v-decorator="['arrivalTime']" :trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="到达站" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入到达站"
|
||||
:maxLength='50'
|
||||
v-decorator="[ 'destination']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="到达班次" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入到达班次"
|
||||
:maxLength='50'
|
||||
v-decorator="[ 'arrivalShift']"></a-input>
|
||||
</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-radio-group v-decorator="['deliveryStation']">
|
||||
<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">
|
||||
<a-form-item label="离开时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择离开时间" style="width: 100%;" v-decorator="['departureTime']" :trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="离开站" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入离开站"
|
||||
:maxLength='50'
|
||||
v-decorator="[ 'departureStation']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="离开班次" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入离开班次"
|
||||
:maxLength='50'
|
||||
v-decorator="[ 'departureShift']"></a-input>
|
||||
</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'
|
||||
v-decorator="[ 'peer']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
<!--特邀嘉宾没有备注-->
|
||||
<a-row :gutter="24" v-if="guestType !== 3">
|
||||
<a-col :xxl="18" :xl="18" :sm="24">
|
||||
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-textarea
|
||||
placeholder="请输入备注"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
v-decorator="['remark']"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
</section>
|
||||
<!--VIP行程信息end-->
|
||||
<!--合作伙伴显示的企业信息begin-->
|
||||
<section v-if="meetingType === '3' && guestType === 4 ">
|
||||
<div class="item-title">VIP行程信息</div>
|
||||
<a-row :gutter="24">
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="抵达时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择抵达时间" style="width: 100%;" v-decorator="['arrivalTime']" :trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="离开时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择离开时间" style="width: 100%;" v-decorator="['departureTime']" :trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</section>
|
||||
<!--合作伙伴显示的企业信息end-->
|
||||
<!--除去国际研讨会的行程信息begin-->
|
||||
<section v-if="identifyType !== 1">
|
||||
<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 v-decorator="['checkInHotel']">
|
||||
<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">
|
||||
<a-form-item label="抵达时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择抵达时间" style="width: 100%;" v-decorator="['arrivalTime']" :trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="离开时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择离开时间" style="width: 100%;" v-decorator="['departureTime']" :trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</section>
|
||||
<!--除去国际研讨会的行程信息begin-->
|
||||
|
||||
<!--除去国际研讨会的邮寄信息begin-->
|
||||
<section v-if="identifyType !== 1">
|
||||
<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">
|
||||
<select-contacts :selected-company="selectedCompany"
|
||||
placeholder="请选择"
|
||||
v-decorator="['postContactId']"
|
||||
:maxLength='50'
|
||||
ref="selectMailContacts"
|
||||
@ok="addContactsOk"></select-contacts>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入地址"
|
||||
:maxLength='50'
|
||||
v-decorator="[ 'postContactAddress']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</section>
|
||||
<!--除去国际研讨会的邮寄信息end-->
|
||||
<!--除去国际研讨会的缴费信息begin-->
|
||||
<section v-if="identifyType !== 1">
|
||||
<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 v-decorator="['payMode']">
|
||||
<a-radio :value="1">汇款</a-radio>
|
||||
<a-radio :value="2">现场</a-radio>
|
||||
<a-radio :value="2">打包</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="需要发票" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-dict-select-tag style="width: 100%" dict-code="invoice_type" v-decorator="['needInvoice']"
|
||||
placeholder="请选择发票类型"></j-dict-select-tag>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="付款凭证" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-image-upload v-decorator="['paymentRecord']"></j-image-upload>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</section>
|
||||
<!--除去国际研讨会的缴费信息end-->
|
||||
<!--国际研讨会参会人与内部企业的显示 默认不展示 -->
|
||||
<template v-if="meetingType === '3' && identifyType !== 1 && identifyType !== null ">
|
||||
<other-meeting-form ref="formother" :meeting-type="meetingType" :selected-company="selectedCompany"
|
||||
:identify-type="identifyType" @formData="getFormData"></other-meeting-form>
|
||||
</template>
|
||||
<!-- 国际研讨会身份选择嘉宾 并且是VIP-->
|
||||
<template v-if="identifyType === 1 && guestType === 1">
|
||||
<seminar-vip-form ref="seminarVipForm" @formData="getFormData" :identify-type="identifyType" :guest-type="guestType"></seminar-vip-form>
|
||||
</template>
|
||||
<!-- 国际研讨会身份选择嘉宾 并且是演讲嘉宾-->
|
||||
<template v-if="identifyType === 1 && guestType === 2">
|
||||
<seminar-vip-form ref="seminarVipForm" @formData="getFormData" :guest-type="guestType"></seminar-vip-form>
|
||||
</template>
|
||||
<!-- 国际研讨会身份选择嘉宾 并且是特邀嘉宾-->
|
||||
<template v-if="identifyType === 1 && guestType === 3">
|
||||
<seminar-vip-form ref="seminarVipForm" @formData="getFormData" :guest-type="guestType"></seminar-vip-form>
|
||||
</template>
|
||||
<!-- 国际研讨会身份选择嘉宾 并且是合作伙伴-->
|
||||
<template v-if="identifyType === 1 && guestType === 4">
|
||||
<seminar-partner-form ref="seminarPartnerForm" @formData="getFormData"></seminar-partner-form>
|
||||
</template>
|
||||
|
||||
<div class="center">
|
||||
<a-button class="submit" type="primary" @click="handleOk">确定</a-button>
|
||||
<a-button class="submit" type="primary" @click="handleOk" v-preventclick>确定</a-button>
|
||||
<a-button @click="handleCancel">取消</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
@@ -395,23 +121,24 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import CompanySelect from '@comp/company/CompanySelect'
|
||||
import SelectContacts from '@comp/company/SelectContacts'
|
||||
import JDate from '@comp/jero/JDate'
|
||||
import JImageUpload from '@comp/jero/JImageUpload'
|
||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||
import JUpload from '@comp/jero/JUpload'
|
||||
import OtherMeetingForm from '@views/incomePayments/meetManage/OtherMeetingForm'
|
||||
import SeminarVipForm from '@views/incomePayments/meetManage/modules/SeminarVipForm'
|
||||
import SeminarPartnerForm from '@views/incomePayments/meetManage/modules/SeminarPartnerForm'
|
||||
import AddMeetingCompany from '@comp/company/AddMeetingCompany'
|
||||
import {getContactsById} from '@api/api'
|
||||
import {httpAction} from '@api/manage'
|
||||
import pick from 'lodash.pick'
|
||||
|
||||
export default {
|
||||
name: 'SignUpInfoEdit',
|
||||
components: {
|
||||
CompanySelect,
|
||||
SelectContacts,
|
||||
JImageUpload,
|
||||
JDictSelectTag,
|
||||
JDate,
|
||||
JUpload
|
||||
|
||||
SeminarPartnerForm,
|
||||
// JDictSelectTag,
|
||||
OtherMeetingForm,
|
||||
SeminarVipForm,
|
||||
AddMeetingCompany
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -420,6 +147,7 @@ export default {
|
||||
confirmLoading: false,
|
||||
selectedCompany: null,
|
||||
model: {},
|
||||
formData:{},
|
||||
labelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 6}
|
||||
@@ -436,12 +164,43 @@ export default {
|
||||
xs: {span: 24},
|
||||
sm: {span: 21}
|
||||
},
|
||||
validatorRules: {
|
||||
companyId: {
|
||||
rules: [{required: true, message: '请选择参会企业'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
companyContactId: {
|
||||
rules: [{required: true, message: '请选择参会人'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
phone: {
|
||||
rules: [{required: true, message: '请输入手机号'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
email: {
|
||||
rules: [{required: true, message: '请输入邮箱'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
identify: {
|
||||
rules: [{required: true, message: '请选择身份'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
guestType:{
|
||||
rules: [{required: true, message: '请选择嘉宾类型'}],
|
||||
validateTrigger: 'change'
|
||||
}
|
||||
|
||||
},
|
||||
// 身份类型
|
||||
identifyType: '',
|
||||
identifyType: null,
|
||||
// 嘉宾类型
|
||||
guestType: '',
|
||||
guestType: null,
|
||||
// 会议类型
|
||||
meetingType: ''
|
||||
meetingType: '',
|
||||
url:{
|
||||
add:'/meeting/payMeetingSituation/add',
|
||||
edit:''
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -452,17 +211,58 @@ export default {
|
||||
this.$refs.selectContacts.getContactsList()
|
||||
},
|
||||
/*
|
||||
* 保存
|
||||
* */
|
||||
nextStep() {
|
||||
// 保存身份类型 1是VIP 2是演讲嘉宾 3是特邀嘉宾 4是合作伙伴
|
||||
this.guestType = this.form.getFieldValue('guestType')
|
||||
},
|
||||
/*
|
||||
* 确定
|
||||
* */
|
||||
handleOk() {
|
||||
|
||||
const that = this
|
||||
// 其他会议的表单验证
|
||||
if( this.$refs.formother !== undefined ){
|
||||
this.$refs.formother.handleOk()
|
||||
}
|
||||
// 国际研讨会 VIP 演讲嘉宾 特邀嘉宾 的表单验证
|
||||
if( this.$refs.seminarVipForm !== undefined ){
|
||||
this.$refs.seminarVipForm.handleOk()
|
||||
}
|
||||
// 国际研讨会的合作伙伴的表单验证
|
||||
if( this.$refs.seminarPartnerForm !== undefined ){
|
||||
this.$refs.seminarPartnerForm.handleOk()
|
||||
}
|
||||
if(this.formData.stop){
|
||||
return
|
||||
}
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
this.confirmLoading = true
|
||||
let submitData = Object.assign({},values,this.formData)
|
||||
submitData.companyId = values.companyId.id
|
||||
console.log(submitData)
|
||||
let url = ''
|
||||
if(!this.model.id){
|
||||
url = this.url.add
|
||||
}else {
|
||||
url = this.url.edit
|
||||
}
|
||||
let method = 'post'
|
||||
httpAction(url,submitData,method).then(res => {
|
||||
if(res.success){
|
||||
that.$emit('ok')
|
||||
that.handleCancel()
|
||||
that.$message.success(res.message)
|
||||
that.confirmLoading = false
|
||||
}else {
|
||||
that.$message.warn(res.message)
|
||||
}
|
||||
}).finally( () => {
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 获取表单的值
|
||||
* */
|
||||
getFormData(value){
|
||||
this.formData = Object.assign({},value)
|
||||
},
|
||||
/*
|
||||
* 取消
|
||||
@@ -475,7 +275,40 @@ export default {
|
||||
* */
|
||||
changeIdentify(e) {
|
||||
this.identifyType = e.target.value
|
||||
}
|
||||
// 切换身份清除上次选择的值
|
||||
if (e.target.value !== 1) {
|
||||
this.guestType = null
|
||||
}
|
||||
},
|
||||
/*
|
||||
* 选择嘉宾类型
|
||||
* */
|
||||
changeGuestType(e) {
|
||||
this.guestType = e.target.value
|
||||
},
|
||||
/*
|
||||
* 选择参会企业
|
||||
* */
|
||||
changeCompany(value) {
|
||||
this.selectedCompany = value
|
||||
},
|
||||
/*
|
||||
* 选择联系人获取信息
|
||||
* */
|
||||
changeContact(val) {
|
||||
const that = this
|
||||
getContactsById({id: val}).then(res => {
|
||||
const model = Object.assign({}, res.result)
|
||||
// 设置手机 邮箱 职务
|
||||
if (res.success) {
|
||||
that.form.setFieldsValue(pick(model, 'phone', 'email', 'post'))
|
||||
}
|
||||
// 设置邮寄联系人和地址
|
||||
if(this.$refs.formother !== undefined){
|
||||
this.$refs.formother.setAddressVal(res.result)
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
|
||||
<script>
|
||||
import SelectContacts from '@comp/company/SelectContacts'
|
||||
import {httpAction} from '@api/manage'
|
||||
|
||||
export default {
|
||||
name: 'BatchInvocieModal',
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
|
||||
<script>
|
||||
import SelectPrincipal from '@comp/company/SelectPrincipal'
|
||||
import {httpAction} from '@api/manage'
|
||||
|
||||
export default {
|
||||
name: 'BatchSetDockerModal',
|
||||
components:{
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
<template>
|
||||
<a-form :form="form">
|
||||
<!--合作伙伴显示的企业信息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">
|
||||
<j-date placeholder="请选择抵达时间" style="width: 100%;" v-decorator="['arrivalTime']"
|
||||
:trigger-change="true"
|
||||
show-type="day"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="离开时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择离开时间" style="width: 100%;" v-decorator="['departureTime']"
|
||||
:disabled-date="disabledEndDate"
|
||||
:trigger-change="true"
|
||||
show-type="day"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!--合作伙伴显示的企业信息end-->
|
||||
</a-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import JDate from '@comp/jero/JDate'
|
||||
import moment from 'moment'
|
||||
|
||||
export default {
|
||||
name: 'SeminarPartnerForm',
|
||||
data() {
|
||||
return {
|
||||
desription: '其他会议的参会情况的表单',
|
||||
form: this.$form.createForm(this),
|
||||
labelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 6}
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 18}
|
||||
},
|
||||
remarksLabelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 3}
|
||||
},
|
||||
remarksWrapperCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 21}
|
||||
},
|
||||
selectedCompany: null,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
JDate,
|
||||
},
|
||||
methods:{
|
||||
moment,
|
||||
handleOk() {
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
this.$emit('formData', values)
|
||||
}else {
|
||||
this.$emit('formData', {stop:true})
|
||||
}
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 离开时间禁用
|
||||
* */
|
||||
disabledEndDate(endValue) {
|
||||
const startValueTemp = this.form.getFieldValue('arrivalTime')
|
||||
const startValue = startValueTemp && moment(startValueTemp ,'YYYY-MM-DD')
|
||||
if (!endValue || !startValue) {
|
||||
return false
|
||||
}
|
||||
return startValue.valueOf() > endValue.valueOf()
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
|
||||
.submit {
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.item-title {
|
||||
padding-left: 40px;
|
||||
box-sizing: border-box;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
color: #333;
|
||||
position: relative;
|
||||
font-size: 16px;
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50%;
|
||||
background: #069f99;
|
||||
top: 50%;
|
||||
margin-top: -5px;
|
||||
left: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>>
|
||||
@@ -0,0 +1,392 @@
|
||||
<template>
|
||||
<a-form :form="form">
|
||||
<!--演讲信息begin-->
|
||||
<!-- 特邀嘉宾没有用餐信息-->
|
||||
<template v-if="guestType !== 3 ">
|
||||
<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-input placeholder="请输入演讲题目"
|
||||
:maxLength='50'
|
||||
v-decorator="['speechTopic']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="演讲ppt" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-upload v-decorator="['speech_ppt']" :return-id="true"></j-upload>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="照片" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-image-upload v-decorator="['photo']" :return-id="true"></j-image-upload>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="18" :xl="18" :sm="24">
|
||||
<a-form-item label="个人简介" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-textarea
|
||||
placeholder="请输入个人简介"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
v-decorator="['profile']"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
</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 v-decorator="['haveMealBools',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>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!--用餐信息end-->
|
||||
<!--住店信息begin-->
|
||||
<!-- 特邀嘉宾 演讲嘉宾没有住店信息-->
|
||||
<template v-if="guestType === 1">
|
||||
<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 v-decorator="['checkinHotel',validatorRules.checkinHotel]" @change="changeHotel">
|
||||
<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="inHotelBool">
|
||||
<a-form-item label="入住酒店时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date v-decorator="['inHotelTime']" :trigger-change="true" show-type="day"
|
||||
placeholder="请选择入住酒店时间"></j-date>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="inHotelBool">
|
||||
<a-form-item label="离店时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date :disabled-date="disabledEndDate" :trigger-change="true" show-type="day"
|
||||
v-decorator="['outHotelTime']" placeholder="请选择离店时间"></j-date>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="inHotelBool">
|
||||
<a-form-item label="房型" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input @change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
||||
v-decorator="['roomLayout']"
|
||||
placeholder="请输入房型"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</template>
|
||||
<!--住店信息end-->
|
||||
<!--VIP行程信息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 v-decorator="['pickUp',validatorRules.pickUp]" @change="changePickup">
|
||||
<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="pickUpBool">
|
||||
<a-form-item label="抵达时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择抵达时间" style="width: 100%;" v-decorator="['arrivalTime']"
|
||||
:trigger-change="true"
|
||||
show-type="day"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</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 placeholder="请输入到达站"
|
||||
:maxLength='50'
|
||||
v-decorator="[ 'destination']"></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 placeholder="请输入到达班次"
|
||||
:maxLength='50'
|
||||
v-decorator="[ 'arrivalShift']"></a-input>
|
||||
</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-radio-group v-decorator="['deliveryStation',validatorRules.deliveryStation]" @change="changeSend">
|
||||
<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="sendBool">
|
||||
<a-form-item label="离开时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择离开时间" style="width: 100%;" v-decorator="['departureTime']"
|
||||
:trigger-change="true"
|
||||
show-type="day"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="sendBool">
|
||||
<a-form-item label="离开站" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入离开站"
|
||||
:maxLength='50'
|
||||
v-decorator="[ 'departureStation']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="sendBool">
|
||||
<a-form-item label="离开班次" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入离开班次"
|
||||
:maxLength='50'
|
||||
v-decorator="[ 'departureShift']"></a-input>
|
||||
</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'
|
||||
v-decorator="[ 'peer']"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
<!--特邀嘉宾没有备注-->
|
||||
<a-row :gutter="24" v-if="guestType!== 3">
|
||||
<a-col :xxl="18" :xl="18" :sm="24">
|
||||
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-textarea
|
||||
placeholder="请输入备注"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
v-decorator="['remark']"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
<!--VIP行程信息end-->
|
||||
</a-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import JDate from '@comp/jero/JDate'
|
||||
import JImageUpload from '@comp/jero/JImageUpload'
|
||||
import JUpload from '@comp/jero/JUpload'
|
||||
import moment from 'moment'
|
||||
|
||||
export default {
|
||||
name: 'SeminarVipForm',
|
||||
data() {
|
||||
return {
|
||||
desription: '其他会议的参会情况的表单',
|
||||
form: this.$form.createForm(this),
|
||||
labelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 6}
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 18}
|
||||
},
|
||||
remarksLabelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 3}
|
||||
},
|
||||
remarksWrapperCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 21}
|
||||
},
|
||||
selectedCompany: null,
|
||||
// 是否用餐
|
||||
haveMealBool: false,
|
||||
// 是否入住酒店
|
||||
inHotelBool: false,
|
||||
// 是否送站
|
||||
sendBool: false,
|
||||
// 是否接站
|
||||
pickUpBool: false,
|
||||
validatorRules: {
|
||||
haveMealBools: {
|
||||
rules: [{required: true, message: '请选择是否用餐'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
huiPeople: {
|
||||
rules: [{required: true, message: '请选择是否回民'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
checkinHotel: {
|
||||
rules: [{required: true, message: '请选择是否入住酒店'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
pickUp: {
|
||||
rules: [{required: true, message: '请选择是否接站'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
deliveryStation: {
|
||||
rules: [{required: true, message: '请选择是否送站'}],
|
||||
validateTrigger: 'change'
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
props: {
|
||||
// 会议类型
|
||||
meetingType: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
// 身份类型
|
||||
identifyType: {
|
||||
type: Number,
|
||||
required: false,
|
||||
// 默认为参会人
|
||||
default: 2
|
||||
},
|
||||
// 嘉宾类型
|
||||
guestType: {
|
||||
type: Number,
|
||||
required: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
JDate,
|
||||
JImageUpload,
|
||||
JUpload
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
handleOk() {
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
this.$emit('formData', values)
|
||||
} else {
|
||||
this.$emit('formData', {stop: true})
|
||||
}
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 选择是否用餐
|
||||
* */
|
||||
selecthaveMealBools(e) {
|
||||
if (e.target.value === 1) {
|
||||
this.haveMealBool = true
|
||||
} else {
|
||||
this.haveMealBool = false
|
||||
}
|
||||
},
|
||||
/*
|
||||
* 选择是否入住酒店
|
||||
* */
|
||||
changeHotel(e) {
|
||||
if (e.target.value === 1) {
|
||||
this.inHotelBool = true
|
||||
} else {
|
||||
this.inHotelBool = false
|
||||
}
|
||||
},
|
||||
/*
|
||||
* 选择是否送站
|
||||
* */
|
||||
changeSend(e) {
|
||||
if (e.target.value === 1) {
|
||||
this.sendBool = true
|
||||
} else {
|
||||
this.sendBool = false
|
||||
}
|
||||
},
|
||||
/*
|
||||
* 选择是否接站
|
||||
* */
|
||||
changePickup(e) {
|
||||
if (e.target.value === 1) {
|
||||
this.pickUpBool = true
|
||||
} else {
|
||||
this.pickUpBool = false
|
||||
}
|
||||
},
|
||||
/*
|
||||
* 离开酒店时间禁用
|
||||
* */
|
||||
disabledEndDate(endValue) {
|
||||
const startValueTemp = this.form.getFieldValue('inHotelTime')
|
||||
const startValue = startValueTemp && moment(startValueTemp, 'YYYY-MM-DD')
|
||||
if (!endValue || !startValue) {
|
||||
return false
|
||||
}
|
||||
return startValue.valueOf() > endValue.valueOf()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
|
||||
.submit {
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.item-title {
|
||||
padding-left: 40px;
|
||||
box-sizing: border-box;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
color: #333;
|
||||
position: relative;
|
||||
font-size: 16px;
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50%;
|
||||
background: #069f99;
|
||||
top: 50%;
|
||||
margin-top: -5px;
|
||||
left: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -77,7 +77,7 @@
|
||||
<!-- 操作按钮区域-->
|
||||
<div class="table-operator">
|
||||
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
|
||||
<a-button type="primary" icon="export" @click="handleExportXls('企业管理')">导出</a-button>
|
||||
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议维护')">导出</a-button>
|
||||
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
|
||||
<a-button type="primary" @click="publishRemind">发布-提醒</a-button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user