constants.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import { IFieldFormatConfig } from './types'
  2. import { ViewModelVisualTypes } from 'containers/View/constants'
  3. export enum FieldFormatTypes {
  4. Default = 'default',
  5. Numeric = 'numeric',
  6. Currency = 'currency',
  7. Percentage = 'percentage',
  8. ScientificNotation = 'scientificNotation',
  9. Date = 'date',
  10. Custom = 'custom'
  11. }
  12. export const FieldFormatTypesSetting = {
  13. [ViewModelVisualTypes.Date]: [FieldFormatTypes.Default, FieldFormatTypes.Date],
  14. [ViewModelVisualTypes.Number]: [
  15. FieldFormatTypes.Default,
  16. FieldFormatTypes.Numeric,
  17. FieldFormatTypes.Currency,
  18. FieldFormatTypes.Percentage,
  19. FieldFormatTypes.ScientificNotation
  20. ]
  21. }
  22. export const FieldFormatTypesLocale = {
  23. [FieldFormatTypes.Default]: '默认',
  24. [FieldFormatTypes.Numeric]: '数值',
  25. [FieldFormatTypes.Currency]: '货币',
  26. [FieldFormatTypes.Percentage]: '百分比',
  27. [FieldFormatTypes.ScientificNotation]: '科学型',
  28. [FieldFormatTypes.Date]: '日期',
  29. [FieldFormatTypes.Custom]: '自定义'
  30. }
  31. export enum NumericUnit {
  32. None = '无',
  33. TenThousand = '万',
  34. OneHundredMillion = '亿',
  35. Thousand = 'k',
  36. Million = 'M',
  37. Giga = 'G'
  38. }
  39. export const NumericUnitList = [
  40. NumericUnit.None,
  41. NumericUnit.TenThousand,
  42. NumericUnit.OneHundredMillion,
  43. NumericUnit.Thousand,
  44. NumericUnit.Million,
  45. NumericUnit.Giga
  46. ]
  47. export const defaultFormatConfig: IFieldFormatConfig = {
  48. formatType: FieldFormatTypes.Default,
  49. [FieldFormatTypes.Numeric]: {
  50. decimalPlaces: 2,
  51. unit: NumericUnit.None,
  52. useThousandSeparator: true
  53. },
  54. [FieldFormatTypes.Currency]: {
  55. decimalPlaces: 2,
  56. unit: NumericUnit.None,
  57. useThousandSeparator: true,
  58. prefix: '',
  59. suffix: ''
  60. },
  61. [FieldFormatTypes.Percentage]: {
  62. decimalPlaces: 2
  63. },
  64. [FieldFormatTypes.ScientificNotation]: {
  65. decimalPlaces: 2
  66. },
  67. [FieldFormatTypes.Date]: {
  68. format: 'YYYY-MM-DD'
  69. },
  70. [FieldFormatTypes.Custom]: {
  71. format: ''
  72. }
  73. }