[update] -分标委增加负责人A 和负责人B 字段

This commit is contained in:
fengchenchen
2022-07-13 16:46:15 +08:00
parent eb819e3b80
commit a2537216da
@@ -9,6 +9,9 @@
@cancel="handleCancel"
cancelText="关闭">
<a-spin :spinning="confirmLoading">
<span class="prompt-message">
说明1.负责人A为该分标委的主负责人负责人B为该分标委的辅助负责人
</span>
<a-form :form="form">
<a-row :gutter="10">
<a-col :xl="12" :sm="24">
@@ -31,6 +34,22 @@
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-item label="负责人A" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-principal placeholder="请选择负责人A"
v-decorator="['principalIdA',validatorRules.principalIdA]"
:maxLength='50'></select-principal>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="负责人B" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-principal placeholder="请选择负责人B"
v-decorator="['principalIdB',validatorRules.principalIdB]"
:maxLength='50'></select-principal>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col>
<a-form-item label="目标简述" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
@@ -50,10 +69,13 @@
<script>
import pick from 'lodash.pick'
import SelectPrincipal from '@comp/company/SelectPrincipal'
import { httpAction } from '@api/manage'
import {isRepeat} from '../../../../utils/util'
export default {
name: 'CommitteeModule',
components: { SelectPrincipal },
data() {
return {
title: '操作',
@@ -87,6 +109,14 @@ export default {
rules: [{ required: true, message: '请输入分标委简称' }],
validateTrigger: 'blur'
},
principalIdA: {
rules: [{ required: true, validator: this.validatePrincipal }],
validateTrigger: 'change'
},
principalIdB: {
rules: [{ required: false, validator: this.validatePrincipal }],
validateTrigger: 'change'
},
remarks: {
rules: [{ required: true, message: '请输入目标简述' }],
validateTrigger: 'blur'
@@ -114,6 +144,31 @@ export default {
this.$emit('close')
this.visible = false
},
/**
* 校验负责人是否重复
* @param rule
* @param value
* @param callback
*/
validatePrincipal(rule, value, callback) {
if (rule.field === 'principalIdA') {
if (!value) {
callback('请选择负责人A')
}
}
if (value) {
const principalObj = this.form.getFieldsValue(['principalIdA', 'principalIdB'])
const principalArr = Object.values(principalObj)
principalArr.filter(tt => tt !== undefined)
if (isRepeat(principalArr)) {
callback('请选择不同的负责人')
} else {
callback()
}
return
}
callback()
},
handleOk() {
if (this.confirmLoading) {
return
@@ -175,4 +230,12 @@ export default {
padding: 0 10px 0 5px;
}
}
.prompt-message {
float: left;
color: red;
margin-bottom: 10px;
&-line2 {
padding-left: 2.7rem;
}
}
</style>