bxLabels.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /** 报销状态 / 金额展示 */
  2. const STATUS = {
  3. draft: { text: '待提交', tag: 'muted' },
  4. pending: { text: '审批中', tag: 'warning' },
  5. approved: { text: '已通过', tag: 'success' },
  6. rejected: { text: '已驳回', tag: 'danger' },
  7. issued: { text: '已发放', tag: 'success' },
  8. paid: { text: '已付款', tag: 'success' },
  9. processed: { text: '已处理', tag: 'success' },
  10. offset: { text: '已冲抵', tag: 'info' }
  11. }
  12. export function bxStatusLabel(status) {
  13. if (status == null || status === '') return { text: '—', tag: 'muted' }
  14. return STATUS[String(status)] || { text: String(status), tag: 'muted' }
  15. }
  16. export function formatMoney(val) {
  17. if (val == null || val === '') return '—'
  18. const n = Number(val)
  19. if (Number.isNaN(n)) return String(val)
  20. return `¥${n.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`
  21. }
  22. export function dash(val) {
  23. if (val == null || val === '') return '—'
  24. return String(val)
  25. }
  26. export function todayStr() {
  27. const d = new Date()
  28. const m = `${d.getMonth() + 1}`.padStart(2, '0')
  29. const day = `${d.getDate()}`.padStart(2, '0')
  30. return `${d.getFullYear()}-${m}-${day}`
  31. }