columns.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import * as R from 'ramda'
  2. import { sizestr } from '@/utils/utils'
  3. import SystemIcon from '@/sections/SystemIcon'
  4. import { getNameDescriptionTableColumn, getStatusTableColumn, getCopyWithContentTableColumn, getProjectTableColumn, getTimeTableColumn } from '@/utils/common/tableColumn'
  5. import i18n from '@/locales'
  6. export default {
  7. created () {
  8. this.columns = [
  9. getNameDescriptionTableColumn({
  10. field: 'name',
  11. edit: false,
  12. editDesc: false,
  13. hideField: true,
  14. slotCallback: row => {
  15. return (
  16. <side-page-trigger onTrigger={() => this.handleOpenSidepage(row)}>{row.name}</side-page-trigger>
  17. )
  18. },
  19. }),
  20. getCopyWithContentTableColumn({ field: 'name', title: i18n.t('compute.text_228') }),
  21. getStatusTableColumn({ statusModule: 'image', hiddenLogView: true }),
  22. {
  23. field: 'disk_format',
  24. title: i18n.t('compute.text_398'),
  25. width: 100,
  26. },
  27. {
  28. field: 'os_type',
  29. title: i18n.t('compute.text_267'),
  30. width: 70,
  31. slots: {
  32. default: ({ row }) => {
  33. if (!row.properties || R.isEmpty(row.properties)) return i18n.t('compute.text_339')
  34. let name = !row.properties.os_distribution ? row.properties.os_type : decodeURI(row.properties.os_distribution || '')
  35. name = name || ''
  36. if (name.includes('Windows') || name.includes('windows')) {
  37. name = 'Windows'
  38. }
  39. const tooltip = row.properties.os_version ? `${name} ${row.properties.os_version}` : name
  40. return [
  41. <SystemIcon tooltip={ tooltip } name={ name } />,
  42. ]
  43. },
  44. },
  45. },
  46. {
  47. field: 'size',
  48. title: i18n.t('table.title.image_size'),
  49. width: 100,
  50. formatter: ({ cellValue }) => {
  51. return sizestr(cellValue, 'B', 1024)
  52. },
  53. },
  54. getTimeTableColumn({ field: 'auto_delete_at', title: i18n.t('compute.text_480') }),
  55. getProjectTableColumn(),
  56. ]
  57. },
  58. }