更新Company页面的UI为FUI风格
This commit is contained in:
@@ -22,9 +22,10 @@ import type { ActualControl } from "../../types";
|
||||
import { THEME } from "../../BasicInfoTab/config";
|
||||
|
||||
// 格式化工具函数
|
||||
// 注意:API 返回的数据单位已经是 %,无需再乘 100
|
||||
const formatPercentage = (value: number | null | undefined): string => {
|
||||
if (value === null || value === undefined) return "-";
|
||||
return `${(value * 100).toFixed(2)}%`;
|
||||
return `${value.toFixed(2)}%`;
|
||||
};
|
||||
|
||||
const formatShares = (value: number | null | undefined): string => {
|
||||
|
||||
@@ -21,9 +21,10 @@ import type { Concentration } from "../../types";
|
||||
import { THEME } from "../../BasicInfoTab/config";
|
||||
|
||||
// 格式化工具函数
|
||||
// 注意:API 返回的数据单位已经是 %,无需再乘 100
|
||||
const formatPercentage = (value: number | null | undefined): string => {
|
||||
if (value === null || value === undefined) return "-";
|
||||
return `${(value * 100).toFixed(2)}%`;
|
||||
return `${value.toFixed(2)}%`;
|
||||
};
|
||||
|
||||
const formatDate = (dateStr: string | null | undefined): string => {
|
||||
@@ -66,6 +67,7 @@ const ConcentrationCard: React.FC<ConcentrationCardProps> = ({ concentration = [
|
||||
}, [concentration]);
|
||||
|
||||
// 计算饼图数据
|
||||
// 注意:API 返回的数据单位已经是 %,无需再乘 100
|
||||
const pieData = useMemo(() => {
|
||||
if (groupedData.length === 0) return [];
|
||||
|
||||
@@ -76,11 +78,11 @@ const ConcentrationCard: React.FC<ConcentrationCardProps> = ({ concentration = [
|
||||
const top10 = items["前10大股东"]?.holding_ratio || 0;
|
||||
|
||||
return [
|
||||
{ name: "前1大股东", value: Number((top1 * 100).toFixed(2)) },
|
||||
{ name: "第2-3大股东", value: Number(((top3 - top1) * 100).toFixed(2)) },
|
||||
{ name: "第4-5大股东", value: Number(((top5 - top3) * 100).toFixed(2)) },
|
||||
{ name: "第6-10大股东", value: Number(((top10 - top5) * 100).toFixed(2)) },
|
||||
{ name: "其他股东", value: Number(((1 - top10) * 100).toFixed(2)) },
|
||||
{ name: "前1大股东", value: Number(top1.toFixed(2)) },
|
||||
{ name: "第2-3大股东", value: Number((top3 - top1).toFixed(2)) },
|
||||
{ name: "第4-5大股东", value: Number((top5 - top3).toFixed(2)) },
|
||||
{ name: "第6-10大股东", value: Number((top10 - top5).toFixed(2)) },
|
||||
{ name: "其他股东", value: Number((100 - top10).toFixed(2)) },
|
||||
].filter(item => item.value > 0);
|
||||
}, [groupedData]);
|
||||
|
||||
|
||||
@@ -28,9 +28,10 @@ const TABLE_THEME = {
|
||||
};
|
||||
|
||||
// 格式化工具函数
|
||||
// 注意:API 返回的数据单位已经是 %,无需再乘 100
|
||||
const formatPercentage = (value: number | null | undefined): string => {
|
||||
if (value === null || value === undefined) return "-";
|
||||
return `${(value * 100).toFixed(2)}%`;
|
||||
return `${value.toFixed(2)}%`;
|
||||
};
|
||||
|
||||
const formatShares = (value: number | null | undefined): string => {
|
||||
|
||||
Reference in New Issue
Block a user