From da2817436bc1fc034f8cb748687e6a23b7c76f19 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Thu, 7 Jul 2022 01:56:55 -0400 Subject: [PATCH] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E8=BF=87=E6=BB=A4=E5=99=A8=E4=BA=A4=E6=8D=A2=E5=A4=9A?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E9=A1=BA=E5=BA=8F=E5=90=8E=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E9=94=99=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/DragItem/index.vue | 7 +++++++ frontend/src/views/panel/filter/filterDialog.vue | 8 ++++---- .../views/panel/filter/filterMain/FilterHead.vue | 14 +++++++------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/DragItem/index.vue b/frontend/src/components/DragItem/index.vue index 04c86bef7d..e8afd23872 100644 --- a/frontend/src/components/DragItem/index.vue +++ b/frontend/src/components/DragItem/index.vue @@ -132,6 +132,13 @@ export default { return this.index > 0 } }, + watch: { + index(val, old) { + if (val !== old) { + this.sortChange('none') + } + } + }, mounted() { }, created() { diff --git a/frontend/src/views/panel/filter/filterDialog.vue b/frontend/src/views/panel/filter/filterDialog.vue index 0429991a1e..34e93bccf7 100644 --- a/frontend/src/views/panel/filter/filterDialog.vue +++ b/frontend/src/views/panel/filter/filterDialog.vue @@ -181,7 +181,7 @@
- + @@ -297,7 +297,7 @@ export default { datasetParams: [] }, currentElement: null, - allFields: [], + tableFieldsMap: {}, tempTreeDatas: null, showTips: false } @@ -632,7 +632,7 @@ export default { loadField(tableId) { fieldListWithPermission(tableId).then(res => { let datas = res.data - this.allFields = JSON.parse(JSON.stringify(datas)) + this.$set(this.tableFieldsMap, tableId, JSON.parse(JSON.stringify(datas))) if (this.widget && this.widget.filterFieldMethod) { datas = this.widget.filterFieldMethod(datas) } @@ -643,7 +643,7 @@ export default { comLoadField(tableId) { fieldListWithPermission(tableId).then(res => { let datas = res.data - this.allFields = JSON.parse(JSON.stringify(datas)) + this.$set(this.tableFieldsMap, tableId, JSON.parse(JSON.stringify(datas))) if (this.widget && this.widget.filterFieldMethod) { datas = this.widget.filterFieldMethod(datas) } diff --git a/frontend/src/views/panel/filter/filterMain/FilterHead.vue b/frontend/src/views/panel/filter/filterMain/FilterHead.vue index 5b947aa841..21826c658c 100644 --- a/frontend/src/views/panel/filter/filterMain/FilterHead.vue +++ b/frontend/src/views/panel/filter/filterMain/FilterHead.vue @@ -18,8 +18,7 @@ > - - + {{ $t('panel.drag_here') }} @@ -46,9 +45,9 @@ export default { type: Object, default: () => {} }, - allFields: { - type: Array, - default: () => [] + tableFieldsMap: { + type: Object, + default: () => {} }, widget: { type: Object, @@ -63,6 +62,9 @@ export default { computed: { isSortWidget() { return this.widget && this.widget.isSortWidget && this.widget.isSortWidget() + }, + fieldsMap() { + return JSON.parse(JSON.stringify(this.tableFieldsMap)) } }, @@ -74,7 +76,6 @@ export default { }, methods: { onMove(e, originalEvent) { - // this.moveId = e.draggedContext.element.id return true }, end2(e) {}, @@ -88,7 +89,6 @@ export default { }, sortChange(param) { this.element.options.attrs.sort = param - // this.$emit('sort-change', param) } } }