diff --git a/src/api/incomePaymentsApi.js b/src/api/incomePaymentsApi.js
index 56390b2..20a89ad 100644
--- a/src/api/incomePaymentsApi.js
+++ b/src/api/incomePaymentsApi.js
@@ -157,6 +157,8 @@ const memberCopy = (params) => getAction('', params)
// 工作组成员维护-调账
const workingGroupEditAccount = (param) => getAction('/project/payWorkingGroupSubitem/editAccount', param)
+// 获取所有起草组项目
+const getAllDraftProjects = (params) => getAction('/drafting/payDraftingGroup/listAll', params)
export {
getWorkingGroupById,
@@ -239,5 +241,6 @@ export {
memberDrawTicket,
memberCopy,
- workingGroupEditAccount
+ workingGroupEditAccount,
+ getAllDraftProjects
}
diff --git a/src/views/draftingGroup/DraftingGroupManagement.vue b/src/views/draftingGroup/DraftingGroupManagement.vue
index 7d58a9f..f2b5624 100644
--- a/src/views/draftingGroup/DraftingGroupManagement.vue
+++ b/src/views/draftingGroup/DraftingGroupManagement.vue
@@ -63,6 +63,7 @@
@@ -112,6 +113,8 @@
+
+
@@ -124,10 +127,11 @@ import IconDraftingGruop from '@/assets/imgs/icon/icon_drafting_group.png'
import {copyDraftingGroup, getWorkingGroupList} from '../../api/incomePaymentsApi'
import { getAction } from '../../api/manage'
import DraftingGroupModule from './modules/DraftingGroupModule'
+import DraftingGroupMemberUnitModule from '@views/draftingGroup/modules/DraftingGroupMemberUnitModule'
export default {
name: 'DraftingGroupManagement',
- components: { JYearDate, DraftingGroupModule, SelectPrincipal, PageHeaderTitle },
+ components: {DraftingGroupMemberUnitModule, JYearDate, DraftingGroupModule, SelectPrincipal, PageHeaderTitle },
mixins: [JeroListMixin],
data() {
return {
@@ -194,6 +198,12 @@ export default {
this.loadWorkingGroupList()
},
methods: {
+ // 批量新增成员信息
+ handleBatchAddMemberUnit () {
+ this.$refs.draftingGroupMemberUnitModule.add()
+ this.$refs.draftingGroupMemberUnitModule.title = '批量新增成员单位'
+ this.$refs.draftingGroupMemberUnitModule.disableSubmit = false
+ },
// 获取工作组下拉列表
loadWorkingGroupList () {
getWorkingGroupList().then(res => {
diff --git a/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue b/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue
index 41821cb..3a5de6d 100644
--- a/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue
+++ b/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue
@@ -10,23 +10,31 @@
cancelText="关闭">
-
-
-
-
-
- {{ item.workingGroupProject }}
-
-
-
-
-
+
+
+
+
+
+
+
+ {{ item.draftingGroupProject }}
+
+
+
+
+
+ 添加
+ 删除
+
+
+
@@ -104,7 +112,7 @@ import pick from 'lodash.pick'
import { httpAction } from '@api/manage'
import CompanySelect from '@comp/company/CompanySelect'
import SelectContacts from '@comp/company/SelectContacts'
-import { getWorkingGroupListByNotCompany } from '../../../api/incomePaymentsApi'
+import {getAllDraftProjects, getWorkingGroupListByNotCompany} from '../../../api/incomePaymentsApi'
// import { isRepeat } from '../../../utils/util'
import { addZero } from '../../../utils/util'
import { money } from '../../../utils/validate'
@@ -159,6 +167,12 @@ export default {
type: Number,
requirded: false,
default: null
+ },
+ // 是否批量添加
+ isBatchAdd: {
+ type: Boolean,
+ required: false,
+ default: false
}
},
data() {
@@ -239,7 +253,7 @@ export default {
selectedMailContact: null, // 编辑时的邮寄联系人
selectedChargeNotice: null, // 选中的收费通知号
draftingGroupId: null,
- workingGroupList: [],
+ draftingGroupList: [],
disabledCompany: false, // 企业是否禁用
isAssociatedContract: false, // 是否关联合同
// hasContactOne: false, // 是否选择联系人1
@@ -247,7 +261,8 @@ export default {
// hasContactThree: false, // 是否选择联系人3
url: {
add: '/drafting/payDraftingGroupSubitem/add',
- edit: '/drafting/payDraftingGroupSubitem/edit'
+ edit: '/drafting/payDraftingGroupSubitem/edit',
+ batchAdd: '/drafting/payDraftingGroupSubitem/batchAdd'
},
// 默认的联系人数据
defaultPayWorkingGroupSubItemContact: {
@@ -260,7 +275,15 @@ export default {
methods: {
addZero,
add() {
- this.edit({})
+ const obj = {}
+ // 判断是否批量添加(工作组管理-批量新增成员单位)
+ if (this.isBatchAdd) {
+ // 获取当前年的工作组列表
+ this.loadCurrentYearDraftingGroupList()
+ // 默认一个起草组
+ obj.draftingGroupIdList = [undefined]
+ }
+ this.edit(obj)
// 判断默认来款用途是否为合同(收入合同新增)
if (this.defaultChargeWay) {
this.loadWorkingGroupList()
@@ -274,6 +297,20 @@ export default {
})
}
},
+ /**
+ * 获取当前年起草组列表
+ */
+ loadCurrentYearDraftingGroupList() {
+ getAllDraftProjects({
+ year: new Date().getFullYear()
+ }).then(res => {
+ if (res.success) {
+ this.draftingGroupList = res.result
+ } else {
+ this.$message.warn(res.message)
+ }
+ })
+ },
/**
* 获取工作组列表
*/
@@ -409,12 +446,19 @@ export default {
let httpurl = ''
let method = 'post'
if (!this.model.id) {
- httpurl += this.url.add
+ // 如果是批量添加,调用批量添加的接口
+ httpurl += this.isBatchAdd ? this.url.batchAdd : this.url.add
// 通过添加成员来的,默认状态为通过
values.checkResult = 2
} else {
httpurl += this.url.edit
}
+ // 批量添加
+ if (Array.isArray(values.draftingGroupIdList)) {
+ // 过滤空
+ values.draftingGroupIdList = values.draftingGroupIdList.filter(item => !!item)
+ values.draftingGroupIds = values.draftingGroupIdList.join(',')
+ }
if (this.draftingGroupId) {
values.draftingGroupId = this.draftingGroupId
}
@@ -535,6 +579,59 @@ export default {
}
callback()
},
+ validateDraftingGroupRequired(rule, value, callback) {
+ if (value) {
+ callback()
+ }
+ callback('请选择起草组1')
+ },
+ /**
+ * 校验工作组是否重复
+ * @param rule
+ * @param value
+ * @param callback
+ */
+ validateDraftingGroup(rule, value, callback) {
+ if (value) {
+ let draftingGroupIdList = this.form.getFieldValue('draftingGroupIdList')
+ let hasValueArr = draftingGroupIdList.filter(id => id === value)
+ if (hasValueArr.length <= 1) {
+ callback()
+ }
+ callback('请选择不同的起草组')
+ return
+ }
+ callback()
+ },
+ /**
+ * 添加起草组
+ * @param index
+ */
+ handleAddDraftGroup (index) {
+ this.model.draftingGroupIdList.splice(index + 1, 0, undefined)
+ this.$forceUpdate()
+ let formData = this.form.getFieldValue('draftingGroupIdList')
+ formData.splice(index + 1, 0, undefined)
+ this.$nextTick(() => {
+ this.form.setFieldsValue({ draftingGroupIdList: formData })
+ })
+ },
+ /**
+ * 删除起草组
+ * @param index
+ */
+ handleDelDraftGroup (index) {
+ if (this.model.draftingGroupIdList.length === 1) {
+ this.$message.warn('最少需要一个起草组')
+ return
+ }
+ this.model.draftingGroupIdList.splice(index, 1)
+ let formData = this.form.getFieldValue('draftingGroupIdList')
+ formData.splice(index, 1)
+ this.$nextTick(() => {
+ this.form.setFieldsValue({ draftingGroupIdList: formData })
+ })
+ },
/**
* 添加联系人
* @param index
diff --git a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue
index 7fec265..1a4ec42 100644
--- a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue
+++ b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue
@@ -28,14 +28,14 @@
-
-
+
+
!!item)
+ values.workingGroupIds = values.workingGroupIdList.join(',')
}
// 企业联系人信息中将没有值的去掉
let haveValueContactArr = values.payWorkingGroupSubItemContactsList.filter(tt => tt.contactsId)
@@ -970,8 +972,8 @@ export default {
*/
validateWorkingGroup(rule, value, callback) {
if (value) {
- let workingGroupIds = this.form.getFieldValue('workingGroupIds')
- let hasValueArr = workingGroupIds.filter(id => id === value)
+ let workingGroupIdList = this.form.getFieldValue('workingGroupIdList')
+ let hasValueArr = workingGroupIdList.filter(id => id === value)
if (hasValueArr.length <= 1) {
callback()
}
@@ -1051,12 +1053,12 @@ export default {
* @param index
*/
handleAddWorkGroup (index) {
- this.model.workingGroupIds.splice(index + 1, 0, '')
+ this.model.workingGroupIdList.splice(index + 1, 0, undefined)
this.$forceUpdate()
- let formData = this.form.getFieldValue('workingGroupIds')
- formData.splice(index + 1, 0, '')
+ let formData = this.form.getFieldValue('workingGroupIdList')
+ formData.splice(index + 1, 0, undefined)
this.$nextTick(() => {
- this.form.setFieldsValue({ workingGroupIds: formData })
+ this.form.setFieldsValue({ workingGroupIdList: formData })
})
},
/**
@@ -1064,15 +1066,15 @@ export default {
* @param index
*/
handleDelWorkGroup (index) {
- if (this.model.workingGroupIds.length === 1) {
+ if (this.model.workingGroupIdList.length === 1) {
this.$message.warn('最少需要一个工作组')
return
}
- this.model.workingGroupIds.splice(index, 1)
- let formData = this.form.getFieldValue('workingGroupIds')
+ this.model.workingGroupIdList.splice(index, 1)
+ let formData = this.form.getFieldValue('workingGroupIdList')
formData.splice(index, 1)
this.$nextTick(() => {
- this.form.setFieldsValue({ workingGroupIds: formData })
+ this.form.setFieldsValue({ workingGroupIdList: formData })
})
},
/**