Skip to content

Commit 43c7350

Browse files
feat: folder
1 parent 8f1b0e0 commit 43c7350

File tree

17 files changed

+146
-98
lines changed

17 files changed

+146
-98
lines changed

ui/src/api/folder.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const postFolder: (
4040
data?: any,
4141
loading?: Ref<boolean>,
4242
) => Promise<Result<Array<any>>> = (source, data, loading) => {
43-
return post(`${prefix.value}/${source}/folder`, data, loading)
43+
return post(`${prefix.value}/${source}/folder`, data, null, loading)
4444
}
4545

4646
/**

ui/src/api/workspace/role.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,9 @@ import type { Ref } from 'vue'
33
import { Result } from '@/request/Result'
44
import type {
55
RoleItem,
6-
RolePermissionItem,
7-
CreateOrUpdateParams,
86
RoleMemberItem,
97
CreateMemberParamsItem,
108
} from '@/api/type/role'
11-
import { RoleTypeEnum } from '@/enums/system'
129
import type { pageRequest, PageList } from '@/api/type/common'
1310

1411
const prefix = '/workspace/role'

ui/src/api/workspace/workspace.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ const getWorkspaceMemberList: (
5656
/**
5757
* 获取工作空间全部成员列表
5858
*/
59-
const getAllMemberList: (workspace_id: string, loading?: Ref<boolean>) => Promise<Result<any[]>> = (
60-
workspace_id,
61-
loading,
62-
) => {
59+
const getAllMemberList: (
60+
workspace_id: string | null,
61+
loading?: Ref<boolean>,
62+
) => Promise<Result<any[]>> = (workspace_id, loading) => {
6363
return get(`${prefix}/${workspace_id}/user_list`, undefined, loading)
6464
}
6565

ui/src/components/folder-tree/CreateFolderDialog.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ import folderApi from '@/api/folder'
5454
import { MsgSuccess, MsgAlert } from '@/utils/message'
5555
import { t } from '@/locales'
5656
import useStore from '@/stores'
57-
const { tool, knowledge } = useStore()
57+
const { tool, knowledge, folder } = useStore()
5858
const emit = defineEmits(['refresh'])
5959
6060
const props = defineProps({
@@ -124,15 +124,17 @@ const submitHandle = async () => {
124124
.putFolder(editId.value, sourceType.value, folderForm.value, loading)
125125
.then((res) => {
126126
MsgSuccess(t('common.editSuccess'))
127-
emit('refresh')
128127
clearData()
128+
emit('refresh')
129129
dialogVisible.value = false
130130
})
131131
} else {
132132
folderApi.postFolder(sourceType.value, folderForm.value, loading).then((res) => {
133133
MsgSuccess(t('common.createSuccess'))
134-
emit('refresh')
134+
folder.setCurrentFolder(res.data)
135+
folder.asyncGetFolder(sourceType.value, {}, loading)
135136
clearData()
137+
emit('refresh')
136138
dialogVisible.value = false
137139
})
138140
}

ui/src/components/folder-tree/index.vue

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
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'
9797
import { EditionConst } from '@/utils/permission/data'
9898
import { hasPermission } from '@/utils/permission/index'
9999
import useStore from '@/stores'
100+
import { TreeToFlatten } from '@/utils/array'
101+
import { MsgConfirm } from '@/utils/message'
100102
101103
defineOptions({ name: 'FolderTree' })
102104
const 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
145148
const defaultProps = {
@@ -185,9 +188,23 @@ const handleSharedNodeClick = () => {
185188
}
186189
187190
function 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
193210
const CreateFolderDialogRef = ref()

ui/src/locales/lang/en-US/common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,5 @@ export default {
9797
},
9898
custom: 'Custom',
9999
moveTo: 'Move To',
100+
deleteConfirm: 'Confirm delete',
100101
}

ui/src/locales/lang/en-US/components.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,7 @@ export default {
1616
folderNamePlaceholder: 'Please enter a name',
1717
description: 'Description',
1818
descriptionPlaceholder: 'Please enter a description',
19+
requiredMessage: 'Please select a folder',
20+
deleteConfirmMessage: 'Folders with resources will be deleted, please be cautious.',
1921
},
2022
}

ui/src/locales/lang/zh-CN/common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,4 +101,5 @@ export default {
101101
},
102102
custom: '自定义',
103103
moveTo: '转移到',
104+
deleteConfirm: '是否删除',
104105
}

ui/src/locales/lang/zh-CN/components.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@ export default {
1717
description: '描述',
1818
descriptionPlaceholder: '请输入描述',
1919
requiredMessage: '请选择文件夹',
20+
deleteConfirmMessage: '文件夹下的资源会被删除,请谨慎操作。'
2021
},
2122
}

ui/src/locales/lang/zh-Hant/common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,5 @@ export default {
9797
},
9898
custom: '自定義',
9999
moveTo: '移動到',
100+
deleteConfirm: '是否刪除',
100101
}

0 commit comments

Comments
 (0)