diff --git a/src/api/incomeMeetingApi.js b/src/api/incomeMeetingApi.js
index 1b32a1e..d3773df 100644
--- a/src/api/incomeMeetingApi.js
+++ b/src/api/incomeMeetingApi.js
@@ -5,7 +5,7 @@ const getUserInfo = (params) => getAction('/sys/user/queryById',params)
// 通过会议id获取会议的详细信息
const getMeetInfoById = (params) => getAction('/meeting/payMeeting/queryById',params)
// 获取所有工作组项目
-const getAllWorkProjects = () => getAction('/project/payWorkingGroup/listAll')
+const getAllWorkProjects = (params) => getAction('/project/payWorkingGroup/listAll', params)
// 通过id获取参会人详细信息
const getSingUpUserInfo = (params) => getAction('/meeting/payMeetingSituation/queryById',params)
diff --git a/src/views/projectManagement/WorkingGroupProjectManagement.vue b/src/views/projectManagement/WorkingGroupProjectManagement.vue
index e4f16cb..bbafa1b 100644
--- a/src/views/projectManagement/WorkingGroupProjectManagement.vue
+++ b/src/views/projectManagement/WorkingGroupProjectManagement.vue
@@ -47,6 +47,7 @@
新增
批量删除
+
批量新增成员单位
@@ -122,6 +123,8 @@
+
+
@@ -135,10 +138,11 @@ import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
import IconWorkingGruop from '@/assets/imgs/icon/icon_working_group.png'
import { copyWorkingGroup } from '../../api/incomePaymentsApi'
import { getAction } from '../../api/manage'
+import WorkingGroupMemberUnitModule from '@views/projectManagement/modules/WorkingGroupMemberUnitModule'
export default {
name: 'WorkingGroupProjectManagement',
- components: { JYearDate, WorkingGroupProjectModule, SelectPrincipal, ProgressBar, PageHeaderTitle },
+ components: {WorkingGroupMemberUnitModule, JYearDate, WorkingGroupProjectModule, SelectPrincipal, ProgressBar, PageHeaderTitle },
mixins: [JeroListMixin],
data() {
return {
@@ -201,6 +205,12 @@ export default {
}
},
methods: {
+ // 批量新增成员信息
+ handleBatchAddMemberUnit () {
+ this.$refs.workingGroupMemberUnitModule.add()
+ this.$refs.workingGroupMemberUnitModule.title = '批量新增成员单位'
+ this.$refs.workingGroupMemberUnitModule.disableSubmit = false
+ },
loadData(arg) {
if (!this.url.list) {
this.$message.error('请设置url.list属性!')
diff --git a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue
index def390b..bf582cd 100644
--- a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue
+++ b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue
@@ -27,6 +27,31 @@
+
+
+
+
+
+
+
+ {{ item.workingGroupProject }}
+
+
+
+
+
+ 添加
+ 删除
+
+
+
@@ -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