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') {
|