columns.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import {
  2. getNameDescriptionTableColumn,
  3. getTagTableColumn,
  4. getRegionTableColumn,
  5. getTimeTableColumn,
  6. } from '@/utils/common/tableColumn'
  7. import i18n from '@/locales'
  8. export default {
  9. created () {
  10. this.columns = [
  11. getNameDescriptionTableColumn({
  12. vm: this,
  13. hideField: true,
  14. title: i18n.t('network.text_21'),
  15. onManager: this.onManager,
  16. slotCallback: row => {
  17. return (
  18. <side-page-trigger onTrigger={ () => this.handleOpenSidepage(row) }>{ row.name }</side-page-trigger>
  19. )
  20. },
  21. }),
  22. getTagTableColumn({ onManager: this.onManager, resource: 'lb_loadbalanceragents', columns: () => this.columns }),
  23. {
  24. field: 'ha_state',
  25. title: i18n.t('network.text_22'),
  26. width: 90,
  27. },
  28. {
  29. field: 'hb_last_seen',
  30. title: i18n.t('network.text_23'),
  31. width: 100,
  32. formatter: ({ cellValue }) => {
  33. return this.$moment(cellValue).fromNow()
  34. },
  35. },
  36. {
  37. field: 'ip',
  38. title: 'IP',
  39. width: 140,
  40. },
  41. {
  42. field: 'version',
  43. title: i18n.t('network.version'),
  44. width: 300,
  45. },
  46. {
  47. field: 'cluster',
  48. title: i18n.t('network.text_19'),
  49. showOverflow: 'ellipsis',
  50. minWidth: 100,
  51. },
  52. {
  53. field: 'priority',
  54. title: this.$t('network.priority'),
  55. width: 100,
  56. },
  57. {
  58. field: 'interface',
  59. title: this.$t('network.interface'),
  60. width: 100,
  61. },
  62. getRegionTableColumn(),
  63. getTimeTableColumn(),
  64. ]
  65. },
  66. }