diff --git a/src/api/incomePaymentsApi.js b/src/api/incomePaymentsApi.js
index 12b26dd..4cde86a 100644
--- a/src/api/incomePaymentsApi.js
+++ b/src/api/incomePaymentsApi.js
@@ -10,11 +10,29 @@ const publishRemind = (param) => getAction('',param)
const getRevenueContractById = (param) => getAction('/contract/payIncomeContract/queryById', param)
// 收入合同审核
const aduitRevenueContract = (param) => postAction('/contract/payIncomeContract/audit', param)
+// 收入合同关联项目
+const associatedProject = (param) => postAction('/contract/payIncomeContract/associated', param)
+// 收入合同获取关联项目列表
+const getAssociatedProject = (param) => getAction('/contract/payIncomeContract/getAssociated', param)
+// 取消关联
+const cancelAssociatedProject = (param) => postAction('/contract/payIncomeContract/cancelAssociated', param)
+// 收入合同提交审核
+const submitAudit = (param) => postAction('/contract/payIncomeContract/submitAudit', param)
+// 获取全部工作组信息
+const getWorkingGroupAllList = (param) => getAction('/project/payWorkingGroup/listAll', param)
+// 收入合同存档
+const archiveRevenueContract = (param) => postAction('contract/payIncomeContract/archive', param)
export {
getWorkingGroupById,
getChargeNotice,
publishRemind,
getRevenueContractById,
- aduitRevenueContract
+ aduitRevenueContract,
+ associatedProject,
+ getAssociatedProject,
+ cancelAssociatedProject,
+ submitAudit,
+ getWorkingGroupAllList,
+ archiveRevenueContract
}
\ No newline at end of file
diff --git a/src/components/company/BusinessSelect.vue b/src/components/company/BusinessSelect.vue
index 0b75d95..5d8f69a 100644
--- a/src/components/company/BusinessSelect.vue
+++ b/src/components/company/BusinessSelect.vue
@@ -93,15 +93,7 @@ export default {
scopedSlots: { customRender: 'text' }
}
],
- dataSource: [
- {
- id: 1,
- companyName: '合众未来'
- }, {
- id: 2,
- companyName: '盛扬信远'
- }
- ]
+ dataSource: []
}
},
methods: {
diff --git a/src/components/company/SelectContacts.vue b/src/components/company/SelectContacts.vue
index fd00b57..327927d 100644
--- a/src/components/company/SelectContacts.vue
+++ b/src/components/company/SelectContacts.vue
@@ -100,7 +100,6 @@ export default {
if (this.initContacts && this.initContacts.hasOwnProperty.call(this.initContacts, 'id')) {
this.contactsList.push(this.initContacts)
}
- console.log(this.contactsList)
})
}
},
diff --git a/src/components/form/InstallmentForm.vue b/src/components/form/InstallmentForm.vue
index 0fee983..bbc020a 100644
--- a/src/components/form/InstallmentForm.vue
+++ b/src/components/form/InstallmentForm.vue
@@ -119,6 +119,7 @@ export default {
if (record && record.length > 0) {
this.installmentList = record
} else {
+ this.installmentList = [this.defaultFormData]
record = [this.defaultFormData]
}
let obj = {}
diff --git a/src/views/contractManagement/expenditureContract/ExpenditureContractList.vue b/src/views/contractManagement/expenditureContract/ExpenditureContractList.vue
new file mode 100644
index 0000000..8b42403
--- /dev/null
+++ b/src/views/contractManagement/expenditureContract/ExpenditureContractList.vue
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
新增
+
+ 导入
+
+
导出
+
下载模板
+
批量删除
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue b/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue
new file mode 100644
index 0000000..4081c9a
--- /dev/null
+++ b/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue
@@ -0,0 +1,509 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {e.target.value = (e.target.value + '').trim()}">
+
+
+
+
+ {e.target.value = (e.target.value + '').trim()}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {e.target.value = (e.target.value + '').trim()}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/contractManagement/revenueContract/RevenueContractList.vue b/src/views/contractManagement/revenueContract/RevenueContractList.vue
index ef24ff6..4df9bd6 100644
--- a/src/views/contractManagement/revenueContract/RevenueContractList.vue
+++ b/src/views/contractManagement/revenueContract/RevenueContractList.vue
@@ -22,6 +22,12 @@
+
+
+
+
+
-
-
-
-
-
-
+
-
+
查询
重置
@@ -89,10 +89,17 @@
- {{ text }}
-
- {{ text }}
+
+
@@ -100,9 +107,9 @@
- 审核
+ 审核
编辑
+ v-if="record.status === 1 || record.status === 4">编辑
存档
删除
@@ -111,7 +118,7 @@
-
+
@@ -122,6 +129,7 @@ import { JeroListMixin } from '../../../mixins/JeroListMixin'
import RevenueContractAduitModule from './modules/RevenueContractAduitModule'
import JDate from '../../../components/tools/JDate'
import { RangeDateMixin } from '../../../mixins/RangeDateMixin'
+import { archiveRevenueContract } from '../../../api/incomePaymentsApi'
export default {
name: 'RevenueContractList',
@@ -291,23 +299,22 @@ export default {
onOk: function () {
that.loading = true
that.loading = false
- // getAction(that.url.deleteBatch, {ids: ids}).then((res) => {
- // if (res.success) {
- // that.$message.success(res.message)
- // // 判断当前删除的数据是否是最后一页的全部数据,如果是的话页码减一
- // if (that.ipagination.current > 1 && (that.ipagination.current === Math.ceil(that.ipagination.total / that.ipagination.pageSize)) &&
- // that.selectedRowKeys.length === that.dataSource.length
- // ) {
- // that.ipagination.current -= 1
- // }
- // that.loadData()
- // that.onClearSelected()
- // } else {
- // that.$message.warning(res.message)
- // }
- // }).finally(() => {
- // that.loading = false
- // })
+ let param = {
+ contractId: id,
+ contractStatus: 5
+ }
+ archiveRevenueContract(param).then((res) => {
+ if (res.success) {
+ that.$message.success(res.message)
+ // 判断当前删除的数据是否是最后一页的全部数据,如果是的话页码减一
+ that.loadData()
+ that.onClearSelected()
+ } else {
+ that.$message.warning(res.message)
+ }
+ }).finally(() => {
+ that.loading = false
+ })
}
})
}
diff --git a/src/views/contractManagement/revenueContract/modules/AssociatedProject.vue b/src/views/contractManagement/revenueContract/modules/AssociatedProject.vue
new file mode 100644
index 0000000..754a3fb
--- /dev/null
+++ b/src/views/contractManagement/revenueContract/modules/AssociatedProject.vue
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+
+ 取消关联
+
+
+
+
提交审核
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractAduitModule.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractAduitModule.vue
index fc2f9ff..9e0e45b 100644
--- a/src/views/contractManagement/revenueContract/modules/RevenueContractAduitModule.vue
+++ b/src/views/contractManagement/revenueContract/modules/RevenueContractAduitModule.vue
@@ -17,12 +17,12 @@
@change="e => {e.target.value = (e.target.value + '').trim()}">
-
- 通过
- 拒绝
+
+ 通过
+ 拒绝
-
+
import { aduitRevenueContract } from '../../../../api/incomePaymentsApi'
+import { USER_INFO } from '../../../../store/mutation-types'
+import Vue from 'vue'
+import pick from 'lodash.pick'
export default {
name: 'RevenueContractAduitModule',
@@ -47,6 +50,7 @@ export default {
confirmLoading: false,
form: this.$form.createForm(this),
contractId: '',
+ model: {},
labelCol: {
xs: { span: 24 },
sm: { span: 4 }
@@ -68,7 +72,8 @@ export default {
rules: [{ required: true, message: '请输入拒绝说明' }],
validateTrigger: 'blur'
}
- }
+ },
+ showExplainRemarks: false
}
},
methods: {
@@ -97,10 +102,30 @@ export default {
this.close()
},
open() {
+ let userInfo = Vue.ls.get(USER_INFO)
+ console.log(userInfo)
+ this.model.userName = userInfo.realname
this.visible = true
+ this.$nextTick(() => {
+ this.form.setFieldsValue(pick(this.model, 'userName'))
+ })
},
close() {
this.visible = false
+ },
+ /**
+ * 控制拒绝说明显隐
+ * @param e
+ */
+ contractAuditStatuChange(e) {
+ console.log(e.target.value)
+ if (e.target.value === 3) {
+ this.showExplainRemarks = false
+ return
+ }
+ if (e.target.value === 4) {
+ this.showExplainRemarks = true
+ }
}
}
}
diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue
index 1dded6c..8b204bd 100644
--- a/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue
+++ b/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue
@@ -121,6 +121,7 @@
+
@@ -146,10 +147,11 @@
import IconImg from '@/assets/imgs/icon/icon_revenue_contract.png'
import PageHeaderTitle from '@/components/layouts/PageHeaderTitle'
import { getRevenueContractById } from '../../../../api/incomePaymentsApi'
+import AssociatedProject from './AssociatedProject'
export default {
name: 'RevenueContractDetail',
- components: { PageHeaderTitle },
+ components: { PageHeaderTitle, AssociatedProject },
data() {
return {
IconImg,
@@ -252,8 +254,9 @@ export default {
return this.otherInfoList.filter(item => this.detailData[item.fieldName] && this.detailData[item.fieldName] !== '') || []
}
},
- created() {
+ mounted() {
this.initDetailData(this.$route.query.revenueId)
+ this.$refs.associatedProject.loadAssociatedProject()
},
methods: {
initDetailData(id) {
diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue
index 6a64cde..48214aa 100644
--- a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue
+++ b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue
@@ -219,7 +219,7 @@
-
+
@@ -235,12 +235,21 @@
+
+
-
+
+
@@ -260,6 +269,7 @@ import { getAllUserList } from '../../../../api/api'
import { postAction } from '../../../../api/manage'
import { getRevenueContractById } from '../../../../api/incomePaymentsApi'
import { duplicateCheck } from '../../../../api/api'
+import AssociatedProject from './AssociatedProject'
// 普通项目表头
const generalProjectColumns = [
@@ -342,13 +352,6 @@ const generalProjectColumns = [
width: 80,
dataIndex: 'mail',
scopedSlots: { customRender: 'status' }
- }, {
- title: '操作',
- dataIndex: 'action',
- align: 'center',
- fixed: 'right',
- width: 160,
- scopedSlots: { customRender: 'action' }
}
]
// 工作组项目表头
@@ -377,13 +380,6 @@ const workingProjectColumns = [
dataIndex: 'obj',
width: 250,
scopedSlots: { customRender: 'rateOfProgress' }
- }, {
- title: '操作',
- dataIndex: 'action',
- align: 'center',
- fixed: 'right',
- width: 180,
- scopedSlots: { customRender: 'action' }
}
]
// 会议项目表头
@@ -402,7 +398,8 @@ export default {
JYearDate,
InstallmentForm,
ProjectTypeSelection,
- SelectProjectModule
+ SelectProjectModule,
+ AssociatedProject
},
data() {
return {
@@ -464,8 +461,8 @@ export default {
url: {
add: '/contract/payIncomeContract/add',
edit: '/contract/payIncomeContract/edit',
- generalProjectList: '/project/payCommonProject/list',
- workingGroupProjectList: '/project/payWorkingGroup/list',
+ generalProjectList: '/project/payCommonProject/listAll', // 普通项目
+ workingGroupProjectList: '/project/payWorkingGroup/queryListByCompany', // 工作组项目
meetingProjectList: '',
memberProjectList: ''
},
@@ -477,12 +474,15 @@ export default {
amountReceivedNum: null, // 输入的未收金额
contractAmountNum: null, // 输入的签订合同总金额
rateNum: null, // 输入的税率
- selectedContact: null
+ selectedContact: null,
+ associatedProjectLoading: false,
+ contractId: '' // 收入合同id
}
},
mounted() {
if (this.$route.query.hasOwnProperty.call(this.$route.query, 'revenueId')) {
- this.edit(this.$route.query.revenueId)
+ this.contractId = this.$route.query.revenueId
+ this.edit(this.contractId)
} else {
this.add()
}
@@ -490,7 +490,7 @@ export default {
methods: {
add() {
this.title = '新建收入合同'
- this.$refs.installmentForm.initInstallmentList({})
+ this.$refs.installmentForm.initInstallmentList([])
},
edit(id) {
this.title = '编辑收入合同'
@@ -529,7 +529,7 @@ export default {
this.form.validateFields((err, values) => {
if (!err) {
this.confirmLoading = true
- if (this.installmentList.length > 0) {
+ if (this.installmentList && this.installmentList.length > 0) {
let formData = {}
values.signedCompanyId = values.signedCompany.id
delete values.signedCompany
@@ -544,6 +544,8 @@ export default {
}
postAction(url, formData).then(res => {
if (res.success) {
+ this.contractId = res.result.id
+ this.edit(this.contractId)
this.$message.success(res.message)
// 保存上方表单信息,(应该在表单验证完全正确时置为true)
this.isSaved = true
@@ -553,6 +555,8 @@ export default {
}).finally(() => {
this.confirmLoading = false
})
+ } else {
+ this.confirmLoading = false
}
}
})
@@ -721,16 +725,27 @@ export default {
chooseProject() {
this.$refs.projectTypeSelection.open()
},
+ /**
+ * 项目类型选择回调,动态传入表头数据
+ * @param type
+ */
selectProjectTypeOk(type) {
let title = ''
switch (type) {
case 1:
this.$refs.selectProjectModule.columns = generalProjectColumns
+ this.$refs.selectProjectModule.filters = {
+ chargeCompanyId: this.selectedCompany.id,
+ pack: this.model.pack
+ }
this.$refs.selectProjectModule.url.list = this.url.generalProjectList
title = '普通项目列表'
break
case 2:
this.$refs.selectProjectModule.columns = workingProjectColumns
+ this.$refs.selectProjectModule.filters = {
+ companyId: this.selectedCompany.id
+ }
this.$refs.selectProjectModule.url.list = this.url.workingGroupProjectList
title = '工作组项目列表'
break
@@ -745,9 +760,17 @@ export default {
title = '会员项目列表'
break
}
+ this.$refs.selectProjectModule.contractId = this.model.id
this.$refs.selectProjectModule.projectType = type
this.$refs.selectProjectModule.title = title
this.$refs.selectProjectModule.open()
+ },
+
+ /**
+ * 项目选中回调
+ */
+ selectProjectOk() {
+ this.$refs.associatedProject.loadAssociatedProject()
}
}
}
@@ -763,4 +786,8 @@ export default {
.ant-divider-horizontal {
margin: 20px 0;
}
+
+.ant-btn > .anticon + span, .ant-btn > span + .anticon {
+ margin-left: 0;
+}
\ No newline at end of file
diff --git a/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue b/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue
index 2c9205c..0525bcf 100644
--- a/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue
+++ b/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue
@@ -62,36 +62,50 @@
-
-
-
-
- 无图片
-
-
-
- 无文件
-
-
+ ref="table"
+ size="middle"
+ bordered
+ rowKey="id"
+ :scroll="{x: 800}"
+ :columns="columns"
+ :dataSource="dataSource"
+ :pagination="false"
+ :loading="loading"
+ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+ @change="handleTableChange"
+ class="j-table-force-nowrap">
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -99,10 +113,15 @@
import { JeroListMixin } from '../../../../mixins/JeroListMixin'
import SelectPrincipal from '../../../../components/company/SelectPrincipal'
import JYearDate from '../../../../components/jero/JYearDate'
+import GeneralProjectModule from '../../../projectManagement/modules/GeneralProjectModule'
+import StatusSlot from '../../../../components/tools/StatusSlot'
+import { associatedProject } from '../../../../api/incomePaymentsApi'
+import WorkingGroupMemberUnitModule from '../../../projectManagement/modules/WorkingGroupMemberUnitModule'
+import ProgressBar from '../../../../components/ProgressBar'
export default {
name: 'SelectProjectModule',
- components: { SelectPrincipal, JYearDate },
+ components: { SelectPrincipal, JYearDate, GeneralProjectModule, StatusSlot, WorkingGroupMemberUnitModule, ProgressBar },
mixins: [JeroListMixin],
data() {
return {
@@ -119,7 +138,9 @@ export default {
xs: { span: 24 },
sm: { span: 10 }
},
- projectType: null,
+ projectType: null, // 项目类型,1--普通项目;2--工作组项目;3--会议项目;4--会员项目
+ disableMixinCreated: true,
+ contractId: '', // 收入合同id
url: {
list: ''
}
@@ -127,20 +148,56 @@ export default {
},
methods: {
open() {
+ this.loadData()
this.visible = true
- console.log(this.columns)
},
close() {
this.visible = false
},
handleOk() {
-
+ if (this.selectedRowKeys.length <= 0) {
+ this.$message.warn('请选择项目后再提交关联')
+ return
+ }
+ let submitData = []
+ let projectItem
+ this.selectedRowKeys.forEach(item => {
+ projectItem = {
+ contractId: this.contractId,
+ projectId: item,
+ projectType: this.projectType
+ }
+ submitData.push(projectItem)
+ })
+ associatedProject(submitData).then(res => {
+ if (res.success) {
+ this.$message.success(res.message)
+ this.close()
+ this.$emit('ok')
+ } else {
+ this.$message.warn(res.message)
+ }
+ })
},
handleCancel() {
this.close()
},
+ /**
+ * 打开不同类型项目的新增module
+ */
handleAdd() {
-
+ switch (this.projectType) {
+ case 1:
+ this.$refs.generalProjectForm.add()
+ this.$refs.generalProjectForm.title = '新增'
+ this.$refs.generalProjectForm.disableSubmit = false
+ break
+ case 2:
+ this.$refs.workingGroupMemberForm.add()
+ this.$refs.workingGroupMemberForm.title = '新增'
+ this.$refs.workingGroupMemberForm.disableSubmit = false
+ break
+ }
}
}
}
diff --git a/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue b/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue
index 9f0835a..df48ca9 100644
--- a/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue
+++ b/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue
@@ -91,7 +91,10 @@
- {{ text }}
+
diff --git a/src/views/projectManagement/WorkingGroupProjectManagement.vue b/src/views/projectManagement/WorkingGroupProjectManagement.vue
index 962ef10..1a9de6d 100644
--- a/src/views/projectManagement/WorkingGroupProjectManagement.vue
+++ b/src/views/projectManagement/WorkingGroupProjectManagement.vue
@@ -74,7 +74,11 @@
- {{ text }}
+
diff --git a/src/views/projectManagement/modules/GeneralProjectModule.vue b/src/views/projectManagement/modules/GeneralProjectModule.vue
index 204b881..263854a 100644
--- a/src/views/projectManagement/modules/GeneralProjectModule.vue
+++ b/src/views/projectManagement/modules/GeneralProjectModule.vue
@@ -41,6 +41,7 @@
@@ -170,6 +171,22 @@ import SelectContacts from '@comp/company/SelectContacts'
export default {
name: 'GeneralProjectModule',
components: { JYearDate, JUpload, CompanySelect, SelectPrincipal, SelectContacts },
+ props: {
+ // 收入合同关联时传入的企业信息,不可修改
+ defaultChargeCompany: {
+ type: Object,
+ required: false,
+ default: () => {
+ return {}
+ }
+ },
+ // 是否可以修改来款企业
+ disabledChargeCompany: {
+ type: Boolean,
+ required: false,
+ default: false
+ }
+ },
data() {
return {
title: '操作',
@@ -257,11 +274,19 @@ export default {
methods: {
add() {
this.edit({})
+ console.log(this.defaultChargeCompany, '============')
},
edit(record) {
- record.chargeCompany = {
- id: record.chargeCompanyId,
- companyName: record.chargeCompanyTemporaryName
+ if (this.defaultChargeCompany.hasOwnProperty.call(this.defaultChargeCompany, 'id')) {
+ record.chargeCompany = {
+ id: this.defaultChargeCompany.id,
+ companyName: this.defaultChargeCompany.companyName
+ }
+ } else {
+ record.chargeCompany = {
+ id: record.chargeCompanyId,
+ companyName: record.chargeCompanyTemporaryName
+ }
}
// 回显选中的企业
this.selectedCompany = record.chargeCompany
diff --git a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue
index bd38311..efc0386 100644
--- a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue
+++ b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue
@@ -9,11 +9,23 @@
@cancel="handleCancel"
cancelText="关闭">
+
+
+
+
+ {{ item.workingGroupProject }}
+
+
+
+
@@ -71,7 +83,8 @@
-
+ 合同
+
无
合同
收费通知
@@ -184,10 +197,33 @@ import { httpAction } from '@api/manage'
import JUpload from '@comp/jero/JUpload'
import CompanySelect from '@comp/company/CompanySelect'
import SelectContacts from '@comp/company/SelectContacts'
+import { getWorkingGroupAllList } from '../../../api/incomePaymentsApi'
export default {
name: 'WorkingGroupMemberUnitModule',
components: { JUpload, CompanySelect, SelectContacts },
+ props: {
+ // 默认来款方式(收入合同新增工作组项目,来款方式默认为2--合同)
+ defaultChargeWay: {
+ type: Number,
+ required: false,
+ default: null
+ },
+ // 收入合同关联时传入的企业信息,不可修改
+ defaultChargeCompany: {
+ type: Object,
+ required: false,
+ default: () => {
+ return {}
+ }
+ },
+ // 是否可以修改来款企业
+ disabledChargeCompany: {
+ type: Boolean,
+ required: false,
+ default: false
+ }
+ },
data() {
return {
title: '操作',
@@ -213,6 +249,10 @@ export default {
sm: { span: 21 }
},
validatorRules: {
+ workingGroupId: {
+ rules: [{ required: true, message: '请选择工作组项目' }],
+ validateTrigger: 'change'
+ },
chargeCompany: {
rules: [{ required: true, message: '请选择成员单位' }],
validateTrigger: 'change'
@@ -255,6 +295,7 @@ export default {
chargeNoticeList: [], // 收费通知号list
selectedChargeNotice: null, // 选中的收费通知号
workingGroupId: null,
+ workingGroupList: [],
url: {
add: '/project/payWorkingGroupSubitem/add',
edit: '/project/payWorkingGroupSubitem/edit'
@@ -264,11 +305,32 @@ export default {
methods: {
add() {
this.edit({})
+ if (this.defaultChargeWay) {
+ this.loadWorkingGroupList()
+ this.chargeWayType = 2
+ }
+ },
+ loadWorkingGroupList() {
+ getWorkingGroupAllList().then(res => {
+ if (res.success) {
+ this.workingGroupList = res.result
+ } else {
+ this.$message.warn(res.message)
+ }
+ })
},
edit(record) {
- record.chargeCompany = {
- id: record.chargeCompanyId,
- companyName: record.chargeCompanyTemporaryName
+ // 存在默认选中企业时显示默认企业
+ if (this.defaultChargeCompany.hasOwnProperty.call(this.defaultChargeCompany, 'id')) {
+ record.chargeCompany = {
+ id: this.defaultChargeCompany.id,
+ companyName: this.defaultChargeCompany.companyName
+ }
+ } else {
+ record.chargeCompany = {
+ id: record.chargeCompanyId,
+ companyName: record.chargeCompanyTemporaryName
+ }
}
// 回显选中的企业
this.selectedCompany = record.chargeCompany
@@ -314,6 +376,10 @@ export default {
// 触发表单验证
this.form.validateFields((err, values) => {
if (!err) {
+ // 收入合同新建项目手动赋值
+ if (this.defaultChargeWay === 2) {
+ values.chargeWay = 2
+ }
values.chargeCompanyTemporaryName = values.chargeCompany.companyName
values.chargeCompanyId = values.chargeCompany.id
let httpurl = ''
@@ -323,7 +389,9 @@ export default {
} else {
httpurl += this.url.edit
}
- values.workingGroupId = this.workingGroupId
+ if (this.workingGroupId) {
+ values.workingGroupId = this.workingGroupId
+ }
const formData = Object.assign(this.model, values)
console.log('表单提交数据', formData)
httpAction(httpurl, formData, method).then((res) => {