新增会议年份的默认 会议名称重复校验

This commit is contained in:
fengachen
2021-09-06 19:13:00 +08:00
parent 0d65eded92
commit 1acf07b140
5 changed files with 60 additions and 29 deletions
+2 -1
View File
@@ -16,7 +16,8 @@ const getters = {
enhanceJs:(state) => (code) => {
state.enhance.enhanceJs[code] = Vue.ls.get(ENHANCE_PRE+code)
return state.enhance.enhanceJs[code]
}
},
currentYear: () => new Date().getFullYear()+''
}
+22
View File
@@ -169,3 +169,25 @@ export async function checkMemberCompanyName(value, id, {err1 = memberCompanyNam
return err1
}
}
/**
* 会议名称唯一校验
*
* */
const meetingNameErrmsg = {
err1: '请输入会议名称'
}
export async function checkMeetingName(value, id, {err1 = meetingNameErrmsg.err1} = {}) {
if (value) {
const param = {
confusionCode: 'meeting_name',
fieldVal: value,
dataId: id
}
return duplicateCheck(param)
} else {
return err1
}
}
@@ -24,7 +24,7 @@
<a-input placeholder="请输入会议名称"
:maxLength='50'
@change="event => event.target.value = event.target.value.trim()"
v-decorator="['meetingName',validatorRules.meetingName]"></a-input>
v-decorator="['meetingName',validateInviteCode.meetingName]"></a-input>
</a-form-item>
</a-col>
@@ -66,14 +66,14 @@
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="年份" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-year-date v-decorator="['particularYear',validatorRules.particularYear]" placeholder="请选择年份"
<j-year-date v-decorator="['particularYear',validateInviteCode.particularYear]" placeholder="请选择年份"
style="width: 100%"></j-year-date>
</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,'')}"
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9]/g,'')}"
:maxLength='50'
v-decorator="[ 'estimatedNumber']"></a-input>
</a-form-item>
@@ -328,6 +328,7 @@ import moment from 'moment'
import pick from 'lodash.pick'
import meetingValidate from '@views/incomePayments/meetManage/meetingValidate'
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
import {checkMeetingName} from '@/utils/validateOnly'
export default {
name: 'AddOrDetailMeet',
@@ -381,7 +382,20 @@ export default {
{required: true, validator: this.validateCode},
],
validateTrigger: ['blur']
}
},
meetingName: {
rules: [
{required: true, validator: this.validaeMeetingName},
],
validateTrigger: ['blur']
},
particularYear: {
rules: [
{ required: true, message: '请选择年份!' },
],
validateTrigger:['blur','change'],
initialValue:this.$store.getters.currentYear
},
},
url: {
add: '/meeting/payMeeting/add',
@@ -403,7 +417,7 @@ export default {
}else {
return true
}
}
},
},
created() {
this.pcaData = new AreaPca()
@@ -455,9 +469,9 @@ export default {
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'meetingName', 'meetingType', 'convokeTime', 'particularYear', 'estimatedNumber', 'meetingFiles', 'registerDeadline', 'meetingContent', 'convokeLocale', 'address', 'meetingCosts', 'directorId', 'remark', 'directorPhone'))
// 如果是标协会议则回显 标协会议的字段
// if(this.meetingType === '2'){
// this.form.setFieldsValue(pick(this.model,'signInTime', ))
// }
if(this.meetingType === '2'){
this.form.setFieldsValue(pick(this.model,'signInTime','tbMeetingType','meetingCostsVip','hotelName','hotelAddress' ))
}
// 如果是工作组会议 赋值工作组
if(this.meetingType === '1'){
this.form.setFieldsValue(pick(this.model,'workingGroupId', ))
@@ -520,12 +534,6 @@ export default {
this.$router.go(-1)
},
/*
* 返回上级
* */
handleReback() {
this.$router.go(-1)
},
/*
* 监听会议类型变化
* */
changeMeetingType(val) {
@@ -640,6 +648,18 @@ export default {
}
},
/*
* 会议名称唯一校验
* */
validaeMeetingName(rule,value,callback){
checkMeetingName(value,this.model.id).then(res => {
if(res.success){
callback()
}else {
callback(res.code === 500 ? '会议名称已存在': res)
}
})
},
/*
* 获取所有的工作组
* */
getWorkSelectList() {
@@ -648,7 +668,7 @@ export default {
this.workGroupList = [...res.result]
}
})
}
},
}
}
</script>
@@ -68,7 +68,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>
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"-->
<!-- @change="handleImportExcel">-->
@@ -1,10 +1,4 @@
export default {
meetingName: {
rules: [
{ required: true, message: '请输入会议名称!' },
],
validateTrigger: 'blur'
},
meetingType: {
rules: [
{ required: true, message: '请选择会议类型!' },
@@ -17,12 +11,6 @@ export default {
],
validateTrigger:['change']
},
particularYear: {
rules: [
{ required: true, message: '请选择年份!' },
],
validateTrigger:['blur','change']
},
meetingContent:{
rules: [
{ required: true, message: '请输入会议内容!' },