7777 :currentNodeKey =" folder.currentFolder?.id"
7878 @handleNodeClick =" folderClickHandle"
7979 :shareTitle =" $t('views.shared.shared_tool')"
80- :showShared =" user.isEE ()"
80+ :showShared =" permissionPrecise['is_share'] ()"
8181 class =" p-8"
8282 :canOperation =" false"
8383 />
120120import { ref , onMounted , computed } from ' vue'
121121import { menuNodes , toolLibNode , applicationNode } from ' @/workflow/common/data'
122122import { iconComponent } from ' @/workflow/icons/utils'
123- import ToolApi from ' @/api/tool/tool '
123+ import { loadSharedApi } from ' @/utils/dynamics- api/shared-api '
124124import { isWorkFlow } from ' @/utils/application'
125125import useStore from ' @/stores'
126126import NodeContent from ' ./NodeContent.vue'
127127import { SourceTypeEnum } from ' @/enums/common'
128128import sharedWorkspaceApi from ' @/api/shared-workspace'
129129import ApplicationApi from ' @/api/application/application'
130- const { user } = useStore ()
130+ import permissionMap from ' @/permission'
131+ import { useRoute } from ' vue-router'
132+ const route = useRoute ()
133+ const { user, folder } = useStore ()
134+
131135const search_text = ref <string >(' ' )
132136const props = defineProps ({
133137 show: {
@@ -141,9 +145,24 @@ const props = defineProps({
141145 workflowRef: Object ,
142146})
143147
144- const { folder } = useStore ()
145148const emit = defineEmits ([' clickNodes' , ' onmousedown' ])
146149
150+ const apiType = computed (() => {
151+ if (route .path .includes (' shared' )) {
152+ return ' systemShare'
153+ } else if (route .path .includes (' resource-management' )) {
154+ return ' systemManage'
155+ } else {
156+ return ' workspace'
157+ }
158+ })
159+ const permissionPrecise = computed (() => {
160+ return permissionMap [' tool' ][apiType .value ]
161+ })
162+ const isShared = computed (() => {
163+ return folder .currentFolder .id === ' share'
164+ })
165+
147166const loading = ref (false )
148167const activeName = ref (' base' )
149168
@@ -226,32 +245,23 @@ function onmousedown(item: any, data?: any, type?: string) {
226245
227246const toolTreeData = ref <any []>([])
228247const toolList = ref <any []>([])
229- const sharedToolList = ref <any []>([])
230248
231249async function getToolFolder() {
232250 const res: any = await folder .asyncGetFolder (SourceTypeEnum .TOOL , {}, loading )
233251 toolTreeData .value = res .data
234252 folder .setCurrentFolder (res .data ?.[0 ] || {})
235253}
236254
237- async function getShareTool() {
238- try {
239- const res = await sharedWorkspaceApi .getToolList (loading )
240- sharedToolList .value = res .data
241- } catch (error : any ) {
242- console .error (error )
243- }
244- }
245-
246255async function getToolList() {
247- if (folder .currentFolder .id === ' share' ) {
248- toolList .value = sharedToolList .value
249- } else {
250- const res = await ToolApi .getToolList ({
251- folder_id: folder .currentFolder ?.id || user .getWorkspaceId (),
252- })
253- toolList .value = res .data .tools
254- }
256+ const res = await loadSharedApi ({
257+ type: ' tool' ,
258+ isShared: isShared .value ,
259+ systemType: apiType .value ,
260+ }).getToolList ({
261+ folder_id: folder .currentFolder ?.id || user .getWorkspaceId (),
262+ })
263+ toolList .value = res .data ?.tools || res .data || []
264+ toolList .value = toolList .value ?.filter ((item : any ) => item .is_active )
255265}
256266
257267const applicationTreeData = ref <any []>([])
@@ -283,9 +293,6 @@ function folderClickHandle(row: any) {
283293async function handleClick(val : string ) {
284294 console .log (val )
285295 if (val === ' tool' ) {
286- if (user .isEE ()) {
287- await getShareTool ()
288- }
289296 await getToolFolder ()
290297 getToolList ()
291298 } else if (val === ' application' ) {
0 commit comments