fix: Fixing icons and importing document addresses

This commit is contained in:
wangdan-fit2cloud 2025-12-08 15:19:25 +08:00
parent 3c8601639c
commit 8066e125df
5 changed files with 114 additions and 8 deletions

View File

@ -12,7 +12,7 @@
<el-divider class="ml-8 mr-8" direction="vertical" />
<el-button
link
@click="router.push({ path: '/' })"
@click="goHome"
style="color: var(--el-text-color-primary)"
v-if="
hasPermission(
@ -42,6 +42,12 @@ import { useRouter } from 'vue-router'
import { hasPermission } from '@/utils/permission'
const router = useRouter()
const goHome = () => {
const newUrl = router.resolve({
path: `/`,
}).href
window.open(newUrl)
}
</script>
<style lang="scss" scoped>
.app-top-bar-container {

View File

@ -1,7 +1,7 @@
<template>
<div class="upload-document p-12-24">
<div class="flex align-center mb-16">
<back-button to="-1" style="margin-left: -4px"></back-button>
<back-button @click="back" style="margin-left: -4px"></back-button>
<h3 style="display: inline-block">{{ $t('views.document.importDocument') }}</h3>
</div>
<el-card style="--el-card-padding: 0">
@ -65,6 +65,9 @@ import applicationApi from '@/api/application/application'
import KnowledgeBase from '@/views/knowledge-workflow/component/action/KnowledgeBase.vue'
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
import { WorkflowType } from '@/enums/application'
import { ComplexPermission, Permission } from '@/utils/permission/type'
import { hasPermission } from '@/utils/permission'
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
provide('upload', (file: any, loading?: Ref<boolean>) => {
return applicationApi.postUploadFile(file, id as string, 'KNOWLEDGE', loading)
})
@ -73,7 +76,7 @@ const route = useRoute()
const key = ref<number>(0)
const {
params: { folderId },
query: { id },
query: { id } ,
/*
id为knowledgeID
folderId 可以区分 resource-management shared还是 workspace
@ -155,6 +158,91 @@ const goDocument = () => {
}).href
window.open(newUrl)
}
const back = () => {
if (route.path.includes('resource-management')) {
return router.push({ path: get_resource_management_route() })
} else if (route.path.includes('shared')) {
return router.push({ path: get_shared_route() })
} else {
return router.push({ path: get_route() })
}
}
const get_shared_route = () => {
if (hasPermission([RoleConst.ADMIN, PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_READ], 'OR')) {
return `/knowledge/${id}/shared/4/document`
} else if (
hasPermission([RoleConst.ADMIN, PermissionConst.SHARED_KNOWLEDGE_PROBLEM_READ], 'OR')
) {
return `/knowledge/${id}/shared/4/problem`
} else if (
hasPermission([RoleConst.ADMIN, PermissionConst.SHARED_KNOWLEDGE_HIT_TEST_READ], 'OR')
) {
return `/knowledge/${id}/shared/4/hit-test`
} else if (
hasPermission([RoleConst.ADMIN, PermissionConst.SHARED_KNOWLEDGE_CHAT_USER_READ], 'OR')
) {
return `/knowledge/${id}/shared/4/chat-user`
} else if (hasPermission([RoleConst.ADMIN, PermissionConst.SHARED_KNOWLEDGE_EDIT], 'OR')) {
return `/knowledge/${id}/shared/4/setting`
} else {
return `/system/shared/knowledge`
}
}
const get_resource_management_route = () => {
if (hasPermission([RoleConst.ADMIN, PermissionConst.RESOURCE_KNOWLEDGE_DOCUMENT_READ], 'OR')) {
return `/knowledge/${id}/resource-management/4/document`
} else if (
hasPermission([RoleConst.ADMIN, PermissionConst.RESOURCE_KNOWLEDGE_PROBLEM_READ], 'OR')
) {
return `/knowledge/${id}/resource-management/4/problem`
} else if (hasPermission([RoleConst.ADMIN, PermissionConst.RESOURCE_KNOWLEDGE_HIT_TEST], 'OR')) {
return `/knowledge/${id}/resource-management/4/hit-test`
} else if (
hasPermission([RoleConst.ADMIN, PermissionConst.RESOURCE_KNOWLEDGE_CHAT_USER_READ], 'OR')
) {
return `/knowledge/${id}/resource-management/4/chat-user`
} else if (hasPermission([RoleConst.ADMIN, PermissionConst.RESOURCE_KNOWLEDGE_EDIT], 'OR')) {
return `/knowledge/${id}/resource-management/4/setting`
} else {
return `/system/resource-management/knowledge`
}
}
const get_route = () => {
const checkPermission = (permissionConst: Permission) => {
return hasPermission(
[
new ComplexPermission(
[RoleConst.USER],
[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(id as string)],
[],
'AND',
),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
permissionConst.getWorkspacePermissionWorkspaceManageRole,
permissionConst.getKnowledgeWorkspaceResourcePermission(id as string),
],
'OR',
)
}
if (checkPermission(PermissionConst.KNOWLEDGE_DOCUMENT_READ)) {
return `/knowledge/${id}/${folderId}/4/document`
} else if (checkPermission(PermissionConst.KNOWLEDGE_PROBLEM_READ)) {
return `/knowledge/${id}/${folderId}/4/problem`
} else if (checkPermission(PermissionConst.KNOWLEDGE_HIT_TEST_READ)) {
return `/knowledge/${id}/${folderId}/4/hit-test`
} else if (checkPermission(PermissionConst.KNOWLEDGE_CHAT_USER_READ)) {
return `/knowledge/${id}/${folderId}/4/chat-user`
} else if (checkPermission(PermissionConst.KNOWLEDGE_EDIT)) {
return `/knowledge/${id}/${folderId}/4/setting`
} else {
return `/knowledge`
}
}
onMounted(() => {
getDetail()
})

View File

@ -1,5 +1,11 @@
<template>
<el-dialog v-model="dialogVisible" :title="$t('views.document.tag.addTag')" :before-close="close">
<el-dialog
v-model="dialogVisible"
:title="$t('views.document.tag.addTag')"
:before-close="close"
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<el-form
ref="FormRef"
:model="{ tagList }"

View File

@ -162,6 +162,7 @@ import permissionMap from '@/permission'
import { WorkflowMode } from '@/enums/application'
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
import { knowledgeBaseNode } from '@/workflow/common/data'
import { de } from 'element-plus/es/locale'
provide('getResourceDetail', () => detail)
provide('workflowMode', WorkflowMode.Knowledge)
provide('loopWorkflowMode', WorkflowMode.KnowledgeLoop)
@ -216,9 +217,8 @@ const apiInputParams = ref([])
const urlParams = computed(() =>
mapToUrlParams(apiInputParams.value) ? '?' + mapToUrlParams(apiInputParams.value) : '',
)
const shareUrl = computed(
() => `${window.location.origin}/chat/` + detail.value?.access_token + urlParams.value,
)
const isPublish = computed(() => detail.value?.is_publish)
function back() {
if (JSON.stringify(cloneWorkFlow.value) !== JSON.stringify(getGraphData())) {
@ -331,6 +331,7 @@ const publish = () => {
)
})
.then((ok: any) => {
detail.value.is_publish = true
MsgSuccess(t('views.application.tip.publishSuccess'))
})
.catch((res: any) => {
@ -554,7 +555,7 @@ const get_route = () => {
}
const toImportDoc = () => {
if (detail.value.is_publish) {
if (isPublish.value) {
const newUrl = router.resolve({
path: `/knowledge/import/workflow/${folderId}`,
query: {

View File

@ -8,6 +8,10 @@
>
<img :src="item?.icon" alt="" />
</el-avatar>
<el-avatar v-else-if="item?.tool_type === 'DATA_SOURCE'" class="avatar-purple" shape="square">
<img src="@/assets/tool/icon_datasource.svg" style="width: 58%" alt="" />
</el-avatar>
<el-avatar v-else shape="square" style="background: #34c724">
<img src="@/assets/tool/icon_tool.svg" style="width: 75%" alt="" />
</el-avatar>
@ -18,6 +22,7 @@ const props = defineProps<{
item?: {
name: string
icon: string
tool_type: string
}
}>()
</script>