columns.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import {
  2. getNameDescriptionTableColumn,
  3. getStatusTableColumn,
  4. getBillingTableColumn,
  5. getProjectTableColumn,
  6. getAccountTableColumn,
  7. getBrandTableColumn,
  8. getTagTableColumn,
  9. getRegionTableColumn,
  10. } from '@/utils/common/tableColumn'
  11. import i18n from '@/locales'
  12. import { KAFKA_STORAGE } from '../constants/index.js'
  13. export default {
  14. created () {
  15. this.columns = [
  16. getNameDescriptionTableColumn({
  17. onManager: this.onManager,
  18. hideField: true,
  19. addLock: true,
  20. addBackup: true,
  21. slotCallback: row => {
  22. return (
  23. <side-page-trigger onTrigger={ () => this.handleOpenSidepage(row) }>{ row.name }</side-page-trigger>
  24. )
  25. },
  26. }),
  27. getTagTableColumn({ onManager: this.onManager, resource: 'kafkas', columns: () => this.columns }),
  28. getStatusTableColumn({ statusModule: 'kafka' }),
  29. {
  30. field: 'version',
  31. title: i18n.t('middleware.version'),
  32. width: 100,
  33. },
  34. {
  35. field: 'storage_type',
  36. title: i18n.t('middleware.storage'),
  37. width: 100,
  38. slots: {
  39. default: ({ row }) => {
  40. return [<div>
  41. <div>{KAFKA_STORAGE[row.storage_type] || row.storage_type || '-'}</div>
  42. <div>{i18n.t('middleware.size_gb', [row.disk_size_gb])}</div>
  43. </div>]
  44. },
  45. },
  46. formatter: ({ row }) => {
  47. return `${KAFKA_STORAGE[row.storage_type] || row.storage_type || '-'},${i18n.t('middleware.size_gb', [row.disk_size_gb])}`
  48. },
  49. },
  50. {
  51. field: 'bandwidth_mb',
  52. title: i18n.t('middleware.bandwidth'),
  53. formatter: ({ row }) => {
  54. if (row.bandwidth_mb && row.bandwidth_mb !== 0) {
  55. return i18n.t('middleware.bandwidth_mb', [row.bandwidth_mb])
  56. }
  57. return '-'
  58. },
  59. },
  60. {
  61. field: 'endpoint',
  62. title: i18n.t('middleware.endpoint'),
  63. formatter: ({ row }) => {
  64. return row.endpoint || '-'
  65. },
  66. },
  67. {
  68. field: 'msg_retention_minute',
  69. title: i18n.t('middleware.msg_retention_minute'),
  70. formatter: ({ row }) => {
  71. if (row.msg_retention_minute && row.msg_retention_minute !== 0) {
  72. if (row.msg_retention_minute / 60 > 0) {
  73. return i18n.t('middleware.hours', [row.msg_retention_minute / 60])
  74. }
  75. return i18n.t('middleware.minutes', [row.msg_retention_minute])
  76. }
  77. return '-'
  78. },
  79. },
  80. getBillingTableColumn({ vm: this }),
  81. getBrandTableColumn(),
  82. getAccountTableColumn(),
  83. getProjectTableColumn(),
  84. getRegionTableColumn({ showOverflow: false }),
  85. ]
  86. },
  87. }