update 工作组批量新增成员单位
This commit is contained in:
@@ -27,6 +27,31 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- 批量添加时显示) -->
|
||||
<template v-if="isBatchAdd && model.workingGroupIds && model.workingGroupIds.length > 0">
|
||||
<a-row v-for="(_, index) in model.workingGroupIds" :key="index + ''">
|
||||
<a-col :xl="21" :sm="20">
|
||||
<a-form-item :label="`工作组${index + 1}`" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-select
|
||||
:placeholder="`请选择工作组项目${index + 1}`"
|
||||
show-search
|
||||
v-decorator="[`workingGroupIds[${index}]`, {rules: [{ required: index === 0, validator: index === 0 ? validateWorkingGroupRequired : validateWorkingGroup }],validateTrigger: 'change'}]"
|
||||
:maxLength='50'
|
||||
allowClear
|
||||
:filter-option="filterOption"
|
||||
>
|
||||
<a-select-option v-for="item in workingGroupList" :key="item.id" :value="item.id">
|
||||
{{ item.workingGroupProject }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="3" :sm="4">
|
||||
<a-button type="link" class="contact-btn" @click="handleAddWorkGroup(index)">添加</a-button>
|
||||
<a-button type="link" class="contact-btn del-btn" @click="handleDelWorkGroup(index)">删除</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</template>
|
||||
<a-row>
|
||||
<a-col>
|
||||
<a-form-item label="成员单位" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
@@ -409,6 +434,7 @@ import SelectRevenueContract from '../../../components/tools/SelectRevenueContra
|
||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||
import { CalcAmountMixin } from '@/mixins/CalcAmountMixin'
|
||||
import JDate from '@/components/tools/JDate'
|
||||
import {getAllWorkProjects} from '@api/incomeMeetingApi'
|
||||
|
||||
export default {
|
||||
name: 'WorkingGroupMemberUnitModule',
|
||||
@@ -458,6 +484,12 @@ export default {
|
||||
type: Number,
|
||||
requirded: false,
|
||||
default: null
|
||||
},
|
||||
// 是否批量添加
|
||||
isBatchAdd: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@@ -549,10 +581,11 @@ export default {
|
||||
// hasContactOne: false, // 是否选择联系人1
|
||||
// hasContactTwo: false, // 是否选择联系人2
|
||||
// hasContactThree: false, // 是否选择联系人3
|
||||
showPayField: '', // 是否收费,控制收费字段是否显示
|
||||
showPayField: true, // 是否收费,控制收费字段是否显示(默认显示,只有外层确定不显示才不显示)
|
||||
url: {
|
||||
add: '/project/payWorkingGroupSubitem/add',
|
||||
edit: '/project/payWorkingGroupSubitem/edit'
|
||||
edit: '/project/payWorkingGroupSubitem/edit',
|
||||
batchAdd: '/project/payWorkingGroupSubitem/batchAdd'
|
||||
},
|
||||
// 默认的联系人数据
|
||||
defaultPayWorkingGroupSubItemContact: {
|
||||
@@ -565,7 +598,15 @@ export default {
|
||||
methods: {
|
||||
addZero,
|
||||
add() {
|
||||
this.edit({})
|
||||
const obj = {}
|
||||
// 判断是否批量添加(工作组管理-批量新增成员单位)
|
||||
if (this.isBatchAdd) {
|
||||
// 获取当前年的工作组列表
|
||||
this.loadCurrentYearWorkingGroupList()
|
||||
// 默认一个工作组
|
||||
obj.workingGroupIds = [{}]
|
||||
}
|
||||
this.edit(obj)
|
||||
// 判断默认来款用途是否为合同(收入合同新增)
|
||||
if (this.defaultChargeWay) {
|
||||
this.loadWorkingGroupList()
|
||||
@@ -579,6 +620,20 @@ export default {
|
||||
})
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 获取当前年工作组列表
|
||||
*/
|
||||
loadCurrentYearWorkingGroupList() {
|
||||
getAllWorkProjects({
|
||||
year: new Date().getFullYear()
|
||||
}).then(res => {
|
||||
if (res.success) {
|
||||
this.workingGroupList = res.result
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取工作组列表
|
||||
*/
|
||||
@@ -715,19 +770,24 @@ export default {
|
||||
let httpurl = ''
|
||||
let method = 'post'
|
||||
if (!this.model.id) {
|
||||
httpurl += this.url.add
|
||||
// 如果是批量添加,调用批量添加的接口
|
||||
httpurl += this.isBatchAdd ? this.url.batchAdd : this.url.add
|
||||
} else {
|
||||
httpurl += this.url.edit
|
||||
}
|
||||
if (this.workingGroupId) {
|
||||
values.workingGroupId = this.workingGroupId
|
||||
}
|
||||
// 批量添加
|
||||
if (Array.isArray(values.workingGroupIds)) {
|
||||
values.workingGroupIds = values.workingGroupIds.join(',')
|
||||
}
|
||||
// 企业联系人信息中将没有值的去掉
|
||||
let haveValueContactArr = values.payWorkingGroupSubItemContactsList.filter(tt => tt.contactsId)
|
||||
let obj = {
|
||||
payWorkingGroupSubItemContactsList: haveValueContactArr
|
||||
}
|
||||
const formData = Object.assign(this.model, values, obj)
|
||||
const formData = Object.assign({}, this.model, values, obj)
|
||||
console.log('表单提交数据', formData)
|
||||
httpAction(httpurl, formData, method).then((res) => {
|
||||
if (res.success) {
|
||||
@@ -896,6 +956,30 @@ export default {
|
||||
}
|
||||
callback()
|
||||
},
|
||||
validateWorkingGroupRequired(rule, value, callback) {
|
||||
if (value) {
|
||||
callback()
|
||||
}
|
||||
callback('请选择工作组1')
|
||||
},
|
||||
/**
|
||||
* 校验工作组是否重复
|
||||
* @param rule
|
||||
* @param value
|
||||
* @param callback
|
||||
*/
|
||||
validateWorkingGroup(rule, value, callback) {
|
||||
if (value) {
|
||||
let workingGroupIds = this.form.getFieldValue('workingGroupIds')
|
||||
let hasValueArr = workingGroupIds.filter(id => id === value)
|
||||
if (hasValueArr.length <= 1) {
|
||||
callback()
|
||||
}
|
||||
callback('请选择不同的工作组')
|
||||
return
|
||||
}
|
||||
callback()
|
||||
},
|
||||
/**
|
||||
* 企业联系人1、邮寄联系人联动
|
||||
* @param value
|
||||
@@ -962,6 +1046,35 @@ export default {
|
||||
// this.form.setFieldsValue({ remarksThree: null })
|
||||
// }
|
||||
// },
|
||||
/**
|
||||
* 添加工作组
|
||||
* @param index
|
||||
*/
|
||||
handleAddWorkGroup (index) {
|
||||
this.model.workingGroupIds.splice(index + 1, 0, '')
|
||||
this.$forceUpdate()
|
||||
let formData = this.form.getFieldValue('workingGroupIds')
|
||||
formData.splice(index + 1, 0, '')
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue({ workingGroupIds: formData })
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 删除工作组
|
||||
* @param index
|
||||
*/
|
||||
handleDelWorkGroup (index) {
|
||||
if (this.model.workingGroupIds.length === 1) {
|
||||
this.$message.warn('最少需要一个工作组')
|
||||
return
|
||||
}
|
||||
this.model.workingGroupIds.splice(index, 1)
|
||||
let formData = this.form.getFieldValue('workingGroupIds')
|
||||
formData.splice(index, 1)
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue({ workingGroupIds: formData })
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 添加联系人
|
||||
* @param index
|
||||
|
||||
Reference in New Issue
Block a user