[update] 企业联系人新增姓名验重

This commit is contained in:
zhaoxiao
2021-09-08 10:47:33 +08:00
parent 98b932e6a1
commit 53e205e5f1
2 changed files with 57 additions and 18 deletions
@@ -16,7 +16,8 @@
v-decorator="['company',validatorRules.company]"
:maxLength='50'
:is-company-disabled="isCompanyDisabled"
:disabled="isCompanyDisabled"></company-select>
:disabled="isCompanyDisabled"
@change="companyChange"></company-select>
</a-form-item>
</a-col>
<a-col :xl="12" :sm="24">
@@ -103,10 +104,11 @@ import { httpAction } from '@api/manage'
import CompanySelect from '@comp/company/CompanySelect'
import { postcode, phoneReg, isEmail } from '@/utils/validate'
import { duplicateCheck } from '@api/api'
import { queryContactByName } from "../../../api/incomePaymentsApi"
export default {
name: 'ContactManagementModule',
components: { CompanySelect },
components: {CompanySelect},
props: {
// 是否可以选择企业 true--不可选;false--可选
isCompanyDisabled: {
@@ -144,20 +146,20 @@ export default {
form: this.$form.createForm(this),
model: {},
labelCol: {
xs: { span: 24 },
sm: { span: 6 }
xs: {span: 24},
sm: {span: 6}
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 18 }
xs: {span: 24},
sm: {span: 18}
},
remarksLabelCol: {
xs: { span: 24 },
sm: { span: 3 }
xs: {span: 24},
sm: {span: 3}
},
remarksWrapperCol: {
xs: { span: 24 },
sm: { span: 21 }
xs: {span: 24},
sm: {span: 21}
},
url: {
add: '/company/payContactsManagement/add',
@@ -165,30 +167,31 @@ export default {
},
validatorRules: {
company: {
rules: [{ required: true, validator: this.checkCompany }],
rules: [{required: true, validator: this.checkCompany}],
validateTrigger: 'change'
},
name: {
rules: [{ required: true, message: '请输入姓名' }],
rules: [{required: true, validator: this.checkName}],
validateTrigger: 'blur'
},
phone: {
rules: [{ required: true, validator: this.checkPhone }],
rules: [{required: true, validator: this.checkPhone}],
validateTrigger: 'blur'
},
email: {
rules: [{ required: true, validator: this.checkMail }],
rules: [{required: true, validator: this.checkMail}],
validateTrigger: 'blur'
},
postalCode: {
rules: [{ required: true, validator: this.checkPostcode }],
rules: [{required: true, validator: this.checkPostcode}],
validateTrigger: 'blur'
},
contactAddress: {
rules: [{ required: true, message: '请输入通讯地址' }],
rules: [{required: true, message: '请输入通讯地址'}],
validateTrigger: 'blur'
}
}
},
selectedCompanyId: null, // 当前选择企业的id
}
},
methods: {
@@ -258,6 +261,13 @@ export default {
handleCancel() {
this.close()
},
/**
* 企业修改,获取当前企业的信息,用于联系人姓名验重
* @param value
*/
companyChange(value) {
this.selectedCompanyId = value.id
},
/**
* 企业必填校验
* @param rules
@@ -272,6 +282,32 @@ export default {
}
callback('请选择企业')
},
/**
* 联系人姓名重复校验
* @param rules
* @param value
* @param callback
*/
checkName(rules, value, callback) {
if (value) {
if (this.isCompanyDisabled) {
this.selectedCompanyId = this.selectedCompany.id
}
let param = {
companyId: this.selectedCompanyId,
name: value
}
queryContactByName(param).then(res => {
if (res.success) {
callback()
} else {
callback(res.message)
}
})
return
}
callback('请输入姓名')
},
/**
* 手机号校验
* @param rules