import num from '@/utils/num'
import { VxeUI } from 'vxe-pc-ui'
import XEUtils from 'xe-utils'
import dayjs from '@/plugins/dayjs'

export const pattern_kg = '^\\d+(\\.\\d{1,3})?$'
export const pattern_int = '^[1-9]\\d*$'

// 格式化日期，默认 yyyy-MM-dd HH:mm:ss
VxeUI.formats.add('date-time', {
  cellFormatMethod({ cellValue }, format) {
    return XEUtils.toDateString(cellValue, format || 'yyyy-MM-dd HH:mm:ss')
  },
})

VxeUI.formats.add('money', {
  cellFormatMethod({ cellValue }) {
    return num.formatMoney(cellValue)
  },
})

VxeUI.formats.add('date', {
  cellFormatMethod({ cellValue }, format) {
    return XEUtils.toDateString(cellValue, format || 'yyyy-MM-dd')
  },
})

VxeUI.formats.add('timeGap', {
  cellFormatMethod({ cellValue }) {
    return dayjs(cellValue).fromNow()
  },
})

VxeUI.formats.add('trimZero', {
  cellFormatMethod({ cellValue }) {
    return num.trimZero(cellValue)
  },
})

// 保留2位小数
VxeUI.formats.add('fixed2', {
  cellFormatMethod({ cellValue }) {
    return num.toFixed2(Number(cellValue))
  },
})

// 数字变百分比
VxeUI.formats.add('num2percent', {
  cellFormatMethod({ cellValue }) {
    return num.toPercent(cellValue)
  },
})
