refactor(DeepAnalysisTab): 模块化拆分为 21 个 TypeScript 文件

将 1,796 行单文件拆分为原子设计模式结构:

**atoms/** - 原子组件
- DisclaimerBox: 免责声明警告框
- ScoreBar: 评分进度条
- BusinessTreeItem: 业务树形项
- KeyFactorCard: 关键因素卡片

**components/** - Card 容器组件
- CorePositioningCard: 核心定位
- CompetitiveAnalysisCard: 竞争地位分析(含雷达图)
- BusinessStructureCard: 业务结构
- ValueChainCard: 产业链分析
- KeyFactorsCard: 关键因素
- TimelineCard: 发展时间线
- BusinessSegmentsCard: 业务板块详情
- StrategyAnalysisCard: 战略分析

**organisms/** - 复杂组件
- ValueChainNodeCard: 产业链节点(含 RelatedCompaniesModal)
- TimelineComponent: 时间线(含 EventDetailModal)

**utils/**
- chartOptions.ts: ECharts 图表配置

优化效果:主文件从 1,796 行减少到 117 行(-93%)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-12-11 10:59:05 +08:00
parent 7819b4f8a2
commit 32a73efb55
22 changed files with 2664 additions and 1795 deletions

View File

@@ -0,0 +1,28 @@
/**
* 免责声明组件
*
* 显示 AI 分析内容的免责声明警告框
* 使用位置:深度分析各 Card 底部(共 6 处)
*/
import React from 'react';
import { Alert, AlertIcon, Box, Text } from '@chakra-ui/react';
const DisclaimerBox: React.FC = () => {
return (
<Alert status="warning" variant="left-accent" mb={4}>
<AlertIcon />
<Box fontSize="xs" lineHeight="1.4">
<Text fontWeight="medium" mb={1}>
</Text>
<Text>
AI模型基于新闻
</Text>
</Box>
</Alert>
);
};
export default DisclaimerBox;