columns.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { NOTIFY_TOPIC_TYPES_MAP, NOTIFY_TOPIC_NAMES_MAP } from '@IAM/constants'
  2. import {
  3. getEnabledTableColumn,
  4. } from '@/utils/common/tableColumn'
  5. import i18n from '@/locales'
  6. export default {
  7. created () {
  8. this.columns = [
  9. {
  10. title: i18n.t('system.notify.topic.name'),
  11. field: 'name',
  12. sortable: true,
  13. showOverflow: 'ellipsis',
  14. minWidth: 100,
  15. slots: {
  16. default: ({ row }) => {
  17. const val = NOTIFY_TOPIC_NAMES_MAP[row.name] || row.name
  18. return [
  19. <list-body-cell-wrap copy row={row} field='name' message={ val } list={this.list} hideField addLock={ false } addBackup={ false }>
  20. <side-page-trigger onTrigger={ () => this.handleOpenSidepage(row) }>{ val }</side-page-trigger>
  21. </list-body-cell-wrap>,
  22. ]
  23. },
  24. },
  25. },
  26. {
  27. title: i18n.t('system.notify.topic.type'),
  28. field: 'type',
  29. sortable: true,
  30. minWidth: 100,
  31. showOverflow: 'title',
  32. formatter: ({ row }) => {
  33. return NOTIFY_TOPIC_TYPES_MAP[row.type] ? NOTIFY_TOPIC_TYPES_MAP[row.type].label : '-'
  34. },
  35. },
  36. getEnabledTableColumn(),
  37. ]
  38. },
  39. }