diff --git a/frontend/src/pages/News.jsx b/frontend/src/pages/News.jsx index 6ad936a..a150c3b 100644 --- a/frontend/src/pages/News.jsx +++ b/frontend/src/pages/News.jsx @@ -34,6 +34,7 @@ export default function News() { const [showMatchList, setShowMatchList] = useState(false) const [dealVersion, setDealVersion] = useState('龙钞') const [dealDate, setDealDate] = useState('') + const [dealDetailItems, setDealDetailItems] = useState(null) // 弹窗显示的详情列表 const [matchCollections, setMatchCollections] = useState([]) const [networkMatchCollections, setNetworkMatchCollections] = useState([]) const [showNetworkMatchList, setShowNetworkMatchList] = useState(false) @@ -582,7 +583,7 @@ export default function News() { {d ? (
alert(`${dealVersion} ${cat} ${packagings[i]} 平均价¥${d.avg.toLocaleString()}, 共${d.count}笔`)}> + onClick={() => setDealDetailItems(d.items)}> ¥{d.avg.toLocaleString()} ({d.count})
@@ -600,6 +601,49 @@ export default function News() { ) })()} + {/* 成交行情详情弹窗 */} + {dealDetailItems && ( +
+
+
+
成交详情列表
+ +
+
+ {dealDetailItems.map((item, idx) => { + const content = item.content || '' + const grade = content.includes('评级:') ? content.split('评级:')[1].split('\n')[0].trim() : '' + return ( +
+
+
{item.title}
+
+ {item.deal_date} | {item.category} | {item.packaging} + {grade && ` | ${grade}`} +
+
+
+ ¥{item.deal_price?.toLocaleString()} +
+
+ ) + })} +
+
+
+ )} + {infoList.map(item => { // 成交行情 tab - 按维度汇总展示 if (activeTab === 'deal') {