diff --git a/src/api/incomePaymentsApi.js b/src/api/incomePaymentsApi.js index 692d308..a0fef27 100644 --- a/src/api/incomePaymentsApi.js +++ b/src/api/incomePaymentsApi.js @@ -24,6 +24,8 @@ const getWorkingGroupListByNotCompany = (param) => getAction('/project/payWorkin const archiveRevenueContract = (param) => postAction('contract/payIncomeContract/archive', param) // 根据部门id获取用户信息 const queryUserByDepartId = (param) => getAction('/sys/user/listRoleAndDepart', param) +// 企业联系人新建重名校验 +const queryContactByName = (param) => getAction('/company/payContactsManagement/queryByName', param) export { getWorkingGroupById, @@ -37,5 +39,6 @@ export { submitAudit, getWorkingGroupListByNotCompany, archiveRevenueContract, - queryUserByDepartId + queryUserByDepartId, + queryContactByName } \ No newline at end of file diff --git a/src/views/businessManagement/modules/ContactManagementModule.vue b/src/views/businessManagement/modules/ContactManagementModule.vue index 2667263..c2352c5 100644 --- a/src/views/businessManagement/modules/ContactManagementModule.vue +++ b/src/views/businessManagement/modules/ContactManagementModule.vue @@ -16,7 +16,8 @@ v-decorator="['company',validatorRules.company]" :maxLength='50' :is-company-disabled="isCompanyDisabled" - :disabled="isCompanyDisabled"> + :disabled="isCompanyDisabled" + @change="companyChange"> @@ -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