diff --git a/components/agents/AgentGenerationWorkspaceDarkV2.tsx b/components/agents/AgentGenerationWorkspaceDarkV2.tsx index 074f6adf1..d1b2a014c 100644 --- a/components/agents/AgentGenerationWorkspaceDarkV2.tsx +++ b/components/agents/AgentGenerationWorkspaceDarkV2.tsx @@ -3847,6 +3847,45 @@ export function AgentGenerationWorkspaceDarkV2({ 生成参数
+ {isDetailReplacementPreset ? ( +
+
+
+
详情模式
+
+ 顶部直接切换“参考图替换”或“AI详情生成”,生成结果会自动归档到对应分类。 +
+
+
+ + +
+
+
+ ) : null} + {isReplacementPreset || isDetailAiGenerationMethod ? (
{isDetailAiGenerationMethod @@ -3963,50 +4002,6 @@ export function AgentGenerationWorkspaceDarkV2({
- {isDetailReplacementPreset ? ( - -
-
-
详情模式
-
- 在“参考图替换”和“AI详情生成”之间切换,结果会分别保存到各自分类中。 -
-
-
- - -
-
-
- ) : null} - {isDetailReplacementPreset && !isDetailAiGenerationMethod ? ( ("all"); const [hasManualSelectionInteraction, setHasManualSelectionInteraction] = useState(false); const [isResultDetailsExpanded, setIsResultDetailsExpanded] = useState(true); const selectedSet = useMemo( @@ -112,6 +112,7 @@ export function AgentWorkflowMaterialPicker({ ].filter((item) => Boolean(item.value)); const remainingSelectableCount = resolvedSelectionLimit === null ? null : Math.max(resolvedSelectionLimit - selectedCount, 0); + const totalImageCount = result?.images?.length || 0; const hasSystemRecommendedSelection = result?.queryType === "sku" && recommendedImageIds.length > 0 && @@ -119,10 +120,20 @@ export function AgentWorkflowMaterialPicker({ recommendedImageIds.every((id) => selectedSet.has(id)); const isAutoSelectedResult = Boolean(hasSystemRecommendedSelection) && !hasManualSelectionInteraction; + const canTogglePreviewMode = totalImageCount > 0 && selectedCount > 0 && selectedCount < totalImageCount; const collapsedResultSummary = useMemo(() => { const title = result?.goodsInfo?.productName || result?.matchedSku || result?.query || "当前SKU"; return `${title} · 系统已自动选中 ${selectedCount} 张图`; }, [result?.goodsInfo?.productName, result?.matchedSku, result?.query, selectedCount]); + const visibleImages = useMemo(() => { + if (!result?.images?.length) { + return []; + } + if (previewDisplayMode === "selected" && selectedCount > 0) { + return result.images.filter((image) => selectedSet.has(image.id)); + } + return result.images; + }, [previewDisplayMode, result?.images, selectedCount, selectedSet]); const previewResetKey = useMemo( () => JSON.stringify({ @@ -136,9 +147,15 @@ export function AgentWorkflowMaterialPicker({ useEffect(() => { setHasManualSelectionInteraction(false); - setIsImagePreviewExpanded(!hasSystemRecommendedSelection); + }, [previewResetKey]); + + useEffect(() => { + if (hasManualSelectionInteraction) { + return; + } + setPreviewDisplayMode(hasSystemRecommendedSelection ? "selected" : "all"); setIsResultDetailsExpanded(!hasSystemRecommendedSelection); - }, [hasSystemRecommendedSelection, previewResetKey]); + }, [hasManualSelectionInteraction, hasSystemRecommendedSelection, previewResetKey]); const handleToggleImage = (imageId: string) => { setHasManualSelectionInteraction(true); @@ -304,7 +321,7 @@ export function AgentWorkflowMaterialPicker({ {collapsedResultSummary}
- 需要检查商品信息、已选图片或手动微调时,再展开查看。 + 默认先替你收起结果区,需要检查商品信息、已选图片或手动微调时再展开查看。
) : ( @@ -381,21 +398,48 @@ export function AgentWorkflowMaterialPicker({ ) : null} -
- {isAutoSelectedResult ? ( - + + +
) : null} + {isAutoSelectedResult ? ( + + ) : null} @@ -523,7 +582,7 @@ export function AgentWorkflowMaterialPicker({ {result.images?.length ? (
- {isAutoSelectedResult ? ( + {isAutoSelectedResult || canTogglePreviewMode ? (
- 系统已按权重自动选中 {selectedCount} 张 SKU 图,默认收起预览;需要检查或微调时再手动展开。 + {previewDisplayMode === "selected" + ? `当前优先展示已选中的 ${selectedCount} 张图片,便于你快速确认结果。` + : `当前展示全部 ${totalImageCount} 张候选图片,可继续手动微调选图。`}
- + {canTogglePreviewMode ? ( +
+ 在上方切换“已选 / 全部”即可,无需再单独收起预览。 +
+ ) : null}
) : null} - {(!isAutoSelectedResult || isImagePreviewExpanded) ? ( + {visibleImages.length > 0 ? (
- {result.images.map((image) => { + {visibleImages.map((image) => { const selected = selectedSet.has(image.id); const isPlaceholder = !String(image.imageUrl || "").trim(); return ( @@ -648,7 +691,23 @@ export function AgentWorkflowMaterialPicker({ ); })}
- ) : null} + ) : ( +
+
+ 当前没有可展示的已选图片 +
+
+ 切换到“全部 {totalImageCount}”可查看全部候选图片并重新调整。 +
+
+ )}
) : null}