columns.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import {
  2. getCopyWithContentTableColumn,
  3. getEnabledTableColumn,
  4. getTimeTableColumn,
  5. } from '@/utils/common/tableColumn'
  6. import i18n from '@/locales'
  7. export default {
  8. computed: {
  9. columns () {
  10. const { tag } = this.$vnode.componentOptions
  11. const secretColumn = {
  12. field: 'secret',
  13. title: 'Client Secret',
  14. hideField: true,
  15. width: 120,
  16. slots: {
  17. default: ({ row }, h) => {
  18. if (!row.blob) return '-'
  19. const blob = JSON.parse(row.blob)
  20. return [
  21. <a-popover>
  22. <template slot="content">
  23. <div style="text-align: center;">
  24. <div style="margin: 5px 0">{blob.secret}</div>
  25. <copy class="ml-1" message={blob.secret} />
  26. </div>
  27. </template>
  28. <a style="font-size:14px"><icon type="keypairs" /></a>
  29. </a-popover>,
  30. ]
  31. },
  32. },
  33. }
  34. if (tag === 'OpenIdList') {
  35. return [
  36. getCopyWithContentTableColumn({
  37. field: 'id',
  38. title: 'ClientID',
  39. }),
  40. secretColumn,
  41. getEnabledTableColumn(),
  42. getCopyWithContentTableColumn({
  43. field: 'blob',
  44. title: i18n.t('common_633'),
  45. hideField: true,
  46. slotCallback: (row) => {
  47. if (!row.blob) return '-'
  48. const blob = JSON.parse(row.blob)
  49. return blob.redirect_uri || '-'
  50. },
  51. }),
  52. getTimeTableColumn(),
  53. ]
  54. } else if (tag === 'EncryptKeyList') {
  55. return [
  56. getCopyWithContentTableColumn({
  57. field: 'id',
  58. title: i18n.t('scope.encrypt_key.title.id'),
  59. }),
  60. getCopyWithContentTableColumn({
  61. field: 'name',
  62. title: i18n.t('scope.encrypt_key.title.name'),
  63. }),
  64. getCopyWithContentTableColumn({
  65. field: 'blob',
  66. title: i18n.t('scope.encrypt_key.title.alg'),
  67. hideField: true,
  68. slotCallback: (row) => {
  69. if (!row.blob) return '-'
  70. const blob = JSON.parse(row.blob)
  71. return blob.alg.toUpperCase() || '-'
  72. },
  73. }),
  74. getEnabledTableColumn(),
  75. getTimeTableColumn(),
  76. ]
  77. }
  78. return [
  79. getCopyWithContentTableColumn({
  80. field: 'id',
  81. title: 'ID',
  82. }),
  83. secretColumn,
  84. getEnabledTableColumn(),
  85. getTimeTableColumn(),
  86. ]
  87. },
  88. },
  89. }