columns.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import {
  2. getNameDescriptionTableColumn,
  3. // getStatusTableColumn,
  4. getProjectTableColumn,
  5. getTimeTableColumn,
  6. getProjectDomainTableColumn,
  7. getBillingTableColumn,
  8. } from '@/utils/common/tableColumn'
  9. import i18n from '@/locales'
  10. export default {
  11. created () {
  12. this.columns = [
  13. getNameDescriptionTableColumn({
  14. onManager: this.onManager,
  15. hideField: true,
  16. formRules: [
  17. { required: true, message: i18n.t('common.tips.input', [i18n.t('table.title.name')]) },
  18. ],
  19. slotCallback: row => {
  20. return (
  21. <side-page-trigger onTrigger={() => this.handleOpenSidepage(row)}>{row.name}</side-page-trigger>
  22. )
  23. },
  24. }),
  25. {
  26. field: 'resource_type',
  27. title: this.$t('common.resource_type'),
  28. sortable: true,
  29. formatter: ({ row }) => {
  30. return this.$getI18n(`res.${row.resource_type}`, row.resource_type)
  31. },
  32. },
  33. getBillingTableColumn({ vm: this, showSetButton: false }),
  34. getProjectDomainTableColumn({ vm: this }),
  35. getProjectTableColumn(),
  36. getTimeTableColumn(),
  37. ]
  38. },
  39. }