columns.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import {
  2. getNameDescriptionTableColumn,
  3. getProjectDomainTableColumn,
  4. getTagTableColumn,
  5. getTimeTableColumn,
  6. getCopyWithContentTableColumn,
  7. } from '@/utils/common/tableColumn'
  8. import i18n from '@/locales'
  9. export default {
  10. created () {
  11. this.columns = [
  12. getNameDescriptionTableColumn({
  13. onManager: this.onManager,
  14. hideField: true,
  15. formRules: [
  16. { required: true, message: i18n.t('system.text_168') },
  17. ],
  18. slotCallback: row => {
  19. return (
  20. <side-page-trigger onTrigger={ () => this.handleOpenSidepage(row) }>{ row.name }</side-page-trigger>
  21. )
  22. },
  23. }),
  24. getTagTableColumn({ onManager: this.onManager, resource: 'projects', params: { service: 'identity', resource: 'projects' }, columns: () => this.columns, tipName: this.$t('dictionary.project') }),
  25. getCopyWithContentTableColumn({
  26. field: 'admin',
  27. title: i18n.t('iam.project_admin'),
  28. message: (row) => {
  29. return row.admin || '-'
  30. },
  31. }),
  32. getProjectDomainTableColumn(),
  33. getTimeTableColumn(),
  34. ]
  35. },
  36. }