8282 <el-table-column prop =" tool_type" :label =" $t('views.system.resource_management.type')" >
8383 <template #default =" scope " >
8484 <span v-if =" scope.row.tool_type === 'MCP'" > MCP </span >
85+ <span v-else-if =" scope.row.tool_type === 'DATA_SOURCE'" > {{ $t('views.tool.dataSource') }} </span >
8586 <span v-else-if =" scope.row.version" >{{ $t('views.tool.toolStore.title') }}</span >
8687 <span v-else >
8788 {{
248249 </el-button >
249250 </span >
250251 </el-tooltip >
252+ <el-tooltip
253+ effect =" dark"
254+ :content =" $t('common.edit')"
255+ placement =" top"
256+ v-if =" !row.template_id && row.tool_type === 'DATA_SOURCE' && permissionPrecise.edit()"
257+ >
258+ <span class =" mr-8" >
259+ <el-button
260+ type =" primary"
261+ text
262+ @click.stop =" openCreateDataSourceDialog(row)"
263+ :title =" $t('common.edit')"
264+ >
265+ <AppIcon iconName =" app-edit" ></AppIcon >
266+ </el-button >
267+ </span >
268+ </el-tooltip >
251269
252270 <el-tooltip
253271 effect =" dark"
323341 <InitParamDrawer ref =" InitParamDrawerRef" @refresh =" refresh" />
324342 <ToolFormDrawer ref =" ToolFormDrawerRef" @refresh =" refresh" :title =" ToolDrawertitle" />
325343 <McpToolFormDrawer ref =" McpToolFormDrawerRef" @refresh =" refresh" :title =" McpToolDrawertitle" />
344+ <DataSourceToolFormDrawer ref =" DataSourceToolFormDrawerRef" @refresh =" refresh" :title =" DataSourceToolDrawertitle" />
326345 <AddInternalToolDialog ref =" AddInternalToolDialogRef" @refresh =" confirmAddInternalTool" />
327346 <McpToolConfigDialog ref =" McpToolConfigDialogRef" @refresh =" refresh" />
328347 <ResourceAuthorizationDrawer :type =" SourceTypeEnum.TOOL" ref =" ResourceAuthorizationDrawerRef" />
@@ -337,6 +356,7 @@ import ToolResourceApi from '@/api/system-resource-management/tool'
337356import AddInternalToolDialog from ' @/views/tool/toolStore/AddInternalToolDialog.vue'
338357import ToolFormDrawer from ' @/views/tool/ToolFormDrawer.vue'
339358import McpToolFormDrawer from ' @/views/tool/McpToolFormDrawer.vue'
359+ import DataSourceToolFormDrawer from ' @/views/tool/DataSourceToolFormDrawer.vue'
340360import ResourceAuthorizationDrawer from ' @/components/resource-authorization-drawer/index.vue'
341361import { t } from ' @/locales'
342362import { SourceTypeEnum } from ' @/enums/common'
@@ -460,8 +480,10 @@ async function copyTool(row: any) {
460480
461481const ToolFormDrawerRef = ref ()
462482const McpToolFormDrawerRef = ref ()
483+ const DataSourceToolFormDrawerRef = ref ()
463484const ToolDrawertitle = ref (' ' )
464485const McpToolDrawertitle = ref (' ' )
486+ const DataSourceToolDrawertitle = ref (' ' )
465487
466488function openCreateDialog(data ? : any ) {
467489 // 有template_id的不允许编辑,是模板转换来的
@@ -495,6 +517,22 @@ function openCreateMcpDialog(data?: any) {
495517 }
496518}
497519
520+ function openCreateDataSourceDialog(data ? : any ) {
521+ // 有template_id的不允许编辑,是模板转换来的
522+ if (data ?.template_id ) {
523+ return
524+ }
525+
526+ DataSourceToolDrawertitle .value = data ? t (' views.tool.editDataSourceTool' ) : t (' views.tool.createDataSourceTool' )
527+ if (data ) {
528+ ToolResourceApi .getToolById (data ?.id , loading ).then ((res : any ) => {
529+ DataSourceToolFormDrawerRef .value .open (res .data )
530+ })
531+ } else {
532+ DataSourceToolFormDrawerRef .value .open (data )
533+ }
534+ }
535+
498536const AddInternalToolDialogRef = ref <InstanceType <typeof AddInternalToolDialog >>()
499537function addInternalTool(data ? : any , isEdit ? : boolean ) {
500538 AddInternalToolDialogRef .value ?.open (data , isEdit )
0 commit comments