From dc7d72e72be1373b7d166f1497f91df1a42ea901 Mon Sep 17 00:00:00 2001 From: ulleo Date: Mon, 6 May 2024 13:40:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(X-Pack):=20=E4=BF=AE=E5=A4=8D=E3=80=90?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A1=AB=E6=8A=A5=E3=80=91=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=A4=B9=E6=97=A0=E6=B3=95=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E8=A2=AB=E6=8E=88=E6=9D=83=E7=9A=84=E5=AD=90=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/dataFilling/form/MoveSelector.vue | 13 ++++++++++--- core/frontend/src/views/dataFilling/form/save.vue | 14 ++++++++++---- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/core/frontend/src/views/dataFilling/form/MoveSelector.vue b/core/frontend/src/views/dataFilling/form/MoveSelector.vue index f9284b47f0..2fd73be2c3 100644 --- a/core/frontend/src/views/dataFilling/form/MoveSelector.vue +++ b/core/frontend/src/views/dataFilling/form/MoveSelector.vue @@ -96,14 +96,21 @@ export default { }, filterListDeep(list) { return filter(list, item => { + let hasChildren = item.children && item.children.length > 0 if (item.children) { - this.filterListDeep(item.children) + hasChildren = this.filterListDeep(item.children) } - return hasDataPermission('manage', item.privileges) + return hasDataPermission('manage', item.privileges) || hasChildren }) }, nodeClick(data, node) { - this.targetGroup = data + this.$nextTick(() => { + if (hasDataPermission('manage', data.privileges)) { + this.targetGroup = data + } else { + this.targetGroup = {} + } + }) }, treeClass(data, node) { if (data.id === this.item.id) { diff --git a/core/frontend/src/views/dataFilling/form/save.vue b/core/frontend/src/views/dataFilling/form/save.vue index b5cad4fa48..2fad8a4019 100644 --- a/core/frontend/src/views/dataFilling/form/save.vue +++ b/core/frontend/src/views/dataFilling/form/save.vue @@ -175,10 +175,11 @@ export default { methods: { filterListDeep(list) { return filter(list, item => { + const hasChildren = item.children && item.children.length > 0 if (item.children) { this.filterListDeep(item.children) } - return hasDataPermission('manage', item.privileges) + return hasDataPermission('manage', item.privileges) || hasChildren }) }, getTypeOptions(formOption) { @@ -247,9 +248,14 @@ export default { }, nodeClick(data) { this.$nextTick(() => { - this.formData.folder = data.id - this.formData.level = data.level + 1 - this.folderTreeShow = false + if (hasDataPermission('manage', data.privileges)) { + this.formData.folder = data.id + this.formData.level = data.level + 1 + this.folderTreeShow = false + } else { + this.formData.folder = undefined + this.formData.level = undefined + } }) }, filterMethod(val) {