diff --git a/frontend/src/pages/AbnormalMoves.tsx b/frontend/src/pages/AbnormalMoves.tsx index 384ef28..a5fd15c 100644 --- a/frontend/src/pages/AbnormalMoves.tsx +++ b/frontend/src/pages/AbnormalMoves.tsx @@ -54,6 +54,8 @@ export function AbnormalMoves() { const [minCloseness, setMinCloseness] = useState(0.5) const [query, setQuery] = useState('') const [watchlistOnly, setWatchlistOnly] = useState(false) + // 默认过滤 ST/*ST 风险警示股票 (口径与后端 is_st_name 一致: 名称含 ST) + const [excludeSt, setExcludeSt] = useState(true) const [preview, setPreview] = useState<{ symbol: string; name: string } | null>(null) const overview = useQuery({ @@ -110,12 +112,13 @@ export function AbnormalMoves() { } if (boardFilter !== 'all') list = list.filter(r => r.board === boardFilter) if (watchlistOnly) list = list.filter(r => watchSymbols.has(r.symbol)) + if (excludeSt) list = list.filter(r => !(r.name ?? '').toUpperCase().includes('ST')) const q = query.trim().toLowerCase() if (q) { list = list.filter(r => `${r.symbol} ${r.name ?? ''}`.toLowerCase().includes(q)) } return list - }, [view, windowFilter, direction, boardFilter, watchlistOnly, watchSymbols, query, minCloseness]) + }, [view, windowFilter, direction, boardFilter, watchlistOnly, excludeSt, watchSymbols, query, minCloseness]) const counts = view?.counts const updating = overview.isFetching @@ -298,6 +301,15 @@ export function AbnormalMoves() { /> 只看自选 +