@@ -348,14 +348,6 @@ export function ConceptAnalysis() {
|
|||||||
>
|
>
|
||||||
<Repeat className="h-3.5 w-3.5" />涨幅RPS轮动分析
|
<Repeat className="h-3.5 w-3.5" />涨幅RPS轮动分析
|
||||||
</button>
|
</button>
|
||||||
<button
|
|
||||||
onClick={() => { rowsQuery.refetch(); marketQuery.refetch() }}
|
|
||||||
disabled={rowsQuery.isFetching || marketQuery.isFetching}
|
|
||||||
className="p-1.5 text-muted hover:bg-surface disabled:opacity-50"
|
|
||||||
title="刷新"
|
|
||||||
>
|
|
||||||
<RefreshCw className={cn('h-4 w-4', (rowsQuery.isFetching || marketQuery.isFetching) && 'animate-spin')} />
|
|
||||||
</button>
|
|
||||||
<button onClick={() => setShowConfig(true)} className="p-1.5 text-muted hover:bg-surface hover:text-accent" title="配置数据源">
|
<button onClick={() => setShowConfig(true)} className="p-1.5 text-muted hover:bg-surface hover:text-accent" title="配置数据源">
|
||||||
<Settings2 className="h-4 w-4" />
|
<Settings2 className="h-4 w-4" />
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -390,14 +390,6 @@ export function IndustryAnalysis() {
|
|||||||
subtitle={`${industryLevelLabel} · ${marketQuery.data?.as_of ?? rowsQuery.data?.date ?? '最新'} · ${stats.length} 个行业 · ${totalSymbols} 只标的`}
|
subtitle={`${industryLevelLabel} · ${marketQuery.data?.as_of ?? rowsQuery.data?.date ?? '最新'} · ${stats.length} 个行业 · ${totalSymbols} 只标的`}
|
||||||
right={
|
right={
|
||||||
<div className="flex items-center gap-1">
|
<div className="flex items-center gap-1">
|
||||||
<button
|
|
||||||
onClick={() => { rowsQuery.refetch(); marketQuery.refetch() }}
|
|
||||||
disabled={rowsQuery.isFetching || marketQuery.isFetching}
|
|
||||||
className="p-1.5 text-muted hover:bg-surface disabled:opacity-50"
|
|
||||||
title="刷新"
|
|
||||||
>
|
|
||||||
<RefreshCw className={cn('h-4 w-4', (rowsQuery.isFetching || marketQuery.isFetching) && 'animate-spin')} />
|
|
||||||
</button>
|
|
||||||
<button onClick={() => setShowConfig(true)} className="p-1.5 text-muted hover:bg-surface hover:text-accent" title="配置数据源">
|
<button onClick={() => setShowConfig(true)} className="p-1.5 text-muted hover:bg-surface hover:text-accent" title="配置数据源">
|
||||||
<Settings2 className="h-4 w-4" />
|
<Settings2 className="h-4 w-4" />
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -1440,7 +1440,7 @@ export function LimitUpLadder() {
|
|||||||
|
|
||||||
const extColumnsParam = useMemo(() => buildExtColumnsParam(extFields), [extFields])
|
const extColumnsParam = useMemo(() => buildExtColumnsParam(extFields), [extFields])
|
||||||
|
|
||||||
const { data, isLoading, refetch, isFetching } = useQuery({
|
const { data, isLoading } = useQuery({
|
||||||
queryKey: [QK.limitLadder(asOf || undefined), extColumnsParam, direction],
|
queryKey: [QK.limitLadder(asOf || undefined), extColumnsParam, direction],
|
||||||
queryFn: () => api.limitLadder(asOf || undefined, extColumnsParam, direction),
|
queryFn: () => api.limitLadder(asOf || undefined, extColumnsParam, direction),
|
||||||
staleTime: 5 * 60_000,
|
staleTime: 5 * 60_000,
|
||||||
@@ -1606,13 +1606,6 @@ export function LimitUpLadder() {
|
|||||||
>
|
>
|
||||||
<Settings2 className="h-3.5 w-3.5" />
|
<Settings2 className="h-3.5 w-3.5" />
|
||||||
</button>
|
</button>
|
||||||
<button
|
|
||||||
onClick={() => refetch()}
|
|
||||||
disabled={isFetching}
|
|
||||||
className="p-1.5 hover:bg-surface text-muted disabled:opacity-50"
|
|
||||||
>
|
|
||||||
<RefreshCw className={`h-4 w-4 ${isFetching ? 'animate-spin' : ''}`} />
|
|
||||||
</button>
|
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user