From d1f8a2cb518b09d7d7d26c7e0d97a5e0905ee2de Mon Sep 17 00:00:00 2001 From: zhaoxiao Date: Fri, 27 Aug 2021 14:21:11 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=89=E6=8B=A9=E4=BC=81=E4=B8=9A=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E4=BF=AE=E6=94=B9=EF=BC=9B=E9=80=89=E6=8B=A9=E8=81=94?= =?UTF-8?q?=E7=B3=BB=E4=BA=BA=E7=BB=84=E4=BB=B6=EF=BC=9B=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E7=BB=84=E9=A1=B9=E7=9B=AE=E9=A1=B5=E9=9D=A2=EF=BC=9B=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6=E6=9D=A1=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/api.js | 6 +- src/components/ProgressBar.vue | 80 ++++++ src/components/company/BusinessSelect.vue | 8 +- src/components/company/CompanySelect.vue | 3 +- src/components/company/SelectContacts.vue | 99 +++++++ .../ConferenceMaintenance.vue | 123 ++++++++ .../WorkingGroupProjectManagement.vue | 201 +++++++++++++ .../modules/GeneralProjectModule.vue | 93 +++--- .../modules/WorkingGroupProjectModule.vue | 267 ++++++++++++++++++ 9 files changed, 818 insertions(+), 62 deletions(-) create mode 100644 src/components/ProgressBar.vue create mode 100644 src/components/company/SelectContacts.vue create mode 100644 src/views/projectManagement/ConferenceMaintenance.vue create mode 100644 src/views/projectManagement/WorkingGroupProjectManagement.vue create mode 100644 src/views/projectManagement/modules/WorkingGroupProjectModule.vue diff --git a/src/api/api.js b/src/api/api.js index 35df794..c8d3887 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -103,6 +103,9 @@ export const transitRESTful = { http: (url, parameter) => httpAction(getTransitURL(url), parameter), } +// 通过企业名称获取该企业下的联系人 +const getContactsByCompany = (params) => getAction('/company/payContactsManagement/queryByCompany', params) + export { addRole, editRole, @@ -159,7 +162,8 @@ export { queryMyDepartTreeList, getUserNoticeInfo, getDictItemsFromCache, - resetUserPassword + resetUserPassword, + getContactsByCompany } diff --git a/src/components/ProgressBar.vue b/src/components/ProgressBar.vue new file mode 100644 index 0000000..8deef37 --- /dev/null +++ b/src/components/ProgressBar.vue @@ -0,0 +1,80 @@ + + + + + + \ No newline at end of file diff --git a/src/components/company/BusinessSelect.vue b/src/components/company/BusinessSelect.vue index aa57b08..5bbc575 100644 --- a/src/components/company/BusinessSelect.vue +++ b/src/components/company/BusinessSelect.vue @@ -75,6 +75,7 @@ export default { list: '/company/payCompanyManagement/list', }, selectedCompany: {}, + selectedRowKeys: [], columns: [ { title: '序号', @@ -116,6 +117,7 @@ export default { }, onSelectChange(selectedRowKeys, selectionRows) { this.selectedCompany = selectionRows[0] + this.selectedRowKeys = selectedRowKeys } } } @@ -123,10 +125,4 @@ export default { \ No newline at end of file diff --git a/src/components/company/CompanySelect.vue b/src/components/company/CompanySelect.vue index 860855c..1b44fe9 100644 --- a/src/components/company/CompanySelect.vue +++ b/src/components/company/CompanySelect.vue @@ -1,7 +1,7 @@ @@ -39,6 +39,7 @@ export default { return } this.$refs.businessSelect.visible = true + this.$refs.businessSelect.selectedRowKeys.push(this.value.id) }, /** * 选中后抛出企业信息(id, companyName) diff --git a/src/components/company/SelectContacts.vue b/src/components/company/SelectContacts.vue new file mode 100644 index 0000000..5a3241a --- /dev/null +++ b/src/components/company/SelectContacts.vue @@ -0,0 +1,99 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/ConferenceMaintenance.vue b/src/views/projectManagement/ConferenceMaintenance.vue new file mode 100644 index 0000000..babde15 --- /dev/null +++ b/src/views/projectManagement/ConferenceMaintenance.vue @@ -0,0 +1,123 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/WorkingGroupProjectManagement.vue b/src/views/projectManagement/WorkingGroupProjectManagement.vue new file mode 100644 index 0000000..c8eedf5 --- /dev/null +++ b/src/views/projectManagement/WorkingGroupProjectManagement.vue @@ -0,0 +1,201 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/GeneralProjectModule.vue b/src/views/projectManagement/modules/GeneralProjectModule.vue index 32e7b95..be3bd0d 100644 --- a/src/views/projectManagement/modules/GeneralProjectModule.vue +++ b/src/views/projectManagement/modules/GeneralProjectModule.vue @@ -31,12 +31,6 @@ - - - - - - @@ -44,7 +38,7 @@ @@ -60,36 +54,22 @@ - - - - {{ item.contactsName }} - - - - - - + - - - - {{ item.mailContactsName }} - - - - - - + @@ -132,7 +112,7 @@ - + - + - @@ -181,10 +160,11 @@ import JUpload from '@comp/jero/JUpload' import CompanySelect from '@comp/company/CompanySelect' import ContactManagementModule from '@views/businessManagement/modules/ContactManagementModule' import SelectPrincipal from '@comp/company/SelectPrincipal' +import SelectContacts from '@comp/company/SelectContacts' export default { name: 'GeneralProjectModule', - components: { JDate, JUpload, CompanySelect, ContactManagementModule, SelectPrincipal }, + components: { JDate, JUpload, CompanySelect, ContactManagementModule, SelectPrincipal, SelectContacts }, data() { return { title: '操作', @@ -219,7 +199,7 @@ export default { principalId: { rules: [{ required: true, message: '请选择负责人' }] }, - chargeCompanyName: { + chargeCompany: { rules: [{ required: true, message: '请选择来款企业' }] }, chargeUse: { @@ -261,7 +241,7 @@ export default { this.model = Object.assign({}, record) this.visible = true this.$nextTick(() => { - this.form.setFieldsValue(pick(this.model, 'chargeProject', 'year', 'principalId', 'chargeCompanyName', 'chargeUse', 'contactsId', 'mailContactsId', 'receivableAmount', 'invoice', 'chargeWay', 'contractNum', 'chargeNoticeNo', 'remarks')) + this.form.setFieldsValue(pick(this.model, 'chargeProject', 'year', 'principalId', 'chargeCompany', 'chargeUse', 'contactsId', 'mailContactsId', 'receivableAmount', 'invoice', 'chargeWay', 'contractNum', 'chargeNoticeNo', 'remarks')) }) }, close() { @@ -273,14 +253,14 @@ export default { // 触发表单验证 this.form.validateFields((err, values) => { if (!err) { + values.chargeCompanyName = values.chargeCompany.companyName + values.chargeCompanyId = values.chargeCompany.id let httpurl = '' - let method = '' + let method = 'post' if (!this.model.id) { httpurl += this.url.add - method = 'post' } else { httpurl += this.url.edit - method = 'put' } const formData = Object.assign(this.model, values) console.log('表单提交数据', formData) @@ -308,25 +288,30 @@ export default { handlechargeWayChange(e) { this.chargeWayType = e.target.value }, + /** + * 选中企业变化,将联系人的值清空 + * @param value + */ companyChange(value) { + console.log(1) this.selectedCompany = value + this.model.contactsId = undefined + this.model.mailContactsId = undefined + this.$nextTick(() => { + this.form.setFieldsValue(pick(this.model, 'contactsId', 'mailContactsId')) + }) }, - addContacts() { - if (this.selectedCompany) { - this.$refs.contactForm.add() - this.$refs.contactForm.title = "新增"; - this.$refs.contactForm.disableSubmit = false; - return - } - this.$message.warn('请先选择来款企业再为该企业新建联系人') + /** + * 在新增成功后重新获取联系人列表 + */ + addContactsOk() { + this.$refs.selectContacts.getContactsList() + this.$refs.selectMailContacts.getContactsList() } } } \ No newline at end of file diff --git a/src/views/projectManagement/modules/WorkingGroupProjectModule.vue b/src/views/projectManagement/modules/WorkingGroupProjectModule.vue new file mode 100644 index 0000000..6b71da5 --- /dev/null +++ b/src/views/projectManagement/modules/WorkingGroupProjectModule.vue @@ -0,0 +1,267 @@ + + + + + \ No newline at end of file