fix(analysis): 新用户无数据时概念/行业分析配置按钮无响应

根因:配置弹窗 <AnimatePresence> 在主 return 内,而无数据的早期
return 分支没有渲染弹窗,导致新用户点按钮 showConfig=true 无组件响应。

- ConceptAnalysis: 早期 return 分支补上弹窗渲染
- IndustryAnalysis: 早期 return 分支补上配置按钮(原来缺失)+弹窗渲染

修复后新用户在两个页面点配置按钮均可正常弹出。
This commit is contained in:
shy3130
2026-06-26 16:26:11 +08:00
parent 1e0e9b422b
commit b8ed0f8177
2 changed files with 32 additions and 15 deletions
+16 -11
View File
@@ -311,17 +311,22 @@ export function ConceptAnalysis() {
if (!activeConfig) {
return (
<div className="flex h-full flex-col">
<PageHeader
title="概念分析"
right={
<button onClick={() => setShowConfig(true)} className="p-1.5 text-muted hover:bg-surface hover:text-accent" title="配置数据源">
<Settings2 className="h-4 w-4" />
</button>
}
/>
<EmptyState icon={Database} title="暂无概念数据" hint={'请先在"数据"页面创建包含概念/题材字段的扩展数据源'} />
</div>
<>
<div className="flex h-full flex-col">
<PageHeader
title="概念分析"
right={
<button onClick={() => setShowConfig(true)} className="p-1.5 text-muted hover:bg-surface hover:text-accent" title="配置数据源">
<Settings2 className="h-4 w-4" />
</button>
}
/>
<EmptyState icon={Database} title="暂无概念数据" hint={'请先在"数据"页面创建包含概念/题材字段的扩展数据源'} />
</div>
<AnimatePresence>
{showConfig && <AnalysisConfigDialog currentConfig={fieldConfig} onSave={handleSaveConfig} onClose={() => setShowConfig(false)} />}
</AnimatePresence>
</>
)
}
+16 -4
View File
@@ -358,10 +358,22 @@ export function IndustryAnalysis() {
if (!activeConfig) {
return (
<div className="flex h-full flex-col">
<PageHeader title="行业分析" />
<EmptyState icon={Database} title="暂无行业数据" hint={'请先在"数据"页面创建包含行业/板块字段的扩展数据源'} />
</div>
<>
<div className="flex h-full flex-col">
<PageHeader
title="行业分析"
right={
<button onClick={() => setShowConfig(true)} className="p-1.5 text-muted hover:bg-surface hover:text-accent" title="配置数据源">
<Settings2 className="h-4 w-4" />
</button>
}
/>
<EmptyState icon={Database} title="暂无行业数据" hint={'请先在"数据"页面创建包含行业/板块字段的扩展数据源'} />
</div>
<AnimatePresence>
{showConfig && <AnalysisConfigDialog currentConfig={fieldConfig} onSave={handleSaveConfig} onClose={() => setShowConfig(false)} showHierarchyLevel />}
</AnimatePresence>
</>
)
}