Detail.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <template>
  2. <detail
  3. :on-manager="onManager"
  4. :data="data"
  5. :extra-info="extraInfo"
  6. :base-info="baseInfo"
  7. :name-rules="[{ required: true, message: $t('compute.text_210') }]"
  8. :columns="serverColumns"
  9. auto-hidden-columns-key="server_hidden_columns"
  10. status-module="server"
  11. resource="servers" />
  12. </template>
  13. <script>
  14. import 'codemirror/theme/material.css'
  15. import WindowsMixin from '@/mixins/windows'
  16. import {
  17. getUserTagColumn,
  18. } from '@/utils/common/detailColumn'
  19. import {
  20. getCopyWithContentTableColumn,
  21. } from '@/utils/common/tableColumn'
  22. import {
  23. getK8sClusterProviderColumn,
  24. getK8sClusterDistribution,
  25. getK8sClusterModeColumn,
  26. getK8sClusterResourceType,
  27. } from '../utils/columns'
  28. export default {
  29. name: 'KubeClusterDetail',
  30. mixins: [WindowsMixin],
  31. props: {
  32. onManager: {
  33. type: Function,
  34. required: true,
  35. },
  36. data: {
  37. type: Object,
  38. required: true,
  39. },
  40. serverColumns: Array,
  41. },
  42. data () {
  43. return {
  44. baseInfo: [
  45. {
  46. field: 'project_domain',
  47. hiddenField: 'tenant',
  48. title: this.$t('dictionary.domain'),
  49. formatter: ({ row }) => {
  50. if (!row.domain_id) return '-'
  51. return <side-page-trigger permission="domains_get" name="DomainSidePage" id={row.domain_id} vm={this}>{ row.project_domain }</side-page-trigger>
  52. },
  53. },
  54. getUserTagColumn({
  55. onManager: this.onManager,
  56. resource: 'server',
  57. columns: () => this.serverColumns,
  58. tipName: this.$t('dictionary.server'),
  59. editCheck: (row) => row.hypervisor !== 'bingocloud',
  60. }),
  61. getK8sClusterProviderColumn(),
  62. getK8sClusterDistribution(),
  63. getK8sClusterModeColumn(),
  64. getK8sClusterResourceType(),
  65. {
  66. field: 'machines',
  67. title: this.$t('k8s.text_191'),
  68. },
  69. ],
  70. }
  71. },
  72. computed: {
  73. extraInfo () {
  74. return [
  75. {
  76. title: this.$t('compute.text_368'),
  77. items: [
  78. getCopyWithContentTableColumn({
  79. title: 'api_server',
  80. field: 'api_server',
  81. }),
  82. getCopyWithContentTableColumn({
  83. title: 'pod_cidr',
  84. field: 'pod_cidr',
  85. }),
  86. getCopyWithContentTableColumn({
  87. title: 'service_cidr',
  88. field: 'service_cidr',
  89. }),
  90. ],
  91. },
  92. ]
  93. },
  94. },
  95. watch: {
  96. },
  97. created () {
  98. },
  99. methods: {
  100. },
  101. }
  102. </script>