diff --git a/frontend/mining-admin-web/src/app/(dashboard)/reports/page.tsx b/frontend/mining-admin-web/src/app/(dashboard)/reports/page.tsx index a9347cb9..e63d0372 100644 --- a/frontend/mining-admin-web/src/app/(dashboard)/reports/page.tsx +++ b/frontend/mining-admin-web/src/app/(dashboard)/reports/page.tsx @@ -123,8 +123,8 @@ export default function ReportsPage() { +{formatCompactNumber(report.newContribution)} - {formatDecimal(report.dailyDistributed, 2)} - {formatDecimal(report.dailyBurned, 2)} + {formatDecimal(report.dailyDistributed, 8)} + {formatDecimal(report.dailyBurned, 8)} {formatDecimal(report.closePrice, 8)} {formatCompactNumber(report.dailyVolume)} diff --git a/frontend/mining-admin-web/src/app/(dashboard)/users/[accountSequence]/page.tsx b/frontend/mining-admin-web/src/app/(dashboard)/users/[accountSequence]/page.tsx index a6377890..5a56987d 100644 --- a/frontend/mining-admin-web/src/app/(dashboard)/users/[accountSequence]/page.tsx +++ b/frontend/mining-admin-web/src/app/(dashboard)/users/[accountSequence]/page.tsx @@ -193,14 +193,14 @@ export default function UserDetailPage() { {/* 个人算力 */}
个人算力 (70%) - {formatDecimal(user?.contributions?.personal, 4)} + {formatDecimal(user?.contributions?.personal, 8)}
{/* 层级算力 */}
层级算力 (7.5%) - {formatDecimal(user?.contributions?.teamLevel, 4)} + {formatDecimal(user?.contributions?.teamLevel, 8)}
@@ -243,7 +243,7 @@ export default function UserDetailPage() {
团队奖励 (7.5%) - {formatDecimal(user?.contributions?.teamBonus, 4)} + {formatDecimal(user?.contributions?.teamBonus, 8)}
@@ -285,7 +285,7 @@ export default function UserDetailPage() { {/* 有效算力 */}
有效算力 (贡献值) - {formatDecimal(user?.effectiveContribution, 4)} + {formatDecimal(user?.effectiveContribution, 8)}
{/* 解锁状态汇总 */} @@ -317,7 +317,7 @@ export default function UserDetailPage() { 挖矿余额

- {formatDecimal(user?.miningBalance, 4)} + {formatDecimal(user?.miningBalance, 8)}

@@ -331,7 +331,7 @@ export default function UserDetailPage() { 交易余额

- {formatDecimal(user?.tradingBalance, 4)} + {formatDecimal(user?.tradingBalance, 8)}

@@ -343,7 +343,7 @@ export default function UserDetailPage() {

冻结余额

- {formatDecimal(user?.frozenBalance, 4)} + {formatDecimal(user?.frozenBalance, 8)}

diff --git a/frontend/mining-admin-web/src/app/(dashboard)/users/page.tsx b/frontend/mining-admin-web/src/app/(dashboard)/users/page.tsx index 02ad7045..f394d38f 100644 --- a/frontend/mining-admin-web/src/app/(dashboard)/users/page.tsx +++ b/frontend/mining-admin-web/src/app/(dashboard)/users/page.tsx @@ -182,11 +182,11 @@ export default function UsersPage() { {/* 有效算力 */} - {formatDecimal(user.effectiveContribution, 4)} + {formatDecimal(user.effectiveContribution, 8)} {/* 挖矿余额 */} - {formatDecimal(user.miningBalance, 4)} + {formatDecimal(user.miningBalance, 8)} {/* 推荐人 */} diff --git a/frontend/mining-admin-web/src/features/dashboard/components/realtime-panel.tsx b/frontend/mining-admin-web/src/features/dashboard/components/realtime-panel.tsx index 6f6f36bd..1413295a 100644 --- a/frontend/mining-admin-web/src/features/dashboard/components/realtime-panel.tsx +++ b/frontend/mining-admin-web/src/features/dashboard/components/realtime-panel.tsx @@ -35,14 +35,14 @@ export function RealtimePanel() { const items = [ { label: '本分钟分配', - value: formatDecimal(data?.currentMinuteDistribution, 4), + value: formatDecimal(data?.currentMinuteDistribution, 8), unit: '股', icon: Activity, iconColor: 'text-green-500', }, { label: '本分钟销毁', - value: formatDecimal(data?.currentMinuteBurn, 4), + value: formatDecimal(data?.currentMinuteBurn, 8), unit: '股', icon: Flame, iconColor: 'text-orange-500', diff --git a/frontend/mining-admin-web/src/features/system-accounts/components/account-card.tsx b/frontend/mining-admin-web/src/features/system-accounts/components/account-card.tsx index c42ba2b0..14c4201e 100644 --- a/frontend/mining-admin-web/src/features/system-accounts/components/account-card.tsx +++ b/frontend/mining-admin-web/src/features/system-accounts/components/account-card.tsx @@ -44,7 +44,7 @@ export function AccountCard({ account }: AccountCardProps) { )}

- {formatDecimal(balance, 4)} + {formatDecimal(balance, 8)}

{account.description || displayInfo.description} diff --git a/frontend/mining-admin-web/src/features/system-accounts/components/accounts-table.tsx b/frontend/mining-admin-web/src/features/system-accounts/components/accounts-table.tsx index 48ee9832..2702f610 100644 --- a/frontend/mining-admin-web/src/features/system-accounts/components/accounts-table.tsx +++ b/frontend/mining-admin-web/src/features/system-accounts/components/accounts-table.tsx @@ -94,7 +94,7 @@ export function AccountsTable({ {account.name || displayInfo.label} - {formatDecimal(balance, 4)} + {formatDecimal(balance, 8)} {account.contributionNeverExpires && ( 永久 diff --git a/frontend/mining-admin-web/src/features/system-accounts/components/summary-cards.tsx b/frontend/mining-admin-web/src/features/system-accounts/components/summary-cards.tsx index ef9c0a34..d50304c3 100644 --- a/frontend/mining-admin-web/src/features/system-accounts/components/summary-cards.tsx +++ b/frontend/mining-admin-web/src/features/system-accounts/components/summary-cards.tsx @@ -41,7 +41,7 @@ export function SummaryCards({ summary, isLoading = false }: SummaryCardsProps)

本地账户

{summary.systemAccounts.count}

- 总算力: {formatDecimal(summary.systemAccounts.totalContribution, 4)} + 总算力: {formatDecimal(summary.systemAccounts.totalContribution, 8)}

@@ -59,7 +59,7 @@ export function SummaryCards({ summary, isLoading = false }: SummaryCardsProps)

同步算力

{summary.syncedContributions.count}

- 总余额: {formatDecimal(summary.syncedContributions.totalBalance, 4)} + 总余额: {formatDecimal(summary.syncedContributions.totalBalance, 8)}

@@ -88,7 +88,7 @@ export function SummaryCards({ summary, isLoading = false }: SummaryCardsProps) 第 {summary.miningConfig.currentEra} 纪

- 剩余分发: {formatDecimal(summary.miningConfig.remainingDistribution, 2)} + 剩余分发: {formatDecimal(summary.miningConfig.remainingDistribution, 8)}

) : ( @@ -111,10 +111,10 @@ export function SummaryCards({ summary, isLoading = false }: SummaryCardsProps) {summary.circulationPool ? ( <>

- {formatDecimal(summary.circulationPool.totalShares, 2)} + {formatDecimal(summary.circulationPool.totalShares, 8)}

- 总金额: {formatDecimal(summary.circulationPool.totalCash, 2)} USDT + 总金额: {formatDecimal(summary.circulationPool.totalCash, 8)} USDT

) : ( diff --git a/frontend/mining-admin-web/src/features/users/components/contribution-records-list.tsx b/frontend/mining-admin-web/src/features/users/components/contribution-records-list.tsx index 80738375..84d32cb6 100644 --- a/frontend/mining-admin-web/src/features/users/components/contribution-records-list.tsx +++ b/frontend/mining-admin-web/src/features/users/components/contribution-records-list.tsx @@ -88,9 +88,9 @@ export function ContributionRecordsList({ accountSequence }: ContributionRecords )} {record.treeCount} - {formatDecimal(record.baseContribution, 2)} + {formatDecimal(record.baseContribution, 8)} {formatPercent(record.distributionRate)} - {formatDecimal(record.amount, 4)} + {formatDecimal(record.amount, 8)} {record.levelDepth !== null ? `L${record.levelDepth}` diff --git a/frontend/mining-admin-web/src/features/users/components/mining-records-list.tsx b/frontend/mining-admin-web/src/features/users/components/mining-records-list.tsx index 4dc622ef..f76a886e 100644 --- a/frontend/mining-admin-web/src/features/users/components/mining-records-list.tsx +++ b/frontend/mining-admin-web/src/features/users/components/mining-records-list.tsx @@ -56,7 +56,7 @@ export function MiningRecordsList({ accountSequence }: MiningRecordsListProps) { {record.distributionMinute} {formatPercent(record.contributionRatio)} - +{formatDecimal(record.shareAmount, 4)} + +{formatDecimal(record.shareAmount, 8)} {formatDecimal(record.priceSnapshot, 8)} {formatDateTime(record.createdAt)} diff --git a/frontend/mining-admin-web/src/features/users/components/planting-ledger.tsx b/frontend/mining-admin-web/src/features/users/components/planting-ledger.tsx index 899f5834..a517cf4e 100644 --- a/frontend/mining-admin-web/src/features/users/components/planting-ledger.tsx +++ b/frontend/mining-admin-web/src/features/users/components/planting-ledger.tsx @@ -107,7 +107,7 @@ export function PlantingLedger({ accountSequence }: PlantingLedgerProps) {

总金额

-

{formatDecimal(data.summary.totalAmount, 2)}

+

{formatDecimal(data.summary.totalAmount, 8)}

有效认种量

@@ -159,28 +159,28 @@ export function PlantingLedger({ accountSequence }: PlantingLedgerProps) { {item.originalAdoptionId || item.orderNo} {formatNumber(item.treeCount)} - {formatDecimal(item.contributionPerTree || '0', 4)} - {formatDecimal(item.totalContribution || item.totalAmount || '0', 4)} + {formatDecimal(item.contributionPerTree || '0', 8)} + {formatDecimal(item.totalContribution || item.totalAmount || '0', 8)} {item.distribution ? (
- ①{(item.distribution.personal.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.personal.amount, 2)}){item.distribution.personal.label} + ①{(item.distribution.personal.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.personal.amount, 8)}){item.distribution.personal.label}
- ②{(item.distribution.operation.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.operation.amount, 2)}){item.distribution.operation.label} + ②{(item.distribution.operation.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.operation.amount, 8)}){item.distribution.operation.label}
- ③{(item.distribution.province.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.province.amount, 2)}){item.distribution.province.label} + ③{(item.distribution.province.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.province.amount, 8)}){item.distribution.province.label}
- ④{(item.distribution.city.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.city.amount, 2)}){item.distribution.city.label} + ④{(item.distribution.city.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.city.amount, 8)}){item.distribution.city.label}
- ⑤{(item.distribution.team.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.team.amount, 2)}){item.distribution.team.label} + ⑤{(item.distribution.team.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.team.amount, 8)}){item.distribution.team.label} {item.distribution.team.distributed && ( - [已分配:{formatDecimal(item.distribution.team.distributed, 2)} / 待分配:{formatDecimal(item.distribution.team.unallocated, 2)}] + [已分配:{formatDecimal(item.distribution.team.distributed, 8)} / 待分配:{formatDecimal(item.distribution.team.unallocated, 8)}] )}
diff --git a/frontend/mining-admin-web/src/features/users/components/trade-orders-list.tsx b/frontend/mining-admin-web/src/features/users/components/trade-orders-list.tsx index 1b5d6719..82cee8d2 100644 --- a/frontend/mining-admin-web/src/features/users/components/trade-orders-list.tsx +++ b/frontend/mining-admin-web/src/features/users/components/trade-orders-list.tsx @@ -80,8 +80,8 @@ export function TradeOrdersList({ accountSequence }: TradeOrdersListProps) { {formatDecimal(order.price, 8)} - {formatDecimal(order.quantity, 4)} - {formatDecimal(order.filledQuantity, 4)} + {formatDecimal(order.quantity, 8)} + {formatDecimal(order.filledQuantity, 8)} {formatDateTime(order.createdAt)} ); diff --git a/frontend/mining-admin-web/src/features/users/components/wallet-ledger.tsx b/frontend/mining-admin-web/src/features/users/components/wallet-ledger.tsx index 96ff8c9f..6e691b01 100644 --- a/frontend/mining-admin-web/src/features/users/components/wallet-ledger.tsx +++ b/frontend/mining-admin-web/src/features/users/components/wallet-ledger.tsx @@ -111,37 +111,37 @@ export function WalletLedger({ accountSequence }: WalletLedgerProps) {

绿积分 可用

- {formatDecimal(data.summary.usdtAvailable, 4)} + {formatDecimal(data.summary.usdtAvailable, 8)}

绿积分 冻结

- {formatDecimal(data.summary.usdtFrozen, 4)} + {formatDecimal(data.summary.usdtFrozen, 8)}

待领取收益

- {formatDecimal(data.summary.pendingUsdt, 4)} + {formatDecimal(data.summary.pendingUsdt, 8)}

可结算收益

- {formatDecimal(data.summary.settleableUsdt, 4)} + {formatDecimal(data.summary.settleableUsdt, 8)}

已结算收益

- {formatDecimal(data.summary.settledTotalUsdt, 4)} + {formatDecimal(data.summary.settledTotalUsdt, 8)}

过期收益

- {formatDecimal(data.summary.expiredTotalUsdt, 4)} + {formatDecimal(data.summary.expiredTotalUsdt, 8)}

@@ -201,11 +201,11 @@ export function WalletLedger({ accountSequence }: WalletLedgerProps) { )} {isPositive ? '+' : ''} - {formatDecimal(item.amount, 4)} + {formatDecimal(item.amount, 8)}
- {formatDecimal(item.balanceAfter, 4)} + {formatDecimal(item.balanceAfter, 8)} {item.refOrderId || item.refTxHash || '-'} diff --git a/frontend/mining-admin-web/src/lib/utils/format.ts b/frontend/mining-admin-web/src/lib/utils/format.ts index 9be81417..20c0b8a4 100644 --- a/frontend/mining-admin-web/src/lib/utils/format.ts +++ b/frontend/mining-admin-web/src/lib/utils/format.ts @@ -1,6 +1,6 @@ import Decimal from 'decimal.js'; -export function formatNumber(value: number | string | undefined | null, decimals = 0): string { +export function formatNumber(value: number | string | undefined | null, decimals = 8): string { if (value === undefined || value === null) return '-'; const num = typeof value === 'string' ? parseFloat(value) : value; if (isNaN(num)) return '-'; @@ -21,7 +21,7 @@ export function formatDecimal(value: string | number | undefined | null, precisi } } -export function formatPercent(value: number | string | undefined | null, decimals = 2): string { +export function formatPercent(value: number | string | undefined | null, decimals = 8): string { if (value === undefined || value === null) return '-'; const num = typeof value === 'string' ? parseFloat(value) : value; if (isNaN(num)) return '-'; @@ -33,10 +33,10 @@ export function formatCompactNumber(value: number | string | undefined | null): const num = typeof value === 'string' ? parseFloat(value) : value; if (isNaN(num)) return '-'; - if (num >= 1e12) return `${(num / 1e12).toFixed(2)}万亿`; - if (num >= 1e8) return `${(num / 1e8).toFixed(2)}亿`; - if (num >= 1e4) return `${(num / 1e4).toFixed(2)}万`; - return formatNumber(num); + if (num >= 1e12) return `${(num / 1e12).toFixed(8)}万亿`; + if (num >= 1e8) return `${(num / 1e8).toFixed(8)}亿`; + if (num >= 1e4) return `${(num / 1e4).toFixed(8)}万`; + return formatNumber(num, 8); } export function formatPrice(value: string | number | undefined | null): string { @@ -44,5 +44,5 @@ export function formatPrice(value: string | number | undefined | null): string { } export function formatShareAmount(value: string | number | undefined | null): string { - return formatDecimal(value, 4); + return formatDecimal(value, 8); }