diff --git a/app/apps/page.tsx b/app/apps/page.tsx index 49a998c..7200483 100644 --- a/app/apps/page.tsx +++ b/app/apps/page.tsx @@ -62,6 +62,7 @@ import { useCurrentUser } from "@/hooks/useCurrentUser"; import { checkSuperAdmin } from "@/lib/clientPermissions"; import WorkflowEditor from "./components/WorkflowEditor"; import { syncFormToWorkflow } from "@/lib/workflowUtils"; +import { resolveAutoSelectDatasets } from "@/lib/appDatasets"; import { WorkflowConfig } from "@/types/workflow"; import { DEFAULT_LLM_MODEL_CODE, type LlmModelOption } from "@/lib/llmModels"; @@ -466,8 +467,7 @@ export default function AppsPage() { settings: app.settings || {}, is_default: app.is_default || false, }); - // 如果 dataset_ids 为空,则自动选择知识库为 true,否则为 false - setAutoSelectDatasets(datasetIds.length === 0); + setAutoSelectDatasets(resolveAutoSelectDatasets(app.settings, datasetIds)); setDialogOpen(true); }, []); @@ -482,12 +482,18 @@ export default function AppsPage() { try { setSubmitting(true); - const workflow = syncFormToWorkflow({ ...formData }, editingApp?.settings?.workflow, datasets); + const workflow = syncFormToWorkflow( + { ...formData }, + editingApp?.settings?.workflow, + datasets + ); const submitData = { ...formData, + dataset_ids: autoSelectDatasets ? [] : formData.dataset_ids, settings: { ...formData.settings, workflow, + auto_select_datasets: autoSelectDatasets, }, }; @@ -514,7 +520,7 @@ export default function AppsPage() { } finally { setSubmitting(false); } - }, [formData, editingApp, loadApps, datasets]); + }, [formData, autoSelectDatasets, editingApp, loadApps, datasets]); // 提交应用审核(draft/rejected → pending_review;建即 draft,仅 owner 可测) const handleSubmitAppReview = useCallback( @@ -926,10 +932,10 @@ export default function AppsPage() {