From 99c9a7408e83db9bb4f463a452c4cb793a80dbf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyiyousong=E2=80=9D?= <鈥測ousong_yi@foxmail.com鈥�> Date: Mon, 19 Jun 2023 11:37:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BA=8B=E9=A1=B9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=83=A8=E9=97=A8=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/components/businessTabs2.vue | 70 +++++++++++++++++-- .../business/components/businessTabs3.vue | 69 ++++++++++++++---- 2 files changed, 120 insertions(+), 19 deletions(-) diff --git a/base-manager-ui/admin/src/pages/basicset/business/components/businessTabs2.vue b/base-manager-ui/admin/src/pages/basicset/business/components/businessTabs2.vue index b4699e21..7d231e36 100644 --- a/base-manager-ui/admin/src/pages/basicset/business/components/businessTabs2.vue +++ b/base-manager-ui/admin/src/pages/basicset/business/components/businessTabs2.vue @@ -11,14 +11,34 @@ <a-space> <a-select style="width: 120px" - allowClear v-model="leftSource" class="select-department" placeholder="浜嬮」鏉ユ簮" > + <a-select-option value=""> 鍏ㄩ儴鏉ユ簮 </a-select-option> <a-select-option :value="0"> 涓€浣撳寲娣诲姞 </a-select-option> <a-select-option :value="1"> 鎵嬪姩娣诲姞 </a-select-option> </a-select> + <a-select + showSearch + style="min-width: 120px" + v-model="leftDept" + class="select-department" + placeholder="閮ㄩ棬鎼滅储" + optionFilterProp="label" + > + <a-select-option value="" label="鍏ㄩ儴閮ㄩ棬"> + 鍏ㄩ儴閮ㄩ棬 + </a-select-option> + <a-select-option + v-for="v in deptList" + :key="v.id" + :value="v.deptNumber" + :label="v.name" + > + {{ v.name }} + </a-select-option> + </a-select> <a-input-search v-model="searchLeftVal" placeholder="璇疯緭鍏ヤ簨椤瑰悕绉版悳绱�" @@ -122,14 +142,34 @@ <a-space> <a-select style="width: 120px" - allowClear v-model="rightSource" class="select-department" placeholder="浜嬮」鏉ユ簮" > + <a-select-option value=""> 鍏ㄩ儴鏉ユ簮 </a-select-option> <a-select-option :value="0"> 涓€浣撳寲浜嬮」 </a-select-option> <a-select-option :value="1"> 鑷缓浜嬮」 </a-select-option> </a-select> + <a-select + showSearch + style="min-width: 120px" + v-model="rightDept" + class="select-department" + placeholder="閮ㄩ棬鎼滅储" + optionFilterProp="label" + > + <a-select-option value="" label="鍏ㄩ儴閮ㄩ棬"> + 鍏ㄩ儴閮ㄩ棬 + </a-select-option> + <a-select-option + v-for="v in deptList" + :key="v.id" + :value="v.deptNumber" + :label="v.name" + > + {{ v.name }} + </a-select-option> + </a-select> <a-input-search v-model="searchRightVal" placeholder="璇疯緭鍏ヤ簨椤瑰悕绉版悳绱�" @@ -229,9 +269,9 @@ import { delMatter, } from "@/services/matter"; import { getBusinessMatterList, delBusinessMatter } from "@/services/business"; +import { getDeptList } from "@/services/dept"; import EditSiteMatter from "../group/EditSiteMatter.vue"; import { pageSizeOptions } from "@/config/pageConfig.js"; -// import { getDeptList } from "@/services/dept"; import local from "@/utils/local"; import { mapMutations } from "vuex"; const leftColumns = [ @@ -310,8 +350,10 @@ export default { rightColumns, leftLoading: false, rightLoading: false, - leftSource: undefined, // 宸﹁竟鏉ユ簮 - rightSource: undefined, // 鍙宠竟鏉ユ簮 + leftSource: "", // 宸﹁竟鏉ユ簮 + leftDept: "", // 宸﹁竟閮ㄩ棬鎼滅储 + rightDept: "", // 鍙宠竟閮ㄩ棬鎼滅储 + rightSource: "", // 鍙宠竟鏉ユ簮 selectedRowKeys: [], matterSiteData: [], // 绔欑偣浜嬮」 matterDataList: [], //浜嬮」鍒楄〃鏁版嵁 @@ -336,12 +378,28 @@ export default { }; }, created() { + this.getDeptListData(); this.getMatterSiteData(); this.getMatterListData(); }, methods: { ...mapMutations("site", ["SET_matterDict"]), + // 鑾峰彇閮ㄩ棬鍒楄〃 + async getDeptListData(obj = {}) { + this.deptLoading = true; + let res = await getDeptList({ + siteId: this.siteId, + page: 1, + size: -1, + ...obj, + }); + this.deptLoading = false; + let { code, data } = res.data; + if (code === 1) { + this.deptList = data.data; + } + }, // 鑾峰彇绔欑偣浜嬮」 async getMatterSiteData(search = {}) { this.leftLoading = true; @@ -351,6 +409,7 @@ export default { siteId: this.siteId, source: this.leftSource, matterName: `%${this.searchLeftVal}%`, + deptCode: this.leftDept, ...search, }); let { pageInfo, data } = res.data.data; @@ -371,6 +430,7 @@ export default { size: this.rightSize, matterName: this.searchRightVal, source: this.rightSource, + deptCode: this.rightDept, ...search, }); if (res.data.code === 1) { diff --git a/base-manager-ui/admin/src/pages/basicset/business/components/businessTabs3.vue b/base-manager-ui/admin/src/pages/basicset/business/components/businessTabs3.vue index 62f356fb..2fe1a007 100644 --- a/base-manager-ui/admin/src/pages/basicset/business/components/businessTabs3.vue +++ b/base-manager-ui/admin/src/pages/basicset/business/components/businessTabs3.vue @@ -49,11 +49,11 @@ <template slot="action" slot-scope="text"> <a-tooltip> <template slot="title"> 瑙i櫎鏌ョ湅 </template> - <soan + <span href="javascript:;" class="delete pointer" @click="handleisUnbound(text)" - >瑙i櫎</soan + >瑙i櫎</span > </a-tooltip> </template> @@ -69,13 +69,35 @@ <a-button type="primary" @click="handleAddAll"> 鎵归噺鍏宠仈 </a-button> </div> <div> - <a-input-search - v-model="rightSearchVal" - placeholder="璇疯緭鍏ヤ簨椤瑰悕绉版悳绱�" - enter-button="鎼滅储" - @search="onSearchRight" - allowClear - /> + <a-space> + <a-select + showSearch + style="min-width: 120px" + v-model="deptSearch" + class="select-department" + placeholder="閮ㄩ棬鎼滅储" + optionFilterProp="label" + > + <a-select-option value="" label="鍏ㄩ儴閮ㄩ棬"> + 鍏ㄩ儴閮ㄩ棬 + </a-select-option> + <a-select-option + v-for="v in deptList" + :key="v.id" + :value="v.deptNumber" + :label="v.name" + > + {{ v.name }} + </a-select-option> + </a-select> + <a-input-search + v-model="rightSearchVal" + placeholder="璇疯緭鍏ヤ簨椤瑰悕绉版悳绱�" + enter-button="鎼滅储" + @search="onSearchRight" + allowClear + /> + </a-space> </div> </div> </div> @@ -159,7 +181,7 @@ <a-select style="width: 85%" show-search - :filter-option="filterOption" + optionFilterProp="label" allowClear placeholder="璇烽€夋嫨涓氬姟" :showArrow="false" @@ -170,6 +192,7 @@ v-for="v in SiteBusinessData" :key="v.id" :value="v.businessId" + :label="v.businessName" > {{ v.businessName }} </a-select-option> @@ -257,6 +280,7 @@ <script> import { getSiteMatterList } from "@/services/matter"; import { pageSizeOptions } from "@/config/pageConfig.js"; +import { getDeptList } from "@/services/dept"; import { getSiteBusinessList, // addBusinessMatter, @@ -266,7 +290,6 @@ import { addBatchSave, // getMatterlistData, } from "@/services/business"; -// import { getDeptList } from "@/services/dept"; import local from "@/utils/local"; const leftColumns = [ { @@ -329,6 +352,7 @@ export default { Leftloading: false, rightloading: false, leftSearchVal: "", // 宸﹁竟鎼滅储 + deptSearch: "", // 鍙宠竟 rightSearchVal: "", // 鍙宠竟鎼滅储 SiteBusinessData: [], // 绔欑偣涓氬姟 SiteMatterData: [], //绔欑偣浜嬮」 @@ -347,7 +371,7 @@ export default { pageSizeOptions, siteId: local.getLocal("siteId"), // 绔欑偣id matterIds: "", // 涓氬姟id - // deptList: [], // 绔欑偣閮ㄩ棬 + deptList: [], // 绔欑偣閮ㄩ棬 rightSearch: "", // 浜嬮」鎼滅储 businessMatterData: [], // 涓氬姟鍏宠仈浜嬮」鍒楄〃鏁版嵁 unboundBusinessData: {}, // 瑙i櫎-涓氬姟鏁版嵁 @@ -369,6 +393,7 @@ export default { }; }, created() { + this.getDeptListData(); this.getBusinessMatterData(); this.getMatterlistData(); this.getSiteBusinessData(); @@ -376,6 +401,21 @@ export default { }, methods: { + // 鑾峰彇閮ㄩ棬鍒楄〃 + async getDeptListData(obj = {}) { + this.deptLoading = true; + let res = await getDeptList({ + siteId: this.siteId, + page: 1, + size: -1, + ...obj, + }); + this.deptLoading = false; + let { code, data } = res.data; + if (code === 1) { + this.deptList = data.data; + } + }, // 鑾峰彇绔欑偣涓氬姟鍏宠仈鍒楄〃 async getBusinessMatterData(search = {}) { this.Leftloading = true; @@ -438,6 +478,7 @@ export default { size: this.rightSize, matterName: `%${this.rightSearchVal}%`, siteId: this.siteId, + deptCode: this.leftDept, ...search, }); let { pageInfo, data } = res.data.data; @@ -659,8 +700,8 @@ export default { }, // 鍏抽棴鍏宠仈瀵硅瘽妗� handleclose() { - this.selectedRowKeys = []; - this.allCorrelationData = []; + // this.selectedRowKeys = []; + // this.allCorrelationData = []; this.$refs.formData.resetFields(); this.isCorrelation = false; }, -- 2.24.3