[update]-国际研讨会 WASIC会议 相关需求变更1

This commit is contained in:
fengchenchen
2023-10-24 09:25:45 +08:00
parent 3ad2db725a
commit 0cec7b057c
6 changed files with 151 additions and 16 deletions
+4 -1
View File
@@ -65,6 +65,8 @@ const queryPostInfoById = (params) => getAction('/company/payContactsManagement/
// 报名的时候修改企业的信息
const updateInvoiceBySignUp = (params) => postAction('/company/payCompanyManagement/updateInvoice', params)
// 国际研讨会-WASIC-通过会议ID获取关联主题的信息
const getLinkTopics = (params) => getAction('/meeting/internalMeeting/getLinkTopics', params)
export {
queryCommonProjectById,
@@ -96,5 +98,6 @@ export {
judgeMeetingCode,
upgradeVip,
updateInvoiceBySignUp
updateInvoiceBySignUp,
getLinkTopics
}
+10
View File
@@ -53,3 +53,13 @@ export const InvoiceTypeEnums = {
plain: { name: '增值税普通发票', index: 1 },
special: { name: '增值税专用发票', index: 2 }
}
// 国际研讨会关联课题
//汽车网络安全与数据安全标准合规专题,
// 智能网汽车标准化领航及标准路线图专题,
// 汽车地毯专题,
// 动力电池安全专题,
// 弱势道路交通参与者(VRU)保护专题,
// 免费专题
export const LinkTopicsEnums = {
free: { name: '免费专题', index: 6 }
}
+39 -12
View File
@@ -21,6 +21,17 @@
<span><j-ellipsis :value="generateMeetingType(model.meetingType)" :length="20"></j-ellipsis></span>
</a-col>
</a-row>
<!--国际研讨会的判断-是否WASIC-->
<a-row :gutter="24" class="flex-col" v-if="model.meetingType === MeetingTypeEnums.internationalSeminar.index">
<a-col :span="12">
<label>是否WASIC</label>
<span><j-ellipsis :value="model.isWasic_dictText || '否'" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12" v-if="model.isWasic">
<label>关联课题</label>
<span><j-ellipsis :value="model.linkTopics_dictTixt" ></j-ellipsis></span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>召开时间</label>
@@ -87,22 +98,33 @@
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>会议费用</label>
<span>{{ model.meetingCosts }} /</span>
</a-col>
<a-col :span="12" v-show="model.meetingType === '2' ">
<label>会议费用(标协会员)</label>
<span>{{ model.meetingCostsVip }} /</span>
</a-col>
<a-col :span="12" v-if="model.paymentQrCode && model.meetingType !== '2'">
<!--国际研讨会 且为WASIC-->
<template v-if="Number(model.meetingType) === MeetingTypeEnums.internationalSeminar.index && model.isWasic">
<a-col :xxl="8" :xl="12" :sm="24">
<label>会议费用2个课题</label><span>{{ model.meetingCostsTwoTopic }} /</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label>会议费用3个及以上</label><span>{{ model.meetingCostsThreeTopic }} /</span>
</a-col>
</template>
<template v-else>
<a-col :span="12">
<label>会议费用</label>
<span>{{ model.meetingCosts }} /</span>
</a-col>
<a-col :span="12" v-show="Number(model.meetingType) === MeetingTypeEnums.standard.index">
<label>会议费用(标协会员)</label>
<span>{{ model.meetingCostsVip }} /</span>
</a-col>
</template>
<a-col :span="12" v-if="model.paymentQrCode && Number(model.meetingType) !== MeetingTypeEnums.standard.index">
<label>收费二维码</label>
<span>
<img :src="paymentQrCodeSrc" alt="nothing show" class="payment-qrcode-img"/>
</span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col" v-if="model.paymentQrCode && model.meetingType === '2'">
<a-row :gutter="24" class="flex-col" v-if="model.paymentQrCode && Number(model.meetingType) === MeetingTypeEnums.standard.index">
<a-col :span="24">
<label>收费二维码</label>
<span>
@@ -189,14 +211,19 @@
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<!--是否为WASIC字段判断-->
<a-col :span="12" v-if="model.isWasic">
<label>课题名称</label>
<span><j-ellipsis :value="situationInfo.choiceTopic_dictText"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<label>手机号</label>
<span><j-ellipsis :value="situationInfo.phone" :length="20"></j-ellipsis></span>
</a-col>
</a-row>
<!-- 行程信息 -->
<a-row :gutter="24" class="flex-col">
<a-col :span="12" v-show="situationInfo.checkInHotel_dictText">
<a-row :gutter="24" class="flex-col" v-show="situationInfo.checkInHotel_dictText">
<a-col :span="12" >
<label>是否住酒店</label>
<span>{{ situationInfo.checkInHotel_dictText }}</span>
</a-col>
@@ -159,6 +159,7 @@
@click.stop="uploadPaymentRecord(item)"
>查看凭证
</a-button>
{{item.signUpStatus}}--{{$store.getters.userInfo.roleCode !== '3'}}
<!-- 有上传凭证按钮: A 待上传凭证 | 凭证被拒绝 状态 B 缴费方式为汇款+现场缴费、会议状态进行中 || 缴费方式为汇款 、会议状态为未开始 || 不是企业管理员-->
<a-button
v-if="(item.signUpStatus === SignUpStatusEnum.pendingUploadVoucher.index || item.signUpStatus === SignUpStatusEnum.rejectedVoucher.index)
+12
View File
@@ -75,6 +75,12 @@
<span class="word-beak">{{ currentMeetingInfo.meetingContent }}</span>
</a-col>
</a-row>
<a-row :gutter="24" v-if="isWasic">
<a-col :span="24" class="flex-col">
<label style="flex-shrink: 0">关联课题</label>
<span class="word-beak">{{ currentMeetingInfo.linkTopics_dictText }}</span>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24" class="flex-col">
<label>备注</label>
@@ -133,6 +139,8 @@ export default {
invalidationBool: false,
// url是否有id参数
urlHaveIdBool:false,
// 是否为国际研讨会 WASIC会议
isWasic: false
}
},
created() {
@@ -203,6 +211,10 @@ export default {
// 有vip会议费用 并且 不是 信息交流会(年会)
if (this.currentMeetingInfo.meetingCostsVip && (this.currentMeetingInfo.tbMeetingType + '' !== '3')) {
this.meetingMoney = `非标协会员(${this.currentMeetingInfo.meetingCosts}/人) 标协会员(${this.currentMeetingInfo.meetingCostsVip}/人)`
} else if (this.currentMeetingInfo.meetingType === '3' && this.currentMeetingInfo.isWasic){
this.isWasic = true
// 国际研讨会 且为WASIC 会议
this.meetingMoney = `会议费用(2个课题)(${this.currentMeetingInfo.meetingCostsTwoTopic}/人) 会议费用(3个及以上)(${this.currentMeetingInfo.meetingCostsThreeTopic}/人)`
} else {
this.meetingMoney = ` ${this.currentMeetingInfo.meetingCosts}/人`
}
+85 -3
View File
@@ -82,6 +82,12 @@
<span class="word-beak">{{ currentMeetingInfo.meetingContent }}</span>
</a-col>
</a-row>
<a-row :gutter="24" v-if="isWasic">
<a-col :span="24" class="flex-col">
<label style="flex-shrink: 0">关联课题</label>
<span class="word-beak">{{ currentMeetingInfo.linkTopics_dictText }}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="24" class="flex-col">
<label>备注</label>
@@ -142,7 +148,26 @@
</a-radio-group>
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '3' ">
<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-form-item label="是否有邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-decorator="['inviteCode',validatorRules.inviteCode]" @change="changeInviteCode">
<a-radio :value="1"></a-radio>
@@ -252,6 +277,8 @@ import SeminarVipForm from '@comp/signUpForm/SeminarVipForm'
import SeminarPartnerForm from '@comp/signUpForm/SeminarPartnerForm'
import InviteCode from './InviteCode'
import InvoiceConfirmModal from './modules/InvoiceConfirmModal'
import {LinkTopicsEnums} from '../../enums/commonEnum'
import {getLinkTopics} from "../../api/incomePaymentsApi";
export default {
@@ -277,6 +304,10 @@ export default {
currentMeetingInfo: {},
// 会议费用
meetingMoney: '',
// 是否为国际研讨会 WASIC会议
isWasic: false,
// 可选课题名称的数组
linkTopicsOptionArr: [],
// 召开时间
holdtime: '',
// 召开地点
@@ -306,6 +337,12 @@ export default {
rules: [{required: true, message: '请选择参会企业'}],
validateTrigger: 'change'
},
choiceTopic: {
rules: [
{required: true, message: '请选择课题名称'},
],
validateTrigger: ['change']
},
inviteCode: {
rules: [{required: true, message: '请选择是否有邀请码'}],
validateTrigger: 'change'
@@ -361,6 +398,8 @@ export default {
},
// 当前参会企业是否是内部企业
isInternalEnterprise: false,
// 国际研讨会-WASIC-选择关联客户的数组
choiceTopicArr: []
}
},
created() {
@@ -374,6 +413,14 @@ export default {
}
},
methods: {
// 获取国际研讨会-能选择课题的数据字典数据
getLinkTopicsOptionArr() {
getLinkTopics({id: this.meetingId}).then(res =>{
if(res.success) {
this.linkTopicsOptionArr = res.result || []
}
})
},
/*
* 获取会议详情
* */
@@ -389,6 +436,11 @@ export default {
this.meetingMoney = `非标协会员(${this.currentMeetingInfo.meetingCosts}/人) 标协会员(${this.currentMeetingInfo.meetingCostsVip}/人)`
// 费用合计
this.meetingCostSum = this.currentMeetingInfo.meetingCosts
} else if (this.currentMeetingInfo.meetingType === '3' && this.currentMeetingInfo.isWasic){
// 国际研讨会 且为WASIC 会议
this.isWasic = true
this.meetingMoney = `会议费用(2个课题)(${this.currentMeetingInfo.meetingCostsTwoTopic}/人) 会议费用(3个及以上)(${this.currentMeetingInfo.meetingCostsThreeTopic}/人)`
this.getLinkTopicsOptionArr()
} else {
this.meetingMoney = `${this.currentMeetingInfo.meetingCosts}/人`
// 费用合计
@@ -546,7 +598,7 @@ export default {
that.confirmLoading = false
})
}
//todo 判断当前是否需要发票,如果需要发票,二次判断对应发票的信息是否正确
//判断当前是否需要发票,如果需要发票,二次判断对应发票的信息是否正确
if (Number(submitData.needInvoice)) {
that.showInvoiceConfirmModal(submitData, callbackFunc)
that.confirmLoading = false
@@ -575,7 +627,15 @@ export default {
if(e.target.value === 3 && this.currentMeetingInfo.meetingType === '3' ){
this.meetingCostSum = '0.00'
}else {
this.meetingCostSum = this.currentMeetingInfo.meetingCosts
this.meetingCostSum = this.currentMeetingInfo.meetingCosts
// TODO 如果当前是WASIC会议 则需要通过课题名称判断会议的费用
if(this.isWasic) {
if(this.choiceTopicArr.length > 2) {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsThreeTopic
} else {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic
}
}
}
// 当前会议不是国际研讨会议 身份选择嘉宾和 内部企业的会议费用为0
if(e.target.value !== 2 && this.currentMeetingInfo.meetingType !== '3' ){
@@ -669,6 +729,18 @@ export default {
this.guestType = null
})
},
changeChoiceTopic(choiceTopic) {
// 保存选择的付费主题 用于进行费用的计算
this.choiceTopicArr = (choiceTopic || '').split(',')
this.choiceTopicArr = this.choiceTopicArr.filter(item => item && item !== (LinkTopicsEnums.free.index + ''))
if(this.choiceTopicArr.length > 2) {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsThreeTopic
} else {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsTwoTopic
}
console.log(this.choiceTopicArr)
},
/*
* 是否有邀请码
* */
@@ -970,4 +1042,14 @@ export default {
}
}
// 国际研讨会-关联课题 多选样式的修改
.meeting-form-multi-select{
/deep/.ant-checkbox-wrapper + .ant-checkbox-wrapper {
margin-left: 0!important;
}
/deep/ .ant-checkbox-wrapper{
margin-right: 8px;
}
}
</style>