diff --git a/src/views/Community/components/HeroPanel.js b/src/views/Community/components/HeroPanel.js index f8873a30..2d1cabe0 100644 --- a/src/views/Community/components/HeroPanel.js +++ b/src/views/Community/components/HeroPanel.js @@ -510,6 +510,8 @@ const DetailModal = ({ isOpen, onClose, selectedDate, ztDetail, events, loading name, count: data.count, stocks: data.stock_codes || [], + // 新增:关联事件数据(涨停归因) + related_events: data.related_events || [], })) .sort((a, b) => b.count - a.count); }, [ztDetail]); @@ -1134,6 +1136,105 @@ const DetailModal = ({ isOpen, onClose, selectedDate, ztDetail, events, loading ); }, }, + { + title: '涨停归因', + dataIndex: 'related_events', + key: 'related_events', + width: 280, + render: (events, record) => { + if (!events || events.length === 0) { + return -; + } + + // 取相关度最高的事件 + const sortedEvents = [...events].sort((a, b) => (b.relevance_score || 0) - (a.relevance_score || 0)); + const topEvent = sortedEvents[0]; + + // 相关度颜色 + const getRelevanceColor = (score) => { + if (score >= 80) return '#10B981'; + if (score >= 60) return '#F59E0B'; + return '#6B7280'; + }; + + return ( + + + {topEvent.title} + {topEvent.relevance_reason && ( + {topEvent.relevance_reason} + )} + {topEvent.matched_concepts?.length > 0 && ( + + 匹配概念: + + {topEvent.matched_concepts.slice(0, 5).map((c, i) => ( + + {c} + + ))} + + + )} + + } + placement="left" + overlayStyle={{ maxWidth: 350 }} + > + + + + + + {topEvent.title} + + + + 相关度 {topEvent.relevance_score || 0} + + {events.length > 1 && ( + + +{events.length - 1}条 + + )} + + + + + + + ); + }, + }, ]; // 涨停股票详情表格列 - 精致风格 + K线图 + 加自选