From 8f7a4f36d038acd463b420cd6cbe2b8f01310c78 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Wed, 27 May 2026 14:02:02 +0800 Subject: [PATCH 1/2] feat: Support model parameter in form node --- ui/src/workflow/nodes/form-node/index.vue | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/ui/src/workflow/nodes/form-node/index.vue b/ui/src/workflow/nodes/form-node/index.vue index df5d3736fad..78764043622 100644 --- a/ui/src/workflow/nodes/form-node/index.vue +++ b/ui/src/workflow/nodes/form-node/index.vue @@ -159,6 +159,8 @@ import { input_type_list } from '@/components/dynamics-form/constructor/data' import { WorkflowMode } from '@/enums/application' import { MsgError } from '@/utils/message' import { set, cloneDeep } from 'lodash' +import { useRoute } from 'vue-router' +import { loadSharedApi } from '@/utils/dynamics-api/shared-api' import Sortable from 'sortablejs' import { t } from '@/locales' const props = defineProps<{ nodeModel: any }>() @@ -167,6 +169,28 @@ const workflowMode = inject('workflowMode', WorkflowMode.Application) as Workflo const enableVisibility = computed( () => workflowMode === WorkflowMode.Application || workflowMode === WorkflowMode.ApplicationLoop, ) +const getResourceDetail = inject('getResourceDetail') as any +const route = useRoute() +const apiType = computed(() => { + if (route.path.includes('resource-management')) { + return 'systemManage' + } else { + return 'workspace' + } +}) +const resource = getResourceDetail() + +provide('getSelectModelList', (params: any) => { + const obj = + apiType.value === 'systemManage' + ? { ...params, workspace_id: resource.value?.workspace_id } + : { ...params } + return loadSharedApi({ type: 'model', systemType: apiType.value }).getSelectModelList(obj) +}) + +provide('getModelParamsForm', (model_id: string) => { + return loadSharedApi({ type: 'model', systemType: apiType.value }).getModelParamsForm(model_id) +}) const formNodeFormRef = ref() const tableRef = ref() const editFormField = (form_field_data: any, field_index: number) => { From 1b4d5b5936e6028378b662a53633e060587f5839 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Wed, 27 May 2026 15:45:27 +0800 Subject: [PATCH 2/2] fix: Exposed params --- ui/src/components/ai-chat/component/inline-params/index.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/src/components/ai-chat/component/inline-params/index.vue b/ui/src/components/ai-chat/component/inline-params/index.vue index c15091edbfd..2ccb7e658c8 100644 --- a/ui/src/components/ai-chat/component/inline-params/index.vue +++ b/ui/src/components/ai-chat/component/inline-params/index.vue @@ -42,7 +42,7 @@ const fieldList = ref([]) const formValue = ref>({}) const setting = ref<{ exposed_fields: string[]; menu_title: string }>({ exposed_fields: [], - menu_title: t('common.moreSettings'), + menu_title: t('common.moreSettings'), }) watch( @@ -157,7 +157,7 @@ function handleInputFieldList() { } const exposedFields = computed(() => { - if (setting.value.exposed_fields.length === 0) return fieldList.value + if (setting.value.exposed_fields.length === 0) return [] return setting.value.exposed_fields .map((field: string) => fieldList.value.find((f) => f.field === field)) .filter(Boolean) @@ -165,7 +165,7 @@ const exposedFields = computed(() => { }) const dialogFields = computed(() => { - if (setting.value.exposed_fields.length === 0) return [] + if (setting.value.exposed_fields.length === 0) return fieldList.value return fieldList.value.filter((f) => !setting.value.exposed_fields.includes(f.field)) })