feat: Tool store
parent
fad4ce9cd0
commit
823ac6b1a3
|
|
@ -20,7 +20,7 @@
|
|||
</div>
|
||||
|
||||
<div class="status-tag">
|
||||
<slot name="tag"> <!-- 放标签 --> </slot>
|
||||
<slot name="tag" :hoverShow="show"> <!-- 放标签 --> </slot>
|
||||
</div>
|
||||
</div>
|
||||
</slot>
|
||||
|
|
@ -80,6 +80,7 @@ function cardLeave() {
|
|||
function subHoveredEnter() {
|
||||
subHovered.value = true
|
||||
}
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.card-box {
|
||||
|
|
|
|||
|
|
@ -236,6 +236,13 @@
|
|||
}
|
||||
}
|
||||
|
||||
.dot-success {
|
||||
height: 8px;
|
||||
width: 8px;
|
||||
background-color: var(--el-color-success);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
// checkbox 一行一个样式
|
||||
.checkbox-group-block {
|
||||
.el-checkbox {
|
||||
|
|
|
|||
|
|
@ -189,16 +189,23 @@
|
|||
{{ $t('common.creator') }}: {{ item.nick_name }}
|
||||
</el-text>
|
||||
</template>
|
||||
<template #tag>
|
||||
<template #tag="{ hoverShow }">
|
||||
<el-tag v-if="isShared" type="info" class="info-tag">
|
||||
{{ t('views.shared.title') }}
|
||||
</el-tag>
|
||||
<el-button text @click.stop v-if="
|
||||
showUpdateStoreTool(item) && !isShared && permissionPrecise.edit(item.id)
|
||||
" @click="updateStoreTool(item)"
|
||||
>
|
||||
<el-icon><Refresh /></el-icon>
|
||||
</el-button>
|
||||
<el-tooltip effect="dark" content="更新版本">
|
||||
<el-button
|
||||
text
|
||||
@click.stop
|
||||
v-if="
|
||||
showUpdateStoreTool(item) && !isShared && permissionPrecise.edit(item.id)
|
||||
"
|
||||
@click="updateStoreTool(item)"
|
||||
>
|
||||
<el-icon v-if="hoverShow"><Refresh /></el-icon>
|
||||
<div v-else class="dot-success"></div>
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
|
||||
<template #footer>
|
||||
|
|
@ -255,7 +262,11 @@
|
|||
{{ $t('common.edit') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
v-if="!item.template_id && permissionPrecise.copy(item.id) && item.tool_type!== 'MCP'"
|
||||
v-if="
|
||||
!item.template_id &&
|
||||
permissionPrecise.copy(item.id) &&
|
||||
item.tool_type !== 'MCP'
|
||||
"
|
||||
@click.stop="copyTool(item)"
|
||||
>
|
||||
<AppIcon iconName="app-copy" class="color-secondary"></AppIcon>
|
||||
|
|
@ -295,7 +306,11 @@
|
|||
{{ $t('views.shared.authorized_workspace') }}</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item
|
||||
v-if="!item.template_id && permissionPrecise.export(item.id) && item.tool_type!== 'MCP'"
|
||||
v-if="
|
||||
!item.template_id &&
|
||||
permissionPrecise.export(item.id) &&
|
||||
item.tool_type !== 'MCP'
|
||||
"
|
||||
@click.stop="exportTool(item)"
|
||||
>
|
||||
<AppIcon iconName="app-export" class="color-secondary"></AppIcon>
|
||||
|
|
@ -359,7 +374,7 @@ import ToolStoreDialog from '@/views/tool/toolStore/ToolStoreDialog.vue'
|
|||
import AddInternalToolDialog from '@/views/tool/toolStore/AddInternalToolDialog.vue'
|
||||
import MoveToDialog from '@/components/folder-tree/MoveToDialog.vue'
|
||||
import ResourceAuthorizationDrawer from '@/components/resource-authorization-drawer/index.vue'
|
||||
import McpToolConfigDialog from "@/views/tool/component/McpToolConfigDialog.vue";
|
||||
import McpToolConfigDialog from '@/views/tool/component/McpToolConfigDialog.vue'
|
||||
import { resetUrl } from '@/utils/common'
|
||||
import { MsgSuccess, MsgConfirm, MsgError } from '@/utils/message'
|
||||
import { SourceTypeEnum } from '@/enums/common'
|
||||
|
|
@ -367,7 +382,7 @@ import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
|||
import permissionMap from '@/permission'
|
||||
import useStore from '@/stores'
|
||||
import { t } from '@/locales'
|
||||
import ToolStoreApi from "@/api/tool/store.ts";
|
||||
import ToolStoreApi from '@/api/tool/store.ts'
|
||||
const route = useRoute()
|
||||
const { folder, user, tool } = useStore()
|
||||
onBeforeRouteLeave((to, from) => {
|
||||
|
|
@ -643,10 +658,9 @@ function confirmAddInternalTool(data?: any, isEdit?: boolean) {
|
|||
|
||||
const storeTools = ref<any[]>([])
|
||||
function getStoreToolList() {
|
||||
ToolStoreApi.getStoreToolList({ name: '' }, loading)
|
||||
.then((res: any) => {
|
||||
storeTools.value = res.data.apps
|
||||
})
|
||||
ToolStoreApi.getStoreToolList({ name: '' }, loading).then((res: any) => {
|
||||
storeTools.value = res.data.apps
|
||||
})
|
||||
}
|
||||
|
||||
function showUpdateStoreTool(item: any) {
|
||||
|
|
@ -663,20 +677,23 @@ function showUpdateStoreTool(item: any) {
|
|||
}
|
||||
|
||||
function updateStoreTool(item: any) {
|
||||
MsgConfirm(t('views.tool.toolStore.confirmTip') + item.name,
|
||||
t('views.tool.toolStore.updateStoreToolMessage'), {
|
||||
MsgConfirm(
|
||||
t('views.tool.toolStore.confirmTip') + item.name,
|
||||
t('views.tool.toolStore.updateStoreToolMessage'),
|
||||
{
|
||||
cancelButtonText: t('common.cancel'),
|
||||
confirmButtonText: t('common.confirm'),
|
||||
})
|
||||
},
|
||||
)
|
||||
.then(() => {
|
||||
const obj = {
|
||||
download_url: item.downloadUrl,
|
||||
download_callback_url: item.downloadCallbackUrl,
|
||||
icon: item.icon,
|
||||
versions: item.versions,
|
||||
label: item.label
|
||||
label: item.label,
|
||||
}
|
||||
loadSharedApi({type: 'tool', systemType: apiType.value})
|
||||
loadSharedApi({ type: 'tool', systemType: apiType.value })
|
||||
.updateStoreTool(item.id, obj, loading)
|
||||
.then(async (res: any) => {
|
||||
if (res?.data) {
|
||||
|
|
@ -688,8 +705,7 @@ function updateStoreTool(item: any) {
|
|||
getList()
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
.catch(() => {})
|
||||
}
|
||||
|
||||
const elUploadRef = ref()
|
||||
|
|
|
|||
Loading…
Reference in New Issue