diff --git a/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx b/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx index f295455603..9dd4dccbb1 100644 --- a/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx +++ b/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx @@ -34,7 +34,6 @@ const FormContent = ({ const [inputs, setInputs] = useState(defaultInputs) const [isSubmitting, setIsSubmitting] = useState(false) - // use immer const handleInputsChange = (name: string, value: any) => { setInputs(prev => ({ ...prev, diff --git a/web/app/components/workflow/nodes/human-input/hooks/use-single-run-form-params.ts b/web/app/components/workflow/nodes/human-input/hooks/use-single-run-form-params.ts index b2f7a6692d..6b66875008 100644 --- a/web/app/components/workflow/nodes/human-input/hooks/use-single-run-form-params.ts +++ b/web/app/components/workflow/nodes/human-input/hooks/use-single-run-form-params.ts @@ -61,18 +61,28 @@ const useSingleRunFormParams = ({ const fetchURL = useMemo(() => { if (!appId) return '' - if (isWorkflowMode) { - return `/apps/${appId}/advanced-chat/workflows/draft/human_input/nodes/${id}/form` + if (!isWorkflowMode) { + return `/apps/${appId}/advanced-chat/workflows/draft/human-input/nodes/${id}/form` } else { - return `/apps/${appId}/workflows/draft/human_input/nodes/${id}/form` + return `/apps/${appId}/workflows/draft/human-input/nodes/${id}/form` } }, [appId, id, isWorkflowMode]) const handleFetchFormContent = useCallback(async (inputs: Record) => { if (!fetchURL) return null - const data = await fetchHumanInputNodeStepRunForm(fetchURL, { inputs }) + let requestParamsObj + Object.keys(inputs).forEach((key) => { + if (inputs[key] === undefined) { + delete inputs[key] + } + }) + requestParamsObj = { ...inputs } + if (Object.keys(requestParamsObj).length === 0) { + requestParamsObj = undefined + } + const data = await fetchHumanInputNodeStepRunForm(fetchURL, { inputs: requestParamsObj! }) setFormData(data) return data }, [fetchURL]) @@ -82,8 +92,8 @@ const useSingleRunFormParams = ({ }, [fetchURL]) const handleShowGeneratedForm = async (formValue: Record) => { - await handleFetchFormContent(formValue) setShowGeneratedForm(true) + await handleFetchFormContent(formValue) } const handleHideGeneratedForm = () => { diff --git a/web/service/workflow.ts b/web/service/workflow.ts index b11bc7bc74..c3bbb5254c 100644 --- a/web/service/workflow.ts +++ b/web/service/workflow.ts @@ -107,15 +107,15 @@ export const submitHumanInputForm = (token: string, data: { export const fetchHumanInputNodeStepRunForm = ( url: string, - params: { + data: { inputs: Record }, ) => { - return get<{ + return post<{ form_content: string inputs: FormInputItem[] user_actions: UserAction[] - }>(url, { params }) + }>(`${url}/preview`, { body: data }) } export const submitHumanInputNodeStepRunForm = ( @@ -125,5 +125,5 @@ export const submitHumanInputNodeStepRunForm = ( action: string }, ) => { - return post(url, { body: data }) + return post(`${url}/run`, { body: data }) }