columns.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import {
  2. getNameDescriptionTableColumn,
  3. getEnabledTableColumn,
  4. getTagTableColumn,
  5. getTimeTableColumn,
  6. } from '@/utils/common/tableColumn'
  7. import i18n from '@/locales'
  8. export default {
  9. created () {
  10. this.columns = [
  11. getNameDescriptionTableColumn({
  12. onManager: this.onManager,
  13. hideField: true,
  14. formRules: [
  15. { required: true, message: i18n.t('system.text_168') },
  16. ],
  17. slotCallback: row => {
  18. return (
  19. <side-page-trigger onTrigger={ () => this.handleOpenSidepage(row) }>{ row.name }</side-page-trigger>
  20. )
  21. },
  22. }),
  23. getTagTableColumn({ onManager: this.onManager, resource: 'domains', params: { service: 'identity', resources: 'domain' }, columns: () => this.columns, tipName: this.$t('dictionary.domain') }),
  24. getEnabledTableColumn(),
  25. {
  26. field: 'idp',
  27. title: this.$t('dictionary.identity_provider'),
  28. slots: {
  29. default: ({ row }) => {
  30. if (!row.idp) return '-'
  31. const text = row.idp
  32. return [
  33. <side-page-trigger name='IDPSidePage' tab='idp-detail' id={row.idp_id} vm={this}>{text}</side-page-trigger>,
  34. ]
  35. },
  36. },
  37. },
  38. getTimeTableColumn(),
  39. ]
  40. },
  41. }