columns.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import {
  2. getNameDescriptionTableColumn,
  3. getStatusTableColumn,
  4. getTimeTableColumn,
  5. getAccountTableColumn,
  6. getProjectTableColumn,
  7. getBrandTableColumn,
  8. } from '@/utils/common/tableColumn'
  9. export default {
  10. created () {
  11. this.columns = [
  12. getNameDescriptionTableColumn({
  13. onManager: this.onManager,
  14. hideField: true,
  15. slotCallback: row => {
  16. return (
  17. <side-page-trigger onTrigger={() => this.handleOpenSidepage(row)}>{row.name}</side-page-trigger>
  18. )
  19. },
  20. }),
  21. getStatusTableColumn({
  22. statusModule: 'sslCertificate',
  23. vm: this,
  24. }),
  25. {
  26. field: 'issuer',
  27. label: this.$t('network.ssl_certificate.issuer'),
  28. },
  29. {
  30. field: 'sans',
  31. label: this.$t('network.ssl_certificate.sans'),
  32. slots: {
  33. default: ({ row }) => {
  34. if (!row.sans) return '-'
  35. const list = row.sans.split(',').map(sans => {
  36. return (
  37. <div>{sans}</div>
  38. )
  39. })
  40. return [
  41. <div>
  42. {...list}
  43. </div>,
  44. ]
  45. },
  46. },
  47. },
  48. getBrandTableColumn(),
  49. getAccountTableColumn(),
  50. getProjectTableColumn(),
  51. getTimeTableColumn(),
  52. getTimeTableColumn({ field: 'end_date', title: this.$t('network.ssl_certificate.end_date') }),
  53. ]
  54. },
  55. }