columns.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 { ELK_STORAGE, ELK_CATEGORY } 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: 'elastic_searchs', columns: () => this.columns }),
  28. getStatusTableColumn({ statusModule: 'elasticSearch' }),
  29. {
  30. field: 'category',
  31. title: i18n.t('middleware.category'),
  32. width: 100,
  33. formatter: ({ row }) => {
  34. return ELK_CATEGORY[row.category] || row.category || '-'
  35. },
  36. },
  37. {
  38. field: 'vcpu_count',
  39. title: i18n.t('middleware.config'),
  40. width: 120,
  41. slots: {
  42. default: ({ row }) => {
  43. return [<div>
  44. <div>{i18n.t('middleware.config_size', [row.vcpu_count, row.vmem_size_gb])}</div>
  45. <div>{row.instance_type || '-'}</div>
  46. </div>]
  47. },
  48. },
  49. formatter: ({ row }) => {
  50. return `${i18n.t('middleware.config_size', [row.vcpu_count, row.vmem_size_gb])},row.instance_type || '-'`
  51. },
  52. },
  53. {
  54. field: 'version',
  55. title: i18n.t('middleware.version'),
  56. width: 100,
  57. },
  58. {
  59. field: 'storage_type',
  60. title: i18n.t('middleware.storage'),
  61. width: 100,
  62. slots: {
  63. default: ({ row }) => {
  64. return [<div>
  65. <div>{ELK_STORAGE[row.storage_type] || row.storage_type || '-'}</div>
  66. <div>{i18n.t('middleware.size_gb', [row.disk_size_gb])}</div>
  67. </div>]
  68. },
  69. },
  70. formatter: ({ row }) => {
  71. return `${ELK_STORAGE[row.storage_type] || row.storage_type || '-'},i18n.t('middleware.size_gb', [row.disk_size_gb])`
  72. },
  73. },
  74. getBillingTableColumn({ vm: this }),
  75. getBrandTableColumn(),
  76. getAccountTableColumn(),
  77. getProjectTableColumn(),
  78. getRegionTableColumn({ showOverflow: false }),
  79. ]
  80. },
  81. }