fix: 优化首页筛选逻辑

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

@ -463,7 +463,23 @@ body {
.stats-overview {
display: grid;
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;
}

@ -139,28 +139,28 @@
<!-- 统计概览 -->
<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-info">
<span class="stat-value" id="total-count">0</span>
<span class="stat-label">监控品种</span>
</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-info">
<span class="stat-value" id="up-count">0</span>
<span class="stat-label">上涨趋势</span>
</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-info">
<span class="stat-value" id="down-count">0</span>
<span class="stat-label">下跌趋势</span>
</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-info">
<span class="stat-value" id="neutral-count">0</span>

@ -462,9 +462,19 @@ function calcPriceChangePercent(current, target) {
function updateStats(data) {
const total = data.length;
const upCount = data.filter(d => d.change > 0).length;
const downCount = data.filter(d => d.change < 0).length;
const neutralCount = total - upCount - downCount;
// 根据AI分析结果统计趋势字符串包含判断
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('up-count').textContent = upCount;
@ -474,6 +484,27 @@ function updateStats(data) {
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) {
keyword = keyword.toLowerCase();
const activeTab = document.querySelector('.filter-tab.active');

Loading…
Cancel
Save