From 795277a3dd063ba3fbfb759c46d90670b07f7f51 Mon Sep 17 00:00:00 2001 From: hyx Date: Mon, 5 Jun 2023 11:48:02 +0800 Subject: [PATCH] =?UTF-8?q?CN-1016=20=20Filter=E4=B8=8E=E6=9F=A5=E6=89=BE?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E7=BB=84=E5=90=88=E6=93=8D=E4=BD=9C=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E5=8F=8A=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/setting/KnowledgeFilter.vue | 122 ++++++++++++++++---------- 1 file changed, 75 insertions(+), 47 deletions(-) diff --git a/src/views/setting/KnowledgeFilter.vue b/src/views/setting/KnowledgeFilter.vue index 68e68114..1d4d839d 100644 --- a/src/views/setting/KnowledgeFilter.vue +++ b/src/views/setting/KnowledgeFilter.vue @@ -3,30 +3,50 @@
{{ $t('knowledge.filters') }}
- + +
+ + +
+
+ +
+
+ {{filterStatusData.title}} + +
+ +
+ + +
+
+
@@ -45,22 +65,20 @@ export default { url: api.knowledgeBaseList, checkAll: true, isIndeterminateModel: false, - filterData: [ - { - id:0, - title: this.$t('knowledge.type'), - collapse: false, - value: [], - data: [] - }, - { - id:1, - title: this.$t('knowledge.status'), - collapse: false, - value: [], - data: [] - } - ], + filterTypeData: { + id:0, + title: this.$t('knowledge.type'), + collapse: false, + value: [], + data: [] + }, + filterStatusData: { + id:1, + title: this.$t('knowledge.status'), + collapse: false, + value: [], + data: [] + }, defaultProps: { children: 'children', label: 'label' @@ -77,16 +95,26 @@ export default { h('span', { class: 'count-tree-node' }, data.count) ]) }, - handleCheckedItemChange (data, checkinfo, index) { - let typeCheckedNodes = this.$refs.knowledgeTree0.getCheckedNodes() - const typeHalfCheckedNodes = checkinfo.halfCheckedNodes + handleCheckedItemChange (data, checkinfo) { + let typeCheckedNodes = [] + if(this.$refs.knowledgeTreeTypeFilter instanceof Array ) { + typeCheckedNodes = this.$refs.knowledgeTreeTypeFilter[0].getCheckedNodes() + }else { + typeCheckedNodes = this.$refs.knowledgeTreeTypeFilter.getCheckedNodes() + } + let typeHalfCheckedNodes = checkinfo.halfCheckedNodes typeCheckedNodes = typeCheckedNodes.concat(typeHalfCheckedNodes) - const statusCheckedNodes = this.$refs.knowledgeTree1.getCheckedNodes() + let statusCheckedNodes = [] + if(this.$refs.knowledgeTreeStatusFilter instanceof Array ) { + statusCheckedNodes = this.$refs.knowledgeTreeStatusFilter[0].getCheckedNodes() + }else { + statusCheckedNodes = this.$refs.knowledgeTreeStatusFilter.getCheckedNodes() + } const typeCheckedLen = typeCheckedNodes.length const statusCheckedLen = statusCheckedNodes.length let params = {} let allSourceNum = 0 - this.filterData[0].data.forEach(item => { + this.filterTypeData.data.forEach(item => { allSourceNum = allSourceNum + item.children.length }) if (typeCheckedLen === 0 || statusCheckedLen === 0) { @@ -101,7 +129,7 @@ export default { sources.push(val.value) } }) - if (!(categorys.length === this.filterData[0].data.length && sources.length === allSourceNum)) { + if (!(categorys.length === this.filterTypeData.data.length && sources.length === allSourceNum)) { params = { category: categorys.toString(), source: sources.toString() @@ -178,7 +206,7 @@ export default { appCount++ } }) - this.filterData[0].data = [ + this.filterTypeData.data = [ { id: 1, label: 'WebSketch', @@ -274,7 +302,7 @@ export default { enableCount++ } }) - this.filterData[1].data = [ + this.filterStatusData.data = [ { id: 1, label: 'enabled', value: 1, count: enableCount, type: 0 }, { id: 2, label: 'disable', value: 0, count: disableCount, type: 0 } ]