diff --git a/src/ui/FLXG7E8F/utils/lawsuitUtils.js b/src/ui/FLXG7E8F/utils/lawsuitUtils.js index 7f1ff3d..05d34e2 100644 --- a/src/ui/FLXG7E8F/utils/lawsuitUtils.js +++ b/src/ui/FLXG7E8F/utils/lawsuitUtils.js @@ -78,29 +78,43 @@ export const formatDate = dateStr => { return dateStr // 如果不是标准格式则返回原始字符串 } -// 格式化金额显示(单位:万元) +// 格式化金额显示(单位:元) export const formatLawsuitMoney = money => { if (!money) return '—' - const value = parseFloat(money) - if (isNaN(value)) return '—' - - // 超过1亿显示亿元 - if (value >= 10000) { - return ( - (value / 10000).toLocaleString('zh-CN', { - minimumFractionDigits: 0, - maximumFractionDigits: 2, - }) + ' 亿元' - ) + // 如果是字符串类型,检查是否已经包含单位 + if (typeof money === 'string') { + // 匹配常见的金额单位:元、万元、亿元、万、亿等 + const unitPattern = /(元|万元|亿元|万|亿|千元|百元|角|分)\s*$/ + const unitMatch = money.match(unitPattern) + + if (unitMatch) { + // 已经包含单位,提取数字部分和单位 + const unit = unitMatch[1] + // 提取数字部分(包括小数点和逗号分隔符) + const numMatch = money.replace(unitPattern, '').trim().replace(/,/g, '') + const value = parseFloat(numMatch) + + if (isNaN(value)) return '—' + + // 格式化数字并保留原有单位 + return ( + value.toLocaleString('zh-CN', { + minimumFractionDigits: 0, + maximumFractionDigits: 2, + }) + (unit.includes('元') ? ` ${unit}` : ` ${unit}元`) + ) + } } - // 否则显示万元 + // 没有单位,按数字处理并添加"元" + const value = parseFloat(money) + if (isNaN(value)) return '—' return ( value.toLocaleString('zh-CN', { minimumFractionDigits: 0, maximumFractionDigits: 2, - }) + ' 万元' + }) + ' 元' ) }