5151 >
5252 <el-dropdown trigger =" click" :teleported =" false" >
5353 <el-button text class =" w-full" >
54- <el-icon class = " rotate-90 " ><MoreFilled /></el-icon >
54+ <el-icon ><MoreFilled /></el-icon >
5555 </el-button >
5656 <template #dropdown >
5757 <el-dropdown-menu >
@@ -97,6 +97,8 @@ import folderApi from '@/api/folder'
9797import { EditionConst } from ' @/utils/permission/data'
9898import { hasPermission } from ' @/utils/permission/index'
9999import useStore from ' @/stores'
100+ import { TreeToFlatten } from ' @/utils/array'
101+ import { MsgConfirm } from ' @/utils/message'
100102
101103defineOptions ({ name: ' FolderTree' })
102104const props = defineProps ({
@@ -106,7 +108,7 @@ const props = defineProps({
106108 },
107109 currentNodeKey: {
108110 type: String ,
109- default: ' root ' ,
111+ default: ' default ' ,
110112 },
111113 source: {
112114 type: String ,
@@ -140,6 +142,7 @@ interface Tree {
140142 children? : Tree []
141143 id? : string
142144 show? : boolean
145+ parent_id? : string
143146}
144147
145148const defaultProps = {
@@ -185,9 +188,23 @@ const handleSharedNodeClick = () => {
185188}
186189
187190function deleteFolder(row : Tree ) {
188- folderApi .delFolder (row .id as string , props .source , loading ).then (() => {
189- emit (' refreshTree' )
190- })
191+ MsgConfirm (
192+ ` ${t (' common.deleteConfirm' )}:${row .name } ` ,
193+ t (' components.folder.deleteConfirmMessage' ),
194+ {
195+ confirmButtonText: t (' common.delete' ),
196+ confirmButtonClass: ' danger' ,
197+ },
198+ )
199+ .then (() => {
200+ folderApi .delFolder (row .id as string , props .source , loading ).then (() => {
201+ treeRef .value ?.setCurrentKey (row .parent_id || ' default' )
202+ const prevFolder = TreeToFlatten (props .data ).find ((item : any ) => item .id === row .parent_id )
203+ folder .setCurrentFolder (prevFolder )
204+ emit (' refreshTree' )
205+ })
206+ })
207+ .catch (() => {})
191208}
192209
193210const CreateFolderDialogRef = ref ()
0 commit comments