diff --git a/src/store/getters.js b/src/store/getters.js index 38b5baa..c33296e 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -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()+'' } diff --git a/src/utils/validateOnly.js b/src/utils/validateOnly.js index 7769b52..6145706 100644 --- a/src/utils/validateOnly.js +++ b/src/utils/validateOnly.js @@ -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 + } +} \ No newline at end of file diff --git a/src/views/incomePayments/meetManage/AddOrDetailMeet.vue b/src/views/incomePayments/meetManage/AddOrDetailMeet.vue index aaf00dc..947870d 100644 --- a/src/views/incomePayments/meetManage/AddOrDetailMeet.vue +++ b/src/views/incomePayments/meetManage/AddOrDetailMeet.vue @@ -24,7 +24,7 @@ + v-decorator="['meetingName',validateInviteCode.meetingName]"> @@ -66,14 +66,14 @@ - @@ -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] } }) - } + }, } } diff --git a/src/views/incomePayments/meetManage/MeetManageList.vue b/src/views/incomePayments/meetManage/MeetManageList.vue index 536846d..5311e01 100644 --- a/src/views/incomePayments/meetManage/MeetManageList.vue +++ b/src/views/incomePayments/meetManage/MeetManageList.vue @@ -68,7 +68,7 @@
新增 - 导出 + 导出 批量删除 diff --git a/src/views/incomePayments/meetManage/meetingValidate.js b/src/views/incomePayments/meetManage/meetingValidate.js index 3bb288f..3370bd7 100644 --- a/src/views/incomePayments/meetManage/meetingValidate.js +++ b/src/views/incomePayments/meetManage/meetingValidate.js @@ -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: '请输入会议内容!' },