columns.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import {
  2. getNameDescriptionTableColumn,
  3. getBrandTableColumn,
  4. getProjectTableColumn,
  5. getPublicScopeTableColumn,
  6. getTagTableColumn,
  7. getTimeTableColumn,
  8. getStatusTableColumn,
  9. getRegionTableColumn,
  10. getAccountTableColumn,
  11. } from '@/utils/common/tableColumn'
  12. import i18n from '@/locales'
  13. export default {
  14. created () {
  15. this.columns = [
  16. getNameDescriptionTableColumn({
  17. onManager: this.onManager,
  18. hideField: true,
  19. title: i18n.t('network.text_317'),
  20. slotCallback: row => {
  21. return (
  22. <side-page-trigger onTrigger={ () => this.handleOpenSidepage(row) }>{ row.name }</side-page-trigger>
  23. )
  24. },
  25. }),
  26. getTagTableColumn({ onManager: this.onManager, resource: 'lb_loadbalancercertificates', columns: () => this.columns }),
  27. getStatusTableColumn({ statusModule: 'lbcert', vm: this }),
  28. {
  29. field: 'common_name',
  30. title: i18n.t('network.text_318'),
  31. width: 150,
  32. slots: {
  33. default: ({ row }) => {
  34. if (row.common_name) return row.common_name
  35. return [<div slot="label"><span class="mr-1"> - </span></div>]
  36. },
  37. },
  38. },
  39. {
  40. field: 'not_after',
  41. title: i18n.t('network.text_319'),
  42. sortable: true,
  43. width: 150,
  44. slots: {
  45. default: ({ row }) => {
  46. if (row.not_after) {
  47. if (this.$moment().isAfter(this.$moment(row.not_after))) {
  48. return [
  49. <span style="color: red">{this.$moment(row.not_after).format(i18n.t('network.text_36'))}</span>,
  50. ]
  51. }
  52. return [
  53. <span>{this.$moment(row.not_after).format(i18n.t('network.text_36'))}</span>,
  54. ]
  55. }
  56. return '-'
  57. },
  58. },
  59. },
  60. {
  61. field: 'subject_alternative_names',
  62. title: i18n.t('network.text_320'),
  63. width: 150,
  64. formatter: ({ cellValue }) => {
  65. return cellValue || '-'
  66. },
  67. },
  68. {
  69. field: 'lb_listener_count',
  70. title: this.$t('network.text_750'),
  71. },
  72. getPublicScopeTableColumn({ vm: this, resource: 'loadbalancercertificates' }),
  73. getProjectTableColumn(),
  74. getBrandTableColumn(),
  75. getAccountTableColumn(),
  76. getRegionTableColumn(),
  77. getTimeTableColumn(),
  78. ]
  79. },
  80. }