Browse Source

fix(credit-balance-ui): 修复额度使用情况中NaN%显示问题

- 当totalLimit为0时,使用进度显示0.0%而不是NaN%
- 进度条宽度在totalLimit为0时设置为0%
- 避免除以零导致的Infinity或NaN计算

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 6 days ago
parent
commit
abffa3018d

+ 2 - 2
packages/credit-balance-management-ui-mt/src/components/CreditBalanceDialog.tsx

@@ -480,12 +480,12 @@ export const CreditBalanceDialog: React.FC<CreditBalanceDialogProps> = ({
                       <div className="space-y-2">
                         <div className="flex justify-between text-sm">
                           <span>使用进度</span>
-                          <span>{((balanceData!.usedAmount / balanceData!.totalLimit) * 100).toFixed(1)}%</span>
+                          <span>{balanceData!.totalLimit === 0 ? '0.0%' : ((balanceData!.usedAmount / balanceData!.totalLimit) * 100).toFixed(1)}%</span>
                         </div>
                         <div className="h-2 bg-secondary rounded-full overflow-hidden">
                           <div
                             className="h-full bg-primary"
-                            style={{ width: `${Math.min((balanceData!.usedAmount / balanceData!.totalLimit) * 100, 100)}%` }}
+                            style={{ width: `${balanceData!.totalLimit === 0 ? 0 : Math.min((balanceData!.usedAmount / balanceData!.totalLimit) * 100, 100)}%` }}
                           />
                         </div>
                         <div className="flex justify-between text-xs text-muted-foreground">