【update】- 国际研讨会-WASIC需求变更2

This commit is contained in:
fengchenchen
2023-10-26 17:20:40 +08:00
parent c8917f5aef
commit e2590e325d
6 changed files with 79 additions and 25 deletions
+20 -2
View File
@@ -1,6 +1,6 @@
<template>
<a-checkbox-group v-if="tagType=='checkbox'" @change="onChange" :value="arrayValue" :disabled="disabled">
<a-checkbox v-for="item in dictOptions" :key="'a_checkbox_'+ item.value" :value="item.value">{{ item.text || item.label }}</a-checkbox>
<a-checkbox v-for="item in dictOptions" :key="'a_checkbox_'+ item.value" :value="item.value" :disabled="item.disabled">{{ item.text || item.label }}</a-checkbox>
</a-checkbox-group>
<a-select
@@ -47,6 +47,12 @@
default:'',
required:false
},
// 是否按照下拉框的顺序过滤
sortable:{
type:Boolean,
default:true,
required:false
}
},
data() {
return {
@@ -103,7 +109,19 @@
},
onChange (selectedValue) {
this.$emit('change', selectedValue.join(this.spliter))
let arr = [...selectedValue]
if(this.sortable) {
arr.sort((a, b) => {
let firstIndex = this.dictOptions.findIndex(ele => ele.value === a)
let secondIndex = this.dictOptions.findIndex(ele => ele.value === b)
if(firstIndex > secondIndex) {
return 1
} else {
return -1
}
})
}
this.$emit('change', arr.join(this.spliter))
},
setCurrentDictOptions(dictOptions){
this.dictOptions = dictOptions
+3 -2
View File
@@ -22,7 +22,7 @@ export const InvoiceTypeEnums = {
plain: { name: '增值税普通发票', index: 1 },
special: { name: '增值税专用发票', index: 2 }
}
// 国际研讨会关联课题
// 国际研讨会关联会议
//汽车网络安全与数据安全标准合规专题,
// 智能网汽车标准化领航及标准路线图专题,
// 汽车地毯专题,
@@ -30,6 +30,7 @@ export const InvoiceTypeEnums = {
// 弱势道路交通参与者(VRU)保护专题,
// 免费专题
export const LinkTopicsEnums = {
free: { name: '免费专题', index: 6 }
free: { name: '免费专题', index: 6 },
default: {name: '114/22焦点论坛(默认专题)', index: 99}
}
@@ -109,13 +109,14 @@
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-if="isWasic">
<a-form-item label="关联课题" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-form-item label="关联会议" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-multi-select-tag
v-decorator="['linkTopics',validatorRules.linkTopics]"
:trigger-change="true"
style="width: 100%"
dict-code="linkTopics"
placeholder="请选择关联课题"
sortable
placeholder="请选择关联会议"
>
</j-multi-select-tag>
@@ -338,8 +339,8 @@
<!--2023-10-23 wasic会议的时候存在-->
<template v-if="isWasic">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="会议费用(2个课题)" :labelCol="{ xs: {span: 24},sm: {span: 8}}" :wrapperCol="{ xs: {span: 24},sm: {span: 14}}">
<a-input placeholder="请输入会议费用(2个课题)"
<a-form-item label="1个及以下专题研讨费用" :labelCol="{ xs: {span: 24},sm: {span: 8}}" :wrapperCol="{ xs: {span: 24},sm: {span: 14}}">
<a-input placeholder="请输入1个及以下专题研讨费用"
:maxLength='50'
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}"
@blur="addZero"
@@ -348,8 +349,8 @@
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="会议费用(3个及以上)" :labelCol="{ xs: {span: 24},sm: {span: 8}}" :wrapperCol="{ xs: {span: 24},sm: {span: 14}}">
<a-input placeholder="请输入会议费用(3个及以上)"
<a-form-item label="2个及以上专题研讨费用" :labelCol="{ xs: {span: 24},sm: {span: 8}}" :wrapperCol="{ xs: {span: 24},sm: {span: 14}}">
<a-input placeholder="请输入2个及以上专题研讨费用"
:maxLength='50'
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}"
@blur="addZero"
@@ -537,6 +538,7 @@ import JImageUpload from '@comp/jero/JImageUpload'
import {checkMeetingName} from '@/utils/validateOnly'
import {addZero} from '@/utils/util'
import {money, phoneReg} from '@/utils/validate'
import { LinkTopicsEnums } from '../../../enums/commonEnums'
export default {
@@ -906,6 +908,18 @@ export default {
formData.endSignInTime = this.newSignInTime[1]
}
formData.convokeLocale = '10001'
// 关联会议 的处理
if (formData.linkTopics) {
// let linkTopicsArrs = formData.linkTopics.split(',')
// linkTopicsArrs.sort((a, b) => {
// if(a > b) {
// return 1
// } else {
// return -1
// }
// })
// formData.linkTopics = linkTopicsArrs.join(',')
}
console.log('表单提交数据', formData)
httpAction(httpurl, formData, method).then((res) => {
@@ -1192,6 +1206,12 @@ export default {
isWasicChange(e) {
console.log(e)
this.isWasic = Number(e)
// 如果是WASIC 会议,则 默认选中 一个会议
setTimeout(() => {
this.form.setFieldsValue({
linkTopics: LinkTopicsEnums.default.index + ''
})
})
},
/*
* 根据会议类型返回不同的会议新增与编辑接口
@@ -1345,7 +1365,7 @@ export default {
},
validateMeetingCostsTwoTopic(rule, value, callback) {
if (value === undefined || value === '' || value === null) {
callback('请输入会议费用(2个课题)')
callback('请输入1个及以下专题研讨费用')
}
if (value && money(value)) {
callback()
@@ -1355,7 +1375,7 @@ export default {
},
validateMeetingCostsThreeTopic(rule, value, callback) {
if (value === undefined || value === '' || value === null) {
callback('请输入会议费用(3个及以上)')
callback('请输入2个及以上专题研讨费用')
}
if (value && money(value)) {
callback()
@@ -21,9 +21,12 @@
<a-col :xxl="8" :xl="12" :sm="24" >
<label>是否WASIC</label><span>{{ currentMeetingInfo.isWasic_dictText || '否' }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-if="currentMeetingInfo.isWasic">
<label>关联课题</label><span><j-ellipsis :value="currentMeetingInfo.linkTopics_dictText" :length="35"></j-ellipsis></span>
</a-col>
<a-row class="flex-col mul-row-row" v-if="currentMeetingInfo.isWasic">
<label>关联会议</label>
<span class="mul-row-content">
<span class="content" v-for="item in (currentMeetingInfo.linkTopics_dictText || '').split(',')" :key="item">{{item}}</span>
</span>
</a-row>
</template>
<a-col :xxl="8" :xl="12" :sm="24">
@@ -51,10 +54,10 @@
<!--国际研讨会 且为WASIC-->
<template v-if="currentMeetingInfo.meetingType === '3' && currentMeetingInfo.isWasic">
<a-col :xxl="8" :xl="12" :sm="24">
<label>会议费用2个课题</label><span>{{ currentMeetingInfo.meetingCostsTwoTopic }} /</span>
<label>1个及以下专题研讨</label><span>{{ currentMeetingInfo.meetingCostsTwoTopic }} /</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label>会议费用3个及以上</label><span>{{ currentMeetingInfo.meetingCostsThreeTopic }} /</span>
<label>2个及以上专题研讨费用</label><span>{{ currentMeetingInfo.meetingCostsThreeTopic }} /</span>
</a-col>
</template>
<template v-else>
@@ -43,15 +43,15 @@
v-decorator="['phone',validatorRules.phone]"></a-input>
</a-form-item>
</a-col>
<!-- 国际研讨会 WASIC 增加课题名称的选择--已经到账的信息不能修改-->
<!-- 国际研讨会 WASIC 增加会议名称的选择--已经到账的信息不能修改-->
<a-col :xxl="8" :xl="12" :sm="24" v-if="currentMeetingInfo.isWasic">
<a-form-item label="课题名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
<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="请选择课题名称"
placeholder="请选择会议名称"
:options="linkTopicsOptionArr"
type="checkbox"
class="meeting-form-multi-select"
@@ -152,7 +152,7 @@ import {httpAction} from '@api/manage'
import pick from 'lodash.pick'
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
import { queryCompanyInfoById } from '../../../api/api'
import { LinkTopicsEnums } from "../../../enums/commonEnums";
import { LinkTopicsEnums } from '../../../enums/commonEnums'
export default {
name: 'SignUpInfoEdit',
@@ -204,7 +204,7 @@ export default {
},
choiceTopic: {
rules: [
{required: true, message: '请选择课题名称'},
{required: true, message: '请选择会议名称'},
],
validateTrigger: ['change']
},
@@ -269,7 +269,7 @@ export default {
title:'添加参会人',
// 当前参会企业是否是内部企业
isInternalEnterprise: false,
// 可选课题名称的数组
// 可选会议名称的数组
linkTopicsOptionArr: []
}
},
@@ -320,6 +320,18 @@ export default {
getLinkTopics({id: meetingId}).then(res =>{
if(res.success) {
this.linkTopicsOptionArr = res.result || []
// 操作默认的课题,默认的课题不能删除
this.linkTopicsOptionArr.map(item => {
if((item.value + '') === (LinkTopicsEnums.default.index + '')) {
item.disabled = true
}
})
// 非新增页面,给Form赋值
if(!this.model.id) {
this.form.setFieldsValue({
choiceTopic: LinkTopicsEnums.default.index + ''
})
}
}
})
},
@@ -654,7 +666,7 @@ export default {
}
}
// 国际研讨会-关联课题 多选样式的修改
// 国际研讨会-关联会议 多选样式的修改
.meeting-form-multi-select{
/deep/.ant-checkbox-wrapper + .ant-checkbox-wrapper {
@@ -37,7 +37,7 @@ export default {
},
linkTopics: {
rules: [
{required: true, message: '请选择关联课题'},
{required: true, message: '请选择关联会议'},
],
validateTrigger: ['change']
},