mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
fix: Adding nodes in the execution details
This commit is contained in:
parent
54e4423d84
commit
745adf930e
|
|
@ -1081,6 +1081,104 @@
|
|||
</template>
|
||||
<slot></slot>
|
||||
</template>
|
||||
<!-- 文本文件 -->
|
||||
<template v-if="data.type === WorkflowType.DataSourceLocalNode">
|
||||
<div class="card-never border-r-6">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('common.param.outputParam') }}
|
||||
</h5>
|
||||
|
||||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<div class="mb-8">
|
||||
{{ data.file_list || '-' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<!-- 文档分段 -->
|
||||
<template v-if="data.type === WorkflowType.DocumentSplitNode">
|
||||
<div class="card-never border-r-6">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('common.param.inputParam') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<div v-for="(f, i) in data.result_list" :key="i" class="mb-8">
|
||||
<span class="color-secondary">{{ f.name }}:</span> {{ f.input_value }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-never border-r-6 mt-8">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('common.param.outputParam') }}(每个文档仅能预览前五个分段)
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<el-radio-group v-model="currentParagraph" class="app-radio-button-group mb-8">
|
||||
<template
|
||||
v-for="(paragrapg, ParagraphIndex) in data.paragraph_list"
|
||||
:key="ParagraphIndex"
|
||||
>
|
||||
<el-radio-button :label="paragrapg.name" :value="ParagraphIndex" />
|
||||
</template>
|
||||
</el-radio-group>
|
||||
<template v-if="data.paragraph_list?.length > 0">
|
||||
<template
|
||||
v-for="(paragraph, pId) in data.paragraph_list?.[currentParagraph]?.paragraphs"
|
||||
:key="pId"
|
||||
>
|
||||
<ParagraphCard :data="paragraph" :content="paragraph.content" :index="pId">
|
||||
<template #footer>
|
||||
<span class="color-secondary">
|
||||
{{ $t('common.character') }}:{{ paragraph.content.length }}</span
|
||||
>
|
||||
</template>
|
||||
</ParagraphCard>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else> -</template>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<!-- 知识库写入 -->
|
||||
<template v-if="data.type === WorkflowType.KnowledgeWriteNode">
|
||||
<div class="card-never border-r-6">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('common.param.inputParam') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<div v-for="(f, i) in data.result_list" :key="i" class="mb-8">
|
||||
<span class="color-secondary">{{ f.name }}:</span> {{ f.input_value }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-never border-r-6 mt-8">
|
||||
<h5 class="p-8-12">写入内容</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<el-radio-group v-model="currentWriteContent" class="app-radio-button-group mb-8">
|
||||
<template
|
||||
v-for="(paragrapg, ParagraphIndex) in data.write_content"
|
||||
:key="ParagraphIndex"
|
||||
>
|
||||
<el-radio-button :label="paragrapg.name" :value="ParagraphIndex" />
|
||||
</template>
|
||||
</el-radio-group>
|
||||
<template v-if="data.write_content?.length > 0">
|
||||
<template
|
||||
v-for="(paragraph, pId) in data.write_content?.[currentWriteContent]?.paragraphs"
|
||||
:key="pId"
|
||||
>
|
||||
<ParagraphCard :data="paragraph" :content="paragraph.content" :index="pId">
|
||||
<template #footer>
|
||||
<span class="color-secondary">
|
||||
{{ $t('common.character') }}:{{ paragraph.content.length }}</span
|
||||
>
|
||||
</template>
|
||||
</ParagraphCard>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else> -</template>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="card-never border-r-6">
|
||||
<h5 class="p-8-12">{{ $t('chat.executionDetails.errMessage') }}</h5>
|
||||
|
|
@ -1106,5 +1204,7 @@ const props = defineProps<{
|
|||
data: any
|
||||
}>()
|
||||
const currentLoopNode = ref(0)
|
||||
const currentParagraph = ref(0)
|
||||
const currentWriteContent = ref(0)
|
||||
</script>
|
||||
<style lang="scss" scoped></style>
|
||||
|
|
|
|||
|
|
@ -18,39 +18,41 @@
|
|||
</el-scrollbar>
|
||||
|
||||
<template #footer>
|
||||
<el-card
|
||||
shadow="never"
|
||||
style="--el-card-padding: 8px"
|
||||
class="w-full mb-12"
|
||||
v-if="data?.document_name?.trim()"
|
||||
>
|
||||
<el-text class="flex align-center item">
|
||||
<img :src="getImgUrl(data?.document_name?.trim())" alt="" width="20" class="mr-4" />
|
||||
<div class="ml-8">
|
||||
<div class="ml-4" v-if="data?.meta?.source_file_id || data?.meta?.source_url">
|
||||
<a
|
||||
:href="getFileUrl(data?.meta?.source_file_id) || data?.meta?.source_url"
|
||||
target="_blank"
|
||||
class="ellipsis-1"
|
||||
:title="data?.document_name?.trim()"
|
||||
>
|
||||
<span :title="data?.document_name?.trim()">{{ data?.document_name }}</span>
|
||||
</a>
|
||||
<slot name="footer">
|
||||
<el-card
|
||||
shadow="never"
|
||||
style="--el-card-padding: 8px"
|
||||
class="w-full mb-12"
|
||||
v-if="data?.document_name?.trim()"
|
||||
>
|
||||
<el-text class="flex align-center item">
|
||||
<img :src="getImgUrl(data?.document_name?.trim())" alt="" width="20" class="mr-4" />
|
||||
<div class="ml-8">
|
||||
<div class="ml-4" v-if="data?.meta?.source_file_id || data?.meta?.source_url">
|
||||
<a
|
||||
:href="getFileUrl(data?.meta?.source_file_id) || data?.meta?.source_url"
|
||||
target="_blank"
|
||||
class="ellipsis-1"
|
||||
:title="data?.document_name?.trim()"
|
||||
>
|
||||
<span :title="data?.document_name?.trim()">{{ data?.document_name }}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div v-else @click="infoMessage(data)">
|
||||
<span class="ellipsis-1 break-all" :title="data?.document_name?.trim()">
|
||||
{{ data?.document_name?.trim() }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else @click="infoMessage(data)">
|
||||
<span class="ellipsis-1 break-all" :title="data?.document_name?.trim()">
|
||||
{{ data?.document_name?.trim() }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</el-text>
|
||||
</el-card>
|
||||
<div class="flex align-center border-t" style="padding: 12px 0 8px">
|
||||
<KnowledgeIcon :type="data?.knowledge_type" :size="18" class="mr-8" />
|
||||
<span class="ellipsis-1 break-all" :title="data?.knowledge_name">
|
||||
{{ data?.knowledge_name || '-' }}
|
||||
</span>
|
||||
</div>
|
||||
</el-text>
|
||||
</el-card>
|
||||
<div class="flex align-center border-t" style="padding: 12px 0 8px">
|
||||
<KnowledgeIcon :type="data?.knowledge_type" :size="18" class="mr-8" />
|
||||
<span class="ellipsis-1 break-all" :title="data?.knowledge_name">
|
||||
{{ data?.knowledge_name || '-' }}
|
||||
</span>
|
||||
</div>
|
||||
</slot>
|
||||
</template>
|
||||
</CardBox>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ const option_list = computed(() => {
|
|||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.radio_content {
|
||||
height: 32px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
|
|
@ -94,7 +95,6 @@ const option_list = computed(() => {
|
|||
color: var(--el-color-primary);
|
||||
}
|
||||
.item {
|
||||
line-height: 22px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ const DocumentRouter = {
|
|||
name: 'knowledgeWorkflowSetting',
|
||||
meta: {
|
||||
title: 'views.workflow.workflow',
|
||||
icon: 'app-problems',
|
||||
icon: 'app-workflow',
|
||||
activeMenu: '/knowledge',
|
||||
parentPath: '/knowledge/:id/:folderId/:type',
|
||||
parentName: 'KnowledgeDetail',
|
||||
|
|
|
|||
|
|
@ -7,18 +7,20 @@
|
|||
<el-card style="--el-card-padding: 0">
|
||||
<div class="upload-document__main flex" v-loading="loading">
|
||||
<div class="upload-document__component main-calc-height">
|
||||
<div class="upload-component p-24" style="min-width: 850px">
|
||||
<keep-alive>
|
||||
<component
|
||||
ref="ActionRef"
|
||||
:is="ak[active]"
|
||||
v-model:loading="loading"
|
||||
:workflow="_workflow"
|
||||
:knowledge_id="id"
|
||||
:id="action_id"
|
||||
></component>
|
||||
</keep-alive>
|
||||
</div>
|
||||
<el-scrollbar>
|
||||
<div class="upload-component p-24" style="min-width: 850px">
|
||||
<keep-alive>
|
||||
<component
|
||||
ref="ActionRef"
|
||||
:is="ak[active]"
|
||||
v-model:loading="loading"
|
||||
:workflow="_workflow"
|
||||
:knowledge_id="id"
|
||||
:id="action_id"
|
||||
></component>
|
||||
</keep-alive>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
|
|
@ -118,7 +120,8 @@ const upload = () => {
|
|||
loadSharedApi({ type: 'knowledge', systemType: apiType.value })
|
||||
.workflowUpload(id, form_data.value, loading)
|
||||
.then((ok: any) => {
|
||||
router.go(-1)
|
||||
action_id.value = ok.data.id
|
||||
active.value = 'result'
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue