dbLabels.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /** 地磅状态 / 重量展示 */
  2. export function dash(val) {
  3. if (val == null || val === '') return '—'
  4. return String(val)
  5. }
  6. export function formatWeight(val, unit = 'kg') {
  7. if (val == null || val === '') return '—'
  8. const n = Number(val)
  9. if (Number.isNaN(n)) return String(val)
  10. return `${n.toLocaleString('zh-CN', { maximumFractionDigits: 2 })} ${unit}`
  11. }
  12. /** 地磅单阶段:作废 / 已完成 / 一次过磅 / 待过磅 */
  13. export function weighingPhase(row) {
  14. if (!row) return { text: '—', tag: 'muted' }
  15. if (Number(row.isVoided) === 1) return { text: '已作废', tag: 'danger' }
  16. const gross = Number(row.grossWeight) || 0
  17. const tare = Number(row.tareWeight) || 0
  18. if (gross > 0 && tare > 0) return { text: '已完成', tag: 'success' }
  19. if (gross > 0) return { text: '一次过磅', tag: 'warning' }
  20. return { text: '待过磅', tag: 'info' }
  21. }
  22. export function planStatusLabel(status) {
  23. if (!status) return { text: '未开始', tag: 'muted' }
  24. const s = String(status)
  25. if (s.includes('已')) return { text: s, tag: 'success' }
  26. if (s.includes('中')) return { text: s, tag: 'warning' }
  27. if (s.includes('待')) return { text: s, tag: 'info' }
  28. return { text: s, tag: 'muted' }
  29. }
  30. export function inventoryStatusLabel(status) {
  31. if (!status) return { text: '—', tag: 'muted' }
  32. const s = String(status)
  33. if (s === '已完成') return { text: s, tag: 'success' }
  34. if (s.includes('待')) return { text: s, tag: 'warning' }
  35. return { text: s, tag: 'info' }
  36. }
  37. export function todayYmd() {
  38. const d = new Date()
  39. const m = `${d.getMonth() + 1}`.padStart(2, '0')
  40. const day = `${d.getDate()}`.padStart(2, '0')
  41. return `${d.getFullYear()}-${m}-${day}`
  42. }
  43. export function nowYmdHms() {
  44. const d = new Date()
  45. const pad = (n) => `${n}`.padStart(2, '0')
  46. return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`
  47. }
  48. /** 客户端关键词过滤(后端 list 多为全量) */
  49. export function filterByKeyword(rows, keyword, fields) {
  50. const kw = String(keyword || '')
  51. .trim()
  52. .toLowerCase()
  53. if (!kw) return rows || []
  54. return (rows || []).filter((row) =>
  55. fields.some((f) => String(row[f] != null ? row[f] : '').toLowerCase().includes(kw))
  56. )
  57. }