import { formatAccount, formatAmt, formatDate, formatUpperAmt } from './format' import { maskPhone } from './mask' import { isEmpty } from './validate' /** * 获取金额格式化的ElTableColumn formatter * @param decimal * @returns */ export function getMoneyFormatter (decimal = 2) { return (column: unknown, row: unknown, currentVaule?: number|string) => formatAmt(currentVaule, decimal) } /** * 获取大写金额格式化的ElTableColumn formatter * @returns */ export function getUpperMoneyFormatter () { return (column: unknown, row: unknown, currentVaule?: number|string) => formatUpperAmt(currentVaule) } /** * 获取时间格式化的ElTableColumn formatter * @param pattern 时间格式化规则 * @returns */ export function getDateFormatter (pattern?: string) { return (column: unknown, row: unknown, currentVaule?: number|string) => formatDate(currentVaule, pattern) } /** * 获取账号格式化的ElTableColumn formatter * @returns */ export function getAccountFormatter () { return (column: unknown, row: unknown, currentVaule?: number|string) => formatAccount(currentVaule) } /** * 获取手机号脱敏的ElTableColumn formatter * @returns */ export function getMaskPhoneFormatter () { return (column: unknown, row: unknown, currentVaule?: string) => maskPhone(currentVaule) } /** * 获取[key]: value需要转义的ElTableColumn formatter * @param map * @param defaultStr * @returns */ export function getMapValueFormatter (map: T, defaultStr = '') { return (column: unknown, row: unknown, currentVaule?: keyof T) => isEmpty(currentVaule) ? defaultStr : map[currentVaule] ?? defaultStr }