[update] 工作组成员--企业联系人验重

This commit is contained in:
zhaoxiao
2021-09-08 13:33:42 +08:00
parent 49d112da96
commit 70fc45cee2
6 changed files with 688 additions and 646 deletions
@@ -207,6 +207,7 @@ export default {
// 触发表单验证 // 触发表单验证
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
that.confirmLoading = true
values.dataSource = this.dataForm values.dataSource = this.dataForm
values.signingUp = this.applyAdd values.signingUp = this.applyAdd
let httpurl = '' let httpurl = ''
@@ -8,6 +8,7 @@
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
cancelText="关闭"> cancelText="关闭">
<a-spin :spinning="confirmLoading">
<a-form :form="form"> <a-form :form="form">
<a-row> <a-row>
<a-col :xl="12" :sm="24"> <a-col :xl="12" :sm="24">
@@ -94,6 +95,7 @@
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
</a-spin>
</j-modal> </j-modal>
</template> </template>
@@ -103,7 +105,7 @@ import { httpAction } from '@api/manage'
import CompanySelect from '@comp/company/CompanySelect' import CompanySelect from '@comp/company/CompanySelect'
import { postcode, phoneReg, isEmail } from '@/utils/validate' import { postcode, phoneReg, isEmail } from '@/utils/validate'
import { duplicateCheck } from '@api/api' import { duplicateCheck } from '@api/api'
import { queryContactByName } from "../../../api/incomePaymentsApi" import { queryContactByName } from '../../../api/incomePaymentsApi'
export default { export default {
name: 'ContactManagementModule', name: 'ContactManagementModule',
@@ -190,7 +192,7 @@ export default {
validateTrigger: 'blur' validateTrigger: 'blur'
} }
}, },
selectedCompanyId: null, // 当前选择企业的id selectedCompanyId: null // 当前选择企业的id
} }
}, },
methods: { methods: {
@@ -228,6 +230,7 @@ export default {
// 触发表单验证 // 触发表单验证
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
that.confirmLoading = true
// 处理企业名称和id等信息 // 处理企业名称和id等信息
values.companyName = values.company.companyName values.companyName = values.company.companyName
values.companyId = values.company.id values.companyId = values.company.id
@@ -8,6 +8,7 @@
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
cancelText="关闭"> cancelText="关闭">
<a-spin :spinning="confirmLoading">
<a-form :form="form"> <a-form :form="form">
<a-row> <a-row>
<a-col> <a-col>
@@ -107,7 +108,8 @@
<a-col :xl="12" :sm="24"> <a-col :xl="12" :sm="24">
<a-form-item label="来款方式" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="来款方式" :labelCol="labelCol" :wrapperCol="wrapperCol">
<span v-if="defaultChargeWay === 2 && chargeWayType === 2">合同</span> <span v-if="defaultChargeWay === 2 && chargeWayType === 2">合同</span>
<a-radio-group v-decorator="['chargeWay',validatorRules.chargeWay]" @change="handlechargeWayChange" v-else> <a-radio-group v-decorator="['chargeWay',validatorRules.chargeWay]" @change="handlechargeWayChange"
v-else>
<a-radio :value="1">无</a-radio> <a-radio :value="1">无</a-radio>
<a-radio :value="2">合同</a-radio> <a-radio :value="2">合同</a-radio>
<a-radio :value="3">收费通知</a-radio> <a-radio :value="3">收费通知</a-radio>
@@ -157,6 +159,7 @@
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
</a-spin>
</j-modal> </j-modal>
</template> </template>
@@ -192,7 +195,7 @@ export default {
type: Number, type: Number,
required: false, required: false,
default: null default: null
}, }
}, },
data() { data() {
return { return {
@@ -327,6 +330,7 @@ export default {
// 触发表单验证 // 触发表单验证
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
that.confirmLoading = true
values.chargeCompanyName = values.chargeCompany.companyName values.chargeCompanyName = values.chargeCompany.companyName
values.chargeCompanyId = values.chargeCompany.id values.chargeCompanyId = values.chargeCompany.id
// 收入合同新建项目手动赋值 // 收入合同新建项目手动赋值
@@ -8,6 +8,7 @@
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
cancelText="关闭"> cancelText="关闭">
<a-spin :spinning="confirmLoading">
<a-form :form="form"> <a-form :form="form">
<a-form-item label="收费通知号" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol"> <a-form-item label="收费通知号" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
<a-radio-group v-decorator="['chargeNoticeNo']" @change="handleChargeNoticeChange" <a-radio-group v-decorator="['chargeNoticeNo']" @change="handleChargeNoticeChange"
@@ -56,6 +57,7 @@
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
</a-spin>
</j-modal> </j-modal>
</template> </template>
@@ -107,10 +109,10 @@ export default {
// 触发表单验证 // 触发表单验证
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
this.confirmLoading = true
const formData = Object.assign(this.model, values) const formData = Object.assign(this.model, values)
console.log('表单提交数据', formData) console.log('表单提交数据', formData)
formData.ids = this.selectedRowKeys.join(',') formData.ids = this.selectedRowKeys.join(',')
postAction(this.url.setCharge, formData).then(res => { postAction(this.url.setCharge, formData).then(res => {
if (res.success) { if (res.success) {
this.$message.success(res.message) this.$message.success(res.message)
@@ -8,6 +8,7 @@
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
cancelText="关闭"> cancelText="关闭">
<a-spin :spinning="confirmLoading">
<a-form :form="form"> <a-form :form="form">
<a-row v-if="defaultChargeWay"> <a-row v-if="defaultChargeWay">
<a-col> <a-col>
@@ -15,7 +16,9 @@
<a-select placeholder="请选择工作组项目" <a-select placeholder="请选择工作组项目"
v-decorator="['workingGroupId',validatorRules.workingGroupId]" v-decorator="['workingGroupId',validatorRules.workingGroupId]"
:maxLength='50'> :maxLength='50'>
<a-select-option v-for="item in workingGroupList" :key="item.id" :value="item.id">{{ item.workingGroupProject }}</a-select-option> <a-select-option v-for="item in workingGroupList" :key="item.id" :value="item.id">
{{ item.workingGroupProject }}
</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -49,7 +52,7 @@
<select-contacts :selected-company="selectedCompany" <select-contacts :selected-company="selectedCompany"
:init-contacts="selectedContact2" :init-contacts="selectedContact2"
placeholder="请选择企业联系人2" placeholder="请选择企业联系人2"
v-decorator="['contactsIdTwo']" v-decorator="['contactsIdTwo',validatorRules.contactsRepeat]"
:maxLength='50' :maxLength='50'
ref="selectContacts2" ref="selectContacts2"
@ok="addContactsTwoOk"></select-contacts> @ok="addContactsTwoOk"></select-contacts>
@@ -62,7 +65,7 @@
<select-contacts :selected-company="selectedCompany" <select-contacts :selected-company="selectedCompany"
:init-contacts="selectedContact3" :init-contacts="selectedContact3"
placeholder="请选择企业联系人3" placeholder="请选择企业联系人3"
v-decorator="['contactsIdThree']" v-decorator="['contactsIdThree',validatorRules.contactsRepeat]"
:maxLength='50' :maxLength='50'
ref="selectContacts3" ref="selectContacts3"
@ok="addContactsThreeOk"></select-contacts> @ok="addContactsThreeOk"></select-contacts>
@@ -84,7 +87,8 @@
<a-col :xl="12" :sm="24"> <a-col :xl="12" :sm="24">
<a-form-item label="来款方式" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="来款方式" :labelCol="labelCol" :wrapperCol="wrapperCol">
<span v-if="defaultChargeWay === 2">合同</span> <span v-if="defaultChargeWay === 2">合同</span>
<a-radio-group v-decorator="['chargeWay',validatorRules.chargeWay]" @change="handlechargeWayChange" v-else> <a-radio-group v-decorator="['chargeWay',validatorRules.chargeWay]" @change="handlechargeWayChange"
v-else>
<a-radio :value="1">无</a-radio> <a-radio :value="1">无</a-radio>
<a-radio :value="2">合同</a-radio> <a-radio :value="2">合同</a-radio>
<a-radio :value="3">收费通知</a-radio> <a-radio :value="3">收费通知</a-radio>
@@ -188,6 +192,7 @@
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
</a-spin>
</j-modal> </j-modal>
</template> </template>
@@ -198,6 +203,7 @@ import JUpload from '@comp/jero/JUpload'
import CompanySelect from '@comp/company/CompanySelect' import CompanySelect from '@comp/company/CompanySelect'
import SelectContacts from '@comp/company/SelectContacts' import SelectContacts from '@comp/company/SelectContacts'
import { getWorkingGroupListByNotCompany } from '../../../api/incomePaymentsApi' import { getWorkingGroupListByNotCompany } from '../../../api/incomePaymentsApi'
import { isRepeat } from '../../../utils/util'
export default { export default {
name: 'WorkingGroupMemberUnitModule', name: 'WorkingGroupMemberUnitModule',
@@ -254,13 +260,17 @@ export default {
validateTrigger: 'change' validateTrigger: 'change'
}, },
chargeCompany: { chargeCompany: {
rules: [{ required: true, message: '请选择成员单位' }], rules: [{ required: true, validator: this.checkCompany }],
validateTrigger: 'change' validateTrigger: 'change'
}, },
contactsIdOne: { contactsIdOne: {
rules: [{ required: true, message: '请选择企业联系人1' }], rules: [{ required: true, message: '请选择企业联系人1' }],
validateTrigger: 'blur' validateTrigger: 'blur'
}, },
contactsRepeat: {
rules: [{ required: false, validator: this.validateContact }],
validateTrigger: 'blur'
},
mailContactsId: { mailContactsId: {
rules: [{ required: true, message: '请选择邮寄联系人' }], rules: [{ required: true, message: '请选择邮寄联系人' }],
validateTrigger: 'blur' validateTrigger: 'blur'
@@ -379,6 +389,7 @@ export default {
// 触发表单验证 // 触发表单验证
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
that.confirmLoading = true
// 收入合同新建项目手动赋值 // 收入合同新建项目手动赋值
if (this.defaultChargeWay === 2) { if (this.defaultChargeWay === 2) {
values.chargeWay = 2 values.chargeWay = 2
@@ -486,7 +497,7 @@ export default {
callback() callback()
return return
} }
callback('请选择企业') callback('请选择成员单位')
}, },
/** /**
* 在新增成功后重新获取联系人列表 * 在新增成功后重新获取联系人列表
@@ -510,6 +521,24 @@ export default {
this.$refs.selectContacts1.getContactsList() this.$refs.selectContacts1.getContactsList()
this.$refs.selectContacts2.getContactsList() this.$refs.selectContacts2.getContactsList()
this.$refs.selectContacts3.getContactsList() this.$refs.selectContacts3.getContactsList()
},
/**
* 校验企业联系人是否重复
* @param rule
* @param value
* @param callback
*/
validateContact(rule, value, callback) {
const contactObj = this.form.getFieldsValue(['contactsIdOne', 'contactsIdTwo', 'contactsIdThree'])
const contactArr = Object.values(contactObj)
contactArr.filter(tt => tt !== undefined)
console.log(contactArr)
if (isRepeat(contactArr)) {
callback('请选择不同的企业联系人')
} else {
callback()
}
callback()
} }
} }
} }
@@ -8,6 +8,7 @@
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
cancelText="关闭"> cancelText="关闭">
<a-spin :spinning="confirmLoading">
<span class="prompt-message"> <span class="prompt-message">
说明:1.负责人A为该工作组的主负责人,负责人B为该工作组的辅助负责人。<br> 说明:1.负责人A为该工作组的主负责人,负责人B为该工作组的辅助负责人。<br>
<span class="prompt-message-line2">2.设置本年应收款A和本年应收款B是为了区分工作组成员的价格。</span> <span class="prompt-message-line2">2.设置本年应收款A和本年应收款B是为了区分工作组成员的价格。</span>
@@ -164,6 +165,7 @@
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
</a-spin>
</j-modal> </j-modal>
</template> </template>
@@ -242,6 +244,7 @@ export default {
// 触发表单验证 // 触发表单验证
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
that.confirmLoading = true
let httpurl = '' let httpurl = ''
let method = 'post' let method = 'post'
if (!this.model.id) { if (!this.model.id) {