From bc7b52b90bf2bbbab7e9c0b874a6d60c26d853d6 Mon Sep 17 00:00:00 2001 From: zhaoxiao Date: Wed, 1 Sep 2021 16:22:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E4=B8=8A=E6=96=B9=E6=A0=87?= =?UTF-8?q?=E9=A2=98=E7=BB=84=E4=BB=B6=EF=BC=9B=E6=99=AE=E9=80=9A=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=AE=A1=E7=90=86=E5=92=8C=E5=B7=A5=E4=BD=9C=E7=BB=84?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86=E6=8E=A5=E5=8F=A3=E8=81=94?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/imgs/icon/icon_back.png | Bin 0 -> 258 bytes src/assets/imgs/icon/icon_committee.png | Bin 0 -> 840 bytes .../imgs/icon/icon_company_management.png | Bin 0 -> 943 bytes .../imgs/icon/icon_project_management.png | Bin 0 -> 546 bytes src/assets/imgs/icon/icon_working_group.png | Bin 0 -> 732 bytes src/components/ProgressBar.vue | 56 ++--- src/components/company/SelectContacts.vue | 41 +++- src/components/company/SelectPrincipal.vue | 2 +- src/components/layouts/PageHeaderTitle.vue | 76 +++++++ .../businessManagement/BusinessManagement.vue | 108 +++++----- .../businessManagement/ContactManagement.vue | 128 ++++++------ .../GeneralProjectManagement.vue | 194 +++++++++--------- .../MemberUnitMaintenance.vue | 176 ++++++++-------- .../WorkingGroupProjectManagement.vue | 187 ++++++++--------- .../modules/WorkingGroupProjectModule.vue | 27 ++- 15 files changed, 566 insertions(+), 429 deletions(-) create mode 100644 src/assets/imgs/icon/icon_back.png create mode 100644 src/assets/imgs/icon/icon_committee.png create mode 100644 src/assets/imgs/icon/icon_company_management.png create mode 100644 src/assets/imgs/icon/icon_project_management.png create mode 100644 src/assets/imgs/icon/icon_working_group.png create mode 100644 src/components/layouts/PageHeaderTitle.vue diff --git a/src/assets/imgs/icon/icon_back.png b/src/assets/imgs/icon/icon_back.png new file mode 100644 index 0000000000000000000000000000000000000000..7346afcd0b72822de684798aac6990cb40ceccdd GIT binary patch literal 258 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 @@ -27,9 +30,9 @@ export default { /** * 进度字段, * { - * payInFull: 10, // 已付全款 - * partialPayment: 10, // 部分付款 - * nonPayment: 10, // 未付款 + * allPayment: 10, // 已付全款 + * partPayment: 10, // 部分付款 + * notPayment: 10, // 未付款 * } */ data: { @@ -46,35 +49,42 @@ export default { \ No newline at end of file diff --git a/src/components/company/SelectContacts.vue b/src/components/company/SelectContacts.vue index 1ab3b29..9eed82c 100644 --- a/src/components/company/SelectContacts.vue +++ b/src/components/company/SelectContacts.vue @@ -8,7 +8,8 @@ v-on="$listeners" show-search option-filter-prop="children" - :filter-option="filterOption"> + :filter-option="filterOption" + @dropdownVisibleChange="handleDropdownOpen"> {{ item.name }} @@ -40,6 +41,14 @@ export default { return {} } }, + // 编辑时回显的数据, 需要id,name两个字段 + initfContacts: { + type: Object, + required: false, + default: () => { + return {} + } + }, value: { type: String, required: false, @@ -49,13 +58,12 @@ export default { data() { return { contactsList: [], // 该企业下联系人列表 + isFirstOpen: true, // 编辑状态下是否为第一次打开 } }, created() { // 编辑 第一次不回显的问题 - if(this.selectedCompany!== null && this.selectedCompany.hasOwnProperty('id')){ - this.getContactsList() - } + this.getContactsList() }, watch: { /** @@ -66,6 +74,15 @@ export default { this.getContactsList() }, deep: true + }, + /** + * 编辑联系人变化 + */ + initfContacts: { + handler() { + this.isFirstOpen = true + }, + deep: true } }, methods: { @@ -73,12 +90,15 @@ export default { * 获取联系人数据 */ getContactsList() { - if (this.selectedCompany) { + if (this.selectedCompany && this.selectedCompany.hasOwnProperty('id')) { const params = { companyId: this.selectedCompany.id } getContactsByCompany(params).then(res => { this.contactsList = res.result + if (this.initfContacts && this.initfContacts.hasOwnProperty('id')) { + this.contactsList.push(this.initfContacts) + } }) } }, @@ -99,6 +119,17 @@ export default { return ( option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 ); + }, + handleDropdownOpen() { + if (this.isFirstOpen && this.initfContacts && this.initfContacts.hasOwnProperty('id')) { + this.contactsList.forEach((item, index) => { + if (item.id === this.initfContacts.id) { + this.$emit('change', undefined) + this.contactsList.splice(index, 1) + } + }) + this.isFirstOpen = false + } } }, model: { diff --git a/src/components/company/SelectPrincipal.vue b/src/components/company/SelectPrincipal.vue index a6f1383..ea5f50d 100644 --- a/src/components/company/SelectPrincipal.vue +++ b/src/components/company/SelectPrincipal.vue @@ -5,7 +5,7 @@ show-search option-filter-prop="children" :filter-option="filterOption"> - {{ `${item.username}(${item.orgCodeTxt})` }} + {{ `${item.realname}(${item.orgCodeTxt})` }} diff --git a/src/components/layouts/PageHeaderTitle.vue b/src/components/layouts/PageHeaderTitle.vue new file mode 100644 index 0000000..906b181 --- /dev/null +++ b/src/components/layouts/PageHeaderTitle.vue @@ -0,0 +1,76 @@ + + + + + \ No newline at end of file diff --git a/src/views/businessManagement/BusinessManagement.vue b/src/views/businessManagement/BusinessManagement.vue index 49942b2..e5d596a 100644 --- a/src/views/businessManagement/BusinessManagement.vue +++ b/src/views/businessManagement/BusinessManagement.vue @@ -1,75 +1,80 @@ diff --git a/src/views/projectManagement/MemberUnitMaintenance.vue b/src/views/projectManagement/MemberUnitMaintenance.vue index e75cb3d..0dca2e5 100644 --- a/src/views/projectManagement/MemberUnitMaintenance.vue +++ b/src/views/projectManagement/MemberUnitMaintenance.vue @@ -1,117 +1,113 @@