columns.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import { getStatusTableColumn, getNameDescriptionTableColumn, getRegionTableColumn, getTagTableColumn } from '@/utils/common/tableColumn'
  2. import { sizestr } from '@/utils/utils'
  3. import i18n from '@/locales'
  4. const BACKUP_TYPE = {
  5. automated: i18n.t('db.text_33'),
  6. manual: i18n.t('db.text_34'),
  7. }
  8. export default {
  9. created () {
  10. this.columns = [
  11. getNameDescriptionTableColumn({
  12. onManager: this.onManager,
  13. hideField: true,
  14. slotCallback: row => {
  15. return (
  16. <side-page-trigger onTrigger={ () => this.handleOpenSidepage(row) }>{ row.name }</side-page-trigger>
  17. )
  18. },
  19. }),
  20. getTagTableColumn({ onManager: this.onManager, resource: 'dbinstancebackup', columns: () => this.columns }),
  21. {
  22. field: 'dbinstance',
  23. minWidth: 100,
  24. title: i18n.t('db.text_35'),
  25. showOverflow: 'ellipsis',
  26. },
  27. {
  28. field: 'backup_mode',
  29. title: i18n.t('db.text_36'),
  30. width: 100,
  31. slots: {
  32. default: ({ row }) => {
  33. return BACKUP_TYPE[row.backup_mode] || row.backup_mode || '-'
  34. },
  35. },
  36. },
  37. {
  38. field: 'engine',
  39. title: i18n.t('db.text_57'),
  40. width: 100,
  41. slots: {
  42. default: ({ row }) => {
  43. return `${row.engine || ''} ${row.engine_version || ''}`
  44. },
  45. },
  46. },
  47. {
  48. field: 'db_names',
  49. title: i18n.t('db.text_232'),
  50. width: 100,
  51. slots: {
  52. default: ({ row }) => {
  53. return row.db_names || '-'
  54. },
  55. },
  56. },
  57. {
  58. field: 'backup_method',
  59. title: i18n.t('db.text_371'),
  60. width: 100,
  61. slots: {
  62. default: ({ row }) => {
  63. const map = {
  64. Logical: i18n.t('db.text_372'),
  65. Physical: i18n.t('db.text_373'),
  66. Snapshot: i18n.t('db.text_374'),
  67. }
  68. return map[row.backup_method] || row.backup_method || '-'
  69. },
  70. },
  71. },
  72. {
  73. field: 'backup_size_mb',
  74. title: i18n.t('db.text_38'),
  75. width: 70,
  76. slots: {
  77. default: ({ row }) => {
  78. return sizestr(row.backup_size_mb, 'M', 1024)
  79. },
  80. },
  81. },
  82. getStatusTableColumn({ statusModule: 'rdsBackup' }),
  83. // getBrandTableColumn(),
  84. {
  85. field: 'start_time',
  86. title: i18n.t('db.text_39'),
  87. minWidth: 150,
  88. slots: {
  89. default: ({ row }) => {
  90. return `${this.$moment(row.start_time).format()} / ${this.$moment(row.end_time).format()}`
  91. },
  92. },
  93. },
  94. getRegionTableColumn(),
  95. ]
  96. },
  97. }