columns.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { getCopyWithContentTableColumn, getStatusTableColumn, getBrandTableColumn, getNameDescriptionTableColumn, getProjectTableColumn, getTimeTableColumn, getEnabledTableColumn } from '@/utils/common/tableColumn'
  2. import i18n from '@/locales'
  3. export default {
  4. created () {
  5. this.columns = [
  6. getNameDescriptionTableColumn({
  7. onManager: this.onManager,
  8. hideField: true,
  9. slotCallback: row => {
  10. return (
  11. <side-page-trigger name='ScalingGroupSidePage' id={row.id} list={this.list} vm={this}>{ row.name }</side-page-trigger>
  12. )
  13. },
  14. }),
  15. getStatusTableColumn({ statusModule: 'scalinggroup', minWidth: 130, vm: this }),
  16. getEnabledTableColumn(),
  17. getCopyWithContentTableColumn({
  18. field: 'guest_template',
  19. title: i18n.t('res.servertemplate'),
  20. hideField: true,
  21. showOverflow: 'ellipsis',
  22. width: 120,
  23. slotCallback: row => {
  24. if (!row.guest_template) return [<data-loading />]
  25. return row.guest_template
  26. },
  27. }),
  28. {
  29. field: 'instance_number',
  30. title: i18n.t('compute.text_874'),
  31. minWidth: 100,
  32. sortable: true,
  33. slots: {
  34. default: ({ row }) => {
  35. if (row.instance_number === undefined) return [<data-loading />]
  36. return row.instance_number
  37. },
  38. },
  39. },
  40. {
  41. field: 'desire_instance_number',
  42. title: i18n.t('compute.text_875'),
  43. minWidth: 100,
  44. sortable: true,
  45. },
  46. {
  47. field: 'min_instance_number',
  48. title: i18n.t('compute.text_876'),
  49. minWidth: 100,
  50. sortable: true,
  51. },
  52. {
  53. field: 'max_instance_number',
  54. title: i18n.t('compute.text_877'),
  55. minWidth: 100,
  56. sortable: true,
  57. },
  58. getBrandTableColumn(),
  59. getTimeTableColumn(),
  60. getProjectTableColumn(),
  61. ]
  62. },
  63. }