fix: Switching data sources during debugging of multiple Feishu data sources in the knowledge base workflow may result in the inability to obtain the document list (#4417)

This commit is contained in:
shaohuzhang1 2025-12-02 18:39:30 +08:00 committed by GitHub
parent 745adf930e
commit 7531bfd450
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 33 additions and 36 deletions

View File

@ -36,7 +36,7 @@
import type { Dict } from '@/api/type/common'
import FormItem from '@/components/dynamics-form/FormItem.vue'
import type { FormField } from '@/components/dynamics-form/type'
import { ref, onBeforeMount, watch, type Ref, computed } from 'vue'
import { ref, onBeforeMount, watch, type Ref, nextTick } from 'vue'
import type { FormInstance } from 'element-plus'
import type Result from '@/request/Result'
import _ from 'lodash'
@ -215,31 +215,34 @@ const render = (
| (() => Promise<Result<Array<FormField>>>),
data?: Dict<any>,
) => {
if (typeof render_data == 'string') {
get(render_data, {}, loading).then((ok) => {
formFieldList.value = ok.data
})
} else if (render_data instanceof Array) {
formFieldList.value = render_data
} else if (typeof render_data === 'function') {
render_data().then((ok: any) => {
formFieldList.value = ok.data
const form_data = data ? data : {}
if (form_data) {
const value = getFormDefaultValue(formFieldList.value, form_data)
formValue.value = _.cloneDeep(value)
}
})
} else {
render_data.then((ok) => {
formFieldList.value = ok.data
})
}
const form_data = data ? data : {}
if (form_data) {
const value = getFormDefaultValue(formFieldList.value, form_data)
formValue.value = _.cloneDeep(value)
}
formFieldList.value = []
nextTick(() => {
if (typeof render_data == 'string') {
get(render_data, {}, loading).then((ok) => {
formFieldList.value = ok.data
})
} else if (render_data instanceof Array) {
formFieldList.value = render_data
} else if (typeof render_data === 'function') {
render_data().then((ok: any) => {
formFieldList.value = ok.data
const form_data = data ? data : {}
if (form_data) {
const value = getFormDefaultValue(formFieldList.value, form_data)
formValue.value = _.cloneDeep(value)
}
})
} else {
render_data.then((ok) => {
formFieldList.value = ok.data
})
}
const form_data = data ? data : {}
if (form_data) {
const value = getFormDefaultValue(formFieldList.value, form_data)
formValue.value = _.cloneDeep(value)
}
})
}
const getFormDefaultValue = (fieldList: Array<any>, form_data?: any) => {
form_data = form_data ? form_data : {}

View File

@ -10,12 +10,7 @@
label-width="auto"
>
<el-form-item
:label="
$t(
'views.workflow.nodes.dataSourceLocalNode.fileFormat.label',
'支持的文件格式',
)
"
:label="$t('views.workflow.nodes.dataSourceLocalNode.fileFormat.label', '支持的文件格式')"
:rules="{
type: 'array',
required: true,
@ -37,6 +32,8 @@
style="width: 240px"
clearable
multiple
filterable
allow-create
>
<template #label="{ label, value }">
<span>{{ label }} </span>
@ -51,10 +48,7 @@
</el-form-item>
<el-form-item
:label="
$t(
'views.workflow.nodes.dataSourceLocalNode.maxFileNumber.label',
'每次上传最大文件数',
)
$t('views.workflow.nodes.dataSourceLocalNode.maxFileNumber.label', '每次上传最大文件数')
"
:rules="{
type: 'array',