更新Company页面的UI为FUI风格
This commit is contained in:
@@ -459,6 +459,25 @@ const MainlineTimelineViewComponent = forwardRef(
|
|||||||
[mainlineData]
|
[mainlineData]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 根据排序方式排序主线列表(必须在条件渲染之前,遵循 Hooks 规则)
|
||||||
|
const sortedMainlines = useMemo(() => {
|
||||||
|
const rawMainlines = mainlineData?.mainlines;
|
||||||
|
if (!rawMainlines) return [];
|
||||||
|
const sorted = [...rawMainlines];
|
||||||
|
switch (sortBy) {
|
||||||
|
case "change_desc":
|
||||||
|
// 按涨跌幅从高到低(涨幅大的在前)
|
||||||
|
return sorted.sort((a, b) => (b.avg_change_pct ?? -999) - (a.avg_change_pct ?? -999));
|
||||||
|
case "change_asc":
|
||||||
|
// 按涨跌幅从低到高(跌幅大的在前)
|
||||||
|
return sorted.sort((a, b) => (a.avg_change_pct ?? 999) - (b.avg_change_pct ?? 999));
|
||||||
|
case "event_count":
|
||||||
|
default:
|
||||||
|
// 按事件数量从多到少
|
||||||
|
return sorted.sort((a, b) => b.event_count - a.event_count);
|
||||||
|
}
|
||||||
|
}, [mainlineData?.mainlines, sortBy]);
|
||||||
|
|
||||||
// 渲染加载状态
|
// 渲染加载状态
|
||||||
if (loading) {
|
if (loading) {
|
||||||
return (
|
return (
|
||||||
@@ -510,29 +529,13 @@ const MainlineTimelineViewComponent = forwardRef(
|
|||||||
}
|
}
|
||||||
|
|
||||||
const {
|
const {
|
||||||
mainlines: rawMainlines,
|
|
||||||
total_events,
|
total_events,
|
||||||
mainline_count,
|
mainline_count,
|
||||||
ungrouped_count,
|
ungrouped_count,
|
||||||
} = mainlineData;
|
} = mainlineData;
|
||||||
|
|
||||||
// 根据排序方式排序主线列表
|
// 使用排序后的主线列表
|
||||||
const mainlines = useMemo(() => {
|
const mainlines = sortedMainlines;
|
||||||
if (!rawMainlines) return [];
|
|
||||||
const sorted = [...rawMainlines];
|
|
||||||
switch (sortBy) {
|
|
||||||
case "change_desc":
|
|
||||||
// 按涨跌幅从高到低(涨幅大的在前)
|
|
||||||
return sorted.sort((a, b) => (b.avg_change_pct ?? -999) - (a.avg_change_pct ?? -999));
|
|
||||||
case "change_asc":
|
|
||||||
// 按涨跌幅从低到高(跌幅大的在前)
|
|
||||||
return sorted.sort((a, b) => (a.avg_change_pct ?? 999) - (b.avg_change_pct ?? 999));
|
|
||||||
case "event_count":
|
|
||||||
default:
|
|
||||||
// 按事件数量从多到少
|
|
||||||
return sorted.sort((a, b) => b.event_count - a.event_count);
|
|
||||||
}
|
|
||||||
}, [rawMainlines, sortBy]);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box
|
<Box
|
||||||
|
|||||||
Reference in New Issue
Block a user