From 7291777488855341b1770050896b0679d5d4480b Mon Sep 17 00:00:00 2001 From: zdl <3489966805@qq.com> Date: Mon, 3 Nov 2025 12:54:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E8=82=A1=E7=A5=A8?= =?UTF-8?q?=E5=8D=A1=E7=89=87=E4=BA=A4=E4=BA=92=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit StockListItem 组件优化: - 整个卡片可点击,点击后跳转到股票详情页(新标签页) - 添加 cursor="pointer" 鼠标悬停提示 - 分时图/K线图区域点击时阻止事件冒泡,仅打开弹窗 - "查看"按钮、自选股按钮、展开/收起按钮点击时阻止冒泡 StockChartModal 组件修复: - 修复 relation_desc 对象渲染错误 - 添加 getRelationDesc() 函数兼容对象和字符串格式 - 正确提取 {data: [...]} 结构中的文本内容 交互改进: - 用户可点击卡片任意空白区域快速跳转 - 图表、按钮保持独立交互功能 - 提升用户操作便利性和体验流畅度 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/components/StockChart/StockChartModal.js | 23 +++++++++++++++++-- .../DynamicNewsDetail/StockListItem.js | 16 +++++++++---- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/components/StockChart/StockChartModal.js b/src/components/StockChart/StockChartModal.js index afcd7f9e..f71f80d0 100644 --- a/src/components/StockChart/StockChartModal.js +++ b/src/components/StockChart/StockChartModal.js @@ -23,6 +23,25 @@ const StockChartModal = ({ const [chartData, setChartData] = useState(null); const [preloadedData, setPreloadedData] = useState({}); + // 处理关联描述(兼容对象和字符串格式) + const getRelationDesc = () => { + const relationDesc = stock?.relation_desc; + + if (!relationDesc) return null; + + if (typeof relationDesc === 'string') { + return relationDesc; + } else if (typeof relationDesc === 'object' && relationDesc.data && Array.isArray(relationDesc.data)) { + // 新格式:{data: [{query_part: "...", sentences: "..."}]} + return relationDesc.data + .map(item => item.query_part || item.sentences || '') + .filter(s => s) + .join(';') || null; + } + + return null; + }; + // 预加载数据 const preloadData = async (type) => { if (!stock || preloadedData[type]) return; @@ -539,10 +558,10 @@ const StockChartModal = ({
- {stock?.relation_desc && ( + {getRelationDesc() && ( 关联描述: - {stock.relation_desc} + {getRelationDesc()} )} diff --git a/src/views/Community/components/DynamicNewsDetail/StockListItem.js b/src/views/Community/components/DynamicNewsDetail/StockListItem.js index 0eeb2d6d..df1b6262 100644 --- a/src/views/Community/components/DynamicNewsDetail/StockListItem.js +++ b/src/views/Community/components/DynamicNewsDetail/StockListItem.js @@ -106,6 +106,8 @@ const StockListItem = ({ borderColor={borderColor} borderRadius="md" p={4} + onClick={handleViewDetail} + cursor="pointer" _hover={{ boxShadow: 'md', borderColor: 'blue.300', @@ -155,7 +157,10 @@ const StockListItem = ({ @@ -169,7 +174,7 @@ const StockListItem = ({ {/* 左侧:分时图 */} - + e.stopPropagation()}> 分时图 @@ -181,7 +186,7 @@ const StockListItem = ({ {/* 右侧:K线图 */} - + e.stopPropagation()}> 日K线 @@ -213,7 +218,10 @@ const StockListItem = ({ size="xs" variant="link" colorScheme="blue" - onClick={() => setIsDescExpanded(!isDescExpanded)} + onClick={(e) => { + e.stopPropagation(); + setIsDescExpanded(!isDescExpanded); + }} mt={1} > {isDescExpanded ? '收起' : '展开'}