提交
This commit is contained in:
1 parent
83192719b0
commit
8e87c7d576
33 files changed
+39570
-38896
No files matched your search
@@ -90,23 +90,34 @@ export function moneyTableFormatter(_row: unknown, _column: unknown, cellValue:
|
||||
export interface ReimburseExpenseDetailLike {
|
||||
expenseName?: string | null
|
||||
amount?: number | string | null
|
||||
occurDate?: string | null
|
||||
}
|
||||
|
||||
/** 列表费用项目列:按明细顺序返回「项目名 (金额元)」各行文案 */
|
||||
/** 列表费用项目列:按明细顺序返回「项目名 (金额元) 发生时间」各行文案 */
|
||||
export function getReimburseExpenseItemLines(
|
||||
details?: ReimburseExpenseDetailLike[] | null,
|
||||
fallback?: ReimburseExpenseDetailLike | null
|
||||
): string[] {
|
||||
const formatLine = (name: string, amount?: number | string | null) =>
|
||||
`${name} (${formatMoneyNumber(amount)}元)`
|
||||
const formatLine = (
|
||||
name: string,
|
||||
amount?: number | string | null,
|
||||
occurDate?: string | null
|
||||
) => {
|
||||
const datePart = String(occurDate ?? '').trim()
|
||||
return datePart
|
||||
? `${name} (${formatMoneyNumber(amount)}元) ${datePart}`
|
||||
: `${name} (${formatMoneyNumber(amount)}元)`
|
||||
}
|
||||
|
||||
const lines = (details ?? []).filter((d) => String(d?.expenseName ?? '').trim())
|
||||
if (lines.length) {
|
||||
return lines.map((d) => formatLine(String(d.expenseName).trim(), d.amount))
|
||||
return lines.map((d) =>
|
||||
formatLine(String(d.expenseName).trim(), d.amount, d.occurDate)
|
||||
)
|
||||
}
|
||||
const name = String(fallback?.expenseName ?? '').trim()
|
||||
if (name) {
|
||||
return [formatLine(name, fallback?.amount)]
|
||||
return [formatLine(name, fallback?.amount, fallback?.occurDate)]
|
||||
}
|
||||
return ['-']
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user