heropanel修改
This commit is contained in:
@@ -465,6 +465,21 @@ const EventDailyStats = () => {
|
||||
)}
|
||||
</HStack>
|
||||
<HStack spacing={1}>
|
||||
{/* 今天按钮 - 仅在查看历史时显示 */}
|
||||
{!isToday && (
|
||||
<Box
|
||||
px={2}
|
||||
py={0.5}
|
||||
bg="rgba(255,215,0,0.15)"
|
||||
border="1px solid rgba(255,215,0,0.3)"
|
||||
borderRadius="md"
|
||||
cursor="pointer"
|
||||
_hover={{ bg: 'rgba(255,215,0,0.25)' }}
|
||||
onClick={() => setSelectedDate('')}
|
||||
>
|
||||
<Text fontSize="xs" color="#FFD700" fontWeight="bold">今天</Text>
|
||||
</Box>
|
||||
)}
|
||||
<CalendarOutlined style={{ color: '#FFD700', fontSize: '12px' }} />
|
||||
<Input
|
||||
type="date"
|
||||
|
||||
@@ -2536,6 +2536,81 @@ const CombinedCalendar = () => {
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* 右侧 Tab 面板 - 连板情绪监测 / 综合日历
|
||||
*/
|
||||
const RightPanelTabs = () => {
|
||||
const [activeTab, setActiveTab] = useState('comet');
|
||||
|
||||
return (
|
||||
<Box
|
||||
bg="linear-gradient(180deg, rgba(25, 32, 55, 0.95) 0%, rgba(17, 24, 39, 0.98) 100%)"
|
||||
borderRadius="xl"
|
||||
border="1px solid"
|
||||
borderColor="rgba(255, 215, 0, 0.15)"
|
||||
h="100%"
|
||||
display="flex"
|
||||
flexDirection="column"
|
||||
overflow="hidden"
|
||||
>
|
||||
{/* Tab 切换头 */}
|
||||
<HStack
|
||||
px={4}
|
||||
py={2}
|
||||
borderBottom="1px solid rgba(255,215,0,0.1)"
|
||||
bg="rgba(0,0,0,0.2)"
|
||||
spacing={0}
|
||||
>
|
||||
<Box
|
||||
px={4}
|
||||
py={2}
|
||||
cursor="pointer"
|
||||
borderRadius="md"
|
||||
bg={activeTab === 'comet' ? 'rgba(255,215,0,0.15)' : 'transparent'}
|
||||
color={activeTab === 'comet' ? '#FFD700' : 'gray.400'}
|
||||
fontWeight={activeTab === 'comet' ? 'bold' : 'normal'}
|
||||
fontSize="sm"
|
||||
transition="all 0.2s"
|
||||
_hover={{ color: '#FFD700', bg: 'rgba(255,215,0,0.08)' }}
|
||||
onClick={() => setActiveTab('comet')}
|
||||
>
|
||||
<HStack spacing={2}>
|
||||
<FireOutlined />
|
||||
<Text>连板情绪监测</Text>
|
||||
</HStack>
|
||||
</Box>
|
||||
<Box
|
||||
px={4}
|
||||
py={2}
|
||||
cursor="pointer"
|
||||
borderRadius="md"
|
||||
bg={activeTab === 'calendar' ? 'rgba(255,215,0,0.15)' : 'transparent'}
|
||||
color={activeTab === 'calendar' ? '#FFD700' : 'gray.400'}
|
||||
fontWeight={activeTab === 'calendar' ? 'bold' : 'normal'}
|
||||
fontSize="sm"
|
||||
transition="all 0.2s"
|
||||
_hover={{ color: '#FFD700', bg: 'rgba(255,215,0,0.08)' }}
|
||||
onClick={() => setActiveTab('calendar')}
|
||||
>
|
||||
<HStack spacing={2}>
|
||||
<CalendarOutlined />
|
||||
<Text>事件日历</Text>
|
||||
</HStack>
|
||||
</Box>
|
||||
</HStack>
|
||||
|
||||
{/* Tab 内容区域 */}
|
||||
<Box flex="1" minH={0} p={3}>
|
||||
{activeTab === 'comet' ? (
|
||||
<ThemeCometChart />
|
||||
) : (
|
||||
<CombinedCalendar />
|
||||
)}
|
||||
</Box>
|
||||
</Box>
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* 使用说明弹窗组件
|
||||
*/
|
||||
@@ -2710,36 +2785,16 @@ const HeroPanel = () => {
|
||||
</HStack>
|
||||
</Flex>
|
||||
|
||||
{/* AI舆情时空决策驾驶舱 - 左侧连板情绪,中间今日统计,右侧日历 */}
|
||||
{/* AI舆情时空决策驾驶舱 - 左侧今日统计(2/5),右侧Tab切换(3/5) */}
|
||||
<Flex gap={5}>
|
||||
{/* 左侧:连板情绪监测 */}
|
||||
<Box flex="1.15" minW="0">
|
||||
<ThemeCometChart
|
||||
onThemeSelect={(data) => {
|
||||
// 当用户点击某个主题时,可以展示相关股票
|
||||
if (data?.stocks?.length > 0) {
|
||||
setSelectedSectorInfo({
|
||||
name: data.theme.label,
|
||||
count: data.stocks.length,
|
||||
stocks: data.stocks.map((s) => ({
|
||||
...s,
|
||||
_continuousDays: parseInt(s.continuous_days) || 1,
|
||||
})),
|
||||
});
|
||||
setSectorStocksModalVisible(true);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
</Box>
|
||||
|
||||
{/* 中间:今日事件统计 */}
|
||||
<Box flex="0.7" minW="0">
|
||||
{/* 左侧:今日事件统计 */}
|
||||
<Box flex="2" minW="0">
|
||||
<EventDailyStats />
|
||||
</Box>
|
||||
|
||||
{/* 右侧:综合日历 */}
|
||||
<Box flex="1.15" minW="0">
|
||||
<CombinedCalendar />
|
||||
{/* 右侧:连板情绪 / 日历 Tab 切换 */}
|
||||
<Box flex="3" minW="0">
|
||||
<RightPanelTabs />
|
||||
</Box>
|
||||
</Flex>
|
||||
</CardBody>
|
||||
|
||||
Reference in New Issue
Block a user