heropanel修改
This commit is contained in:
@@ -465,6 +465,21 @@ const EventDailyStats = () => {
|
|||||||
)}
|
)}
|
||||||
</HStack>
|
</HStack>
|
||||||
<HStack spacing={1}>
|
<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' }} />
|
<CalendarOutlined style={{ color: '#FFD700', fontSize: '12px' }} />
|
||||||
<Input
|
<Input
|
||||||
type="date"
|
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>
|
</HStack>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
{/* AI舆情时空决策驾驶舱 - 左侧连板情绪,中间今日统计,右侧日历 */}
|
{/* AI舆情时空决策驾驶舱 - 左侧今日统计(2/5),右侧Tab切换(3/5) */}
|
||||||
<Flex gap={5}>
|
<Flex gap={5}>
|
||||||
{/* 左侧:连板情绪监测 */}
|
{/* 左侧:今日事件统计 */}
|
||||||
<Box flex="1.15" minW="0">
|
<Box flex="2" 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">
|
|
||||||
<EventDailyStats />
|
<EventDailyStats />
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
{/* 右侧:综合日历 */}
|
{/* 右侧:连板情绪 / 日历 Tab 切换 */}
|
||||||
<Box flex="1.15" minW="0">
|
<Box flex="3" minW="0">
|
||||||
<CombinedCalendar />
|
<RightPanelTabs />
|
||||||
</Box>
|
</Box>
|
||||||
</Flex>
|
</Flex>
|
||||||
</CardBody>
|
</CardBody>
|
||||||
|
|||||||
Reference in New Issue
Block a user