fix: 优化首页筛选逻辑

master^2
Lxy 1 week ago
parent b15f45f1b8
commit 51caeb0bf6

@ -463,7 +463,23 @@ body {
.stats-overview { .stats-overview {
display: grid; display: grid;
grid-template-columns: repeat(4, 1fr); grid-template-columns: repeat(4, 1fr);
gap: 12px; gap: 14px;
}
.stat-card {
transition: all 0.2s ease;
}
.stat-card:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}
.stat-card:active {
transform: translateY(0);
}
.stats-overview {
margin-bottom: 20px; margin-bottom: 20px;
} }

@ -139,28 +139,28 @@
<!-- 统计概览 --> <!-- 统计概览 -->
<div class="stats-overview"> <div class="stats-overview">
<div class="stat-card"> <div class="stat-card" onclick="filterByTrend('all')" style="cursor: pointer;" title="显示全部">
<div class="stat-icon"><i class="fas fa-layer-group"></i></div> <div class="stat-icon"><i class="fas fa-layer-group"></i></div>
<div class="stat-info"> <div class="stat-info">
<span class="stat-value" id="total-count">0</span> <span class="stat-value" id="total-count">0</span>
<span class="stat-label">监控品种</span> <span class="stat-label">监控品种</span>
</div> </div>
</div> </div>
<div class="stat-card up"> <div class="stat-card up" onclick="filterByTrend('up')" style="cursor: pointer;" title="筛选上涨趋势">
<div class="stat-icon"><i class="fas fa-arrow-trend-up"></i></div> <div class="stat-icon"><i class="fas fa-arrow-trend-up"></i></div>
<div class="stat-info"> <div class="stat-info">
<span class="stat-value" id="up-count">0</span> <span class="stat-value" id="up-count">0</span>
<span class="stat-label">上涨趋势</span> <span class="stat-label">上涨趋势</span>
</div> </div>
</div> </div>
<div class="stat-card down"> <div class="stat-card down" onclick="filterByTrend('down')" style="cursor: pointer;" title="筛选下跌趋势">
<div class="stat-icon"><i class="fas fa-arrow-trend-down"></i></div> <div class="stat-icon"><i class="fas fa-arrow-trend-down"></i></div>
<div class="stat-info"> <div class="stat-info">
<span class="stat-value" id="down-count">0</span> <span class="stat-value" id="down-count">0</span>
<span class="stat-label">下跌趋势</span> <span class="stat-label">下跌趋势</span>
</div> </div>
</div> </div>
<div class="stat-card neutral"> <div class="stat-card neutral" onclick="filterByTrend('neutral')" style="cursor: pointer;" title="筛选震荡整理">
<div class="stat-icon"><i class="fas fa-arrows-left-right"></i></div> <div class="stat-icon"><i class="fas fa-arrows-left-right"></i></div>
<div class="stat-info"> <div class="stat-info">
<span class="stat-value" id="neutral-count">0</span> <span class="stat-value" id="neutral-count">0</span>

@ -462,9 +462,19 @@ function calcPriceChangePercent(current, target) {
function updateStats(data) { function updateStats(data) {
const total = data.length; const total = data.length;
const upCount = data.filter(d => d.change > 0).length;
const downCount = data.filter(d => d.change < 0).length; // 根据AI分析结果统计趋势字符串包含判断
const neutralCount = total - upCount - downCount; const upCount = data.filter(d =>
d.suggestion?.includes('做多') || d.suggestion?.includes('试多')
).length;
const downCount = data.filter(d =>
d.suggestion?.includes('做空') || d.suggestion?.includes('试空')
).length;
const neutralCount = data.filter(d =>
d.suggestion?.includes('观望')
).length;
document.getElementById('total-count').textContent = total; document.getElementById('total-count').textContent = total;
document.getElementById('up-count').textContent = upCount; document.getElementById('up-count').textContent = upCount;
@ -474,6 +484,27 @@ function updateStats(data) {
document.getElementById('count-watched').textContent = watchedSymbols.length; document.getElementById('count-watched').textContent = watchedSymbols.length;
} }
function filterByTrend(trend) {
console.log('按趋势筛选:', trend);
let filtered = allFuturesData;
if (trend === 'up') {
filtered = allFuturesData.filter(d =>
d.suggestion?.includes('做多') || d.suggestion?.includes('试多')
);
} else if (trend === 'down') {
filtered = allFuturesData.filter(d =>
d.suggestion?.includes('做空') || d.suggestion?.includes('试空')
);
} else if (trend === 'neutral') {
filtered = allFuturesData.filter(d =>
d.suggestion?.includes('观望')
);
}
renderFuturesGrid(filtered);
}
function filterFuturesList(keyword) { function filterFuturesList(keyword) {
keyword = keyword.toLowerCase(); keyword = keyword.toLowerCase();
const activeTab = document.querySelector('.filter-tab.active'); const activeTab = document.querySelector('.filter-tab.active');

Loading…
Cancel
Save