diff --git a/core/core-frontend/src/utils/utils.ts b/core/core-frontend/src/utils/utils.ts index e67cef41ee..ceb6eb0921 100644 --- a/core/core-frontend/src/utils/utils.ts +++ b/core/core-frontend/src/utils/utils.ts @@ -245,7 +245,7 @@ export const isFreeFolder = (node, flag) => { const freeRootId = (Number(oid) + flag).toString() let cNode = node while (cNode) { - const data = node.data + const data = cNode.data const id = data['id'] if (id === freeRootId) { return true diff --git a/core/core-frontend/src/views/common/DeResourceTree.vue b/core/core-frontend/src/views/common/DeResourceTree.vue index e657ef120b..b2223ce75f 100644 --- a/core/core-frontend/src/views/common/DeResourceTree.vue +++ b/core/core-frontend/src/views/common/DeResourceTree.vue @@ -541,14 +541,14 @@ const sortTypeChange = sortType => { state.curSortType = sortType } -const proxyHandleDrop = (arg1, arg2, arg3) => { - const flagArray = ['dashboard', 'datav', 'dataset', 'datasource'] +const proxyAllowDrop = (arg1, arg2) => { + const flagArray = ['dashboard', 'dataV', 'dataset', 'datasource'] const flag = flagArray.findIndex(item => item === curCanvasType.value) if (flag < 0 || !isFreeFolder(arg2, flag + 1)) { - handleDrop(arg1, arg2, arg3) - return + return allowDrop(arg1, arg2) } ElMessage.warning(t('free.save_error')) + return false } watch(filterText, val => { @@ -697,8 +697,8 @@ defineExpose({ @node-collapse="nodeCollapse" @node-click="nodeClick" @node-drag-start="handleDragStart" - :allow-drop="allowDrop" - @node-drop="proxyHandleDrop" + :allow-drop="proxyAllowDrop" + @node-drop="handleDrop" draggable >