feat: knowledge

This commit is contained in:
wangdan-fit2cloud 2025-06-24 18:52:21 +08:00
parent fc6b087d75
commit 0daa4e0091
4 changed files with 17 additions and 11 deletions

View File

@ -53,7 +53,7 @@ import folderApi from '@/api/folder'
import { MsgSuccess, MsgAlert } from '@/utils/message' import { MsgSuccess, MsgAlert } from '@/utils/message'
import { t } from '@/locales' import { t } from '@/locales'
import useStore from '@/stores' import useStore from '@/stores'
const { tool } = useStore() const { tool, knowledge } = useStore()
const emit = defineEmits(['refresh']) const emit = defineEmits(['refresh'])
const props = defineProps({ const props = defineProps({
@ -124,14 +124,14 @@ const submitHandle = async () => {
.then((res) => { .then((res) => {
MsgSuccess(t('common.editSuccess')) MsgSuccess(t('common.editSuccess'))
emit('refresh') emit('refresh')
tool.setToolList([]) clearData()
dialogVisible.value = false dialogVisible.value = false
}) })
} else { } else {
folderApi.postFolder(sourceType.value, folderForm.value, loading).then((res) => { folderApi.postFolder(sourceType.value, folderForm.value, loading).then((res) => {
MsgSuccess(t('common.createSuccess')) MsgSuccess(t('common.createSuccess'))
emit('refresh') emit('refresh')
tool.setToolList([]) clearData()
dialogVisible.value = false dialogVisible.value = false
}) })
} }
@ -139,6 +139,11 @@ const submitHandle = async () => {
}) })
} }
function clearData() {
tool.setToolList([])
knowledge.setKnowledgeList([])
}
defineExpose({ open }) defineExpose({ open })
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>

View File

@ -6,6 +6,7 @@ import { type Ref } from 'vue'
import useUserStore from './user' import useUserStore from './user'
import useFolderStore from './folder' import useFolderStore from './folder'
import { loadSharedApi } from '@/utils/dynamics-api/shared-api' import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
import knowledgeApi from '@/api/knowledge/knowledge'
export interface knowledgeStateTypes { export interface knowledgeStateTypes {
baseInfo: knowledgeData | null baseInfo: knowledgeData | null
@ -41,7 +42,7 @@ const useKnowledgeStore = defineStore('knowledge', {
}, },
async asyncGetKnowledgeListPage( async asyncGetKnowledgeListPage(
page: pageRequest, page: pageRequest,
isShared?: boolean | undefined, isShared: boolean | undefined,
systemType: 'systemShare' | 'workspace' | 'systemManage' = 'workspace', systemType: 'systemShare' | 'workspace' | 'systemManage' = 'workspace',
paramsData: any, paramsData: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,

View File

@ -90,7 +90,7 @@
</div> </div>
</div> </div>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item> <!-- <el-dropdown-item>
<div class="flex"> <div class="flex">
<el-avatar <el-avatar
class="avatar-purple mt-4" class="avatar-purple mt-4"
@ -109,7 +109,7 @@
</el-text> </el-text>
</div> </div>
</div> </div>
</el-dropdown-item> </el-dropdown-item> -->
<el-dropdown-item @click="openCreateFolder" divided> <el-dropdown-item @click="openCreateFolder" divided>
<div class="flex align-center"> <div class="flex align-center">
<AppIcon iconName="app-folder" style="font-size: 32px"></AppIcon> <AppIcon iconName="app-folder" style="font-size: 32px"></AppIcon>
@ -283,7 +283,7 @@
</ContentContainer> </ContentContainer>
<component :is="currentCreateDialog" ref="CreateKnowledgeDialogRef" v-if="!isShared" /> <component :is="currentCreateDialog" ref="CreateKnowledgeDialogRef" v-if="!isShared" />
<CreateFolderDialog ref="CreateFolderDialogRef" @refresh="refreshFolder" v-if="!isShared" /> <CreateFolderDialog ref="CreateFolderDialogRef" v-if="!isShared" />
<GenerateRelatedDialog ref="GenerateRelatedDialogRef" /> <GenerateRelatedDialog ref="GenerateRelatedDialogRef" />
<SyncWebDialog ref="SyncWebDialogRef" v-if="!isShared" /> <SyncWebDialog ref="SyncWebDialogRef" v-if="!isShared" />
</template> </template>

View File

@ -1,22 +1,22 @@
<template> <template>
<div class="tool-shared"> <div class="tool-shared">
<ToolListContainer> <KnowledgeListContainer>
<template #header> <template #header>
<el-breadcrumb separator-icon="ArrowRight"> <el-breadcrumb separator-icon="ArrowRight">
<el-breadcrumb-item>{{ t('views.system.shared.shared_resources') }}</el-breadcrumb-item> <el-breadcrumb-item>{{ t('views.system.shared.shared_resources') }}</el-breadcrumb-item>
<el-breadcrumb-item> <el-breadcrumb-item>
<h5 class="ml-4 color-text-primary">{{ t('views.tool.title') }}</h5> <h5 class="ml-4 color-text-primary">{{ t('views.knowledge.title') }}</h5>
</el-breadcrumb-item> </el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
</template> </template>
</ToolListContainer> </KnowledgeListContainer>
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { onMounted, ref, reactive, computed } from 'vue' import { onMounted, ref, reactive, computed } from 'vue'
import ToolListContainer from '@/views/tool/component/ToolListContainer.vue' import KnowledgeListContainer from '@/views/knowledge/component/KnowledgeListContainer.vue'
import { t } from '@/locales' import { t } from '@/locales'