Detail.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <detail
  3. :data="data"
  4. :onManager="onManager"
  5. :base-info="baseInfo"
  6. :extra-info="extraInfo"
  7. status-module="sslCertificate" />
  8. </template>
  9. <script>
  10. import WindowsMixin from '@/mixins/windows'
  11. import {
  12. getBrandTableColumn,
  13. getAccountTableColumn,
  14. getProjectTableColumn,
  15. getTimeTableColumn,
  16. } from '@/utils/common/tableColumn'
  17. export default {
  18. name: 'SslCertificateDetail',
  19. mixins: [WindowsMixin],
  20. props: {
  21. data: {
  22. type: Object,
  23. required: true,
  24. },
  25. onManager: {
  26. type: Function,
  27. required: true,
  28. },
  29. },
  30. data () {
  31. return {
  32. baseInfo: [
  33. getBrandTableColumn(),
  34. getAccountTableColumn(),
  35. getProjectTableColumn(),
  36. {
  37. field: 'issuer',
  38. title: this.$t('network.ssl_certificate.issuer'),
  39. },
  40. {
  41. field: 'sans',
  42. title: this.$t('network.ssl_certificate.sans'),
  43. slots: {
  44. default: ({ row }) => {
  45. if (!row.sans) return '-'
  46. const list = row.sans.split(',').map(sans => {
  47. return (
  48. <div>{sans}</div>
  49. )
  50. })
  51. return [
  52. <div>
  53. {...list}
  54. </div>,
  55. ]
  56. },
  57. },
  58. },
  59. getTimeTableColumn({ field: 'start_date', title: this.$t('network.ssl_certificate.start_date') }),
  60. getTimeTableColumn({ field: 'end_date', title: this.$t('network.ssl_certificate.end_date') }),
  61. ],
  62. }
  63. },
  64. computed: {
  65. },
  66. }
  67. </script>