index.vue 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <div>
  3. <page-header
  4. :title="$t('compute.text_92')"
  5. :tabs="cloudEnvOptions"
  6. :current-tab.sync="cloudEnv"
  7. isShowResStatusTab
  8. :status-opts="statusOpts"
  9. :status-click-handle="statusClickHandle" />
  10. <page-body>
  11. <baremetal-list
  12. :id="listId"
  13. :cloud-env="cloudEnv"
  14. :filterParams="filterParams"
  15. statusResKey="server"
  16. @refresh="refreshHandle"
  17. @resStatisticsChange="resStatisticsChange" />
  18. </page-body>
  19. </div>
  20. </template>
  21. <script>
  22. import ResStatisticsV2Mixin from '@/mixins/resStatisticsV2Mixin'
  23. import { getCloudEnvOptions } from '@/utils/common/hypervisor'
  24. import BaremetalList from './components/List'
  25. export default {
  26. name: 'BaremetalIndex',
  27. components: {
  28. BaremetalList,
  29. },
  30. mixins: [ResStatisticsV2Mixin],
  31. data () {
  32. return {
  33. listId: 'BaremetalList',
  34. cloudEnv: '',
  35. }
  36. },
  37. computed: {
  38. cloudEnvOptions: () => {
  39. return getCloudEnvOptions('compute_engine_brands').filter(val => ['', 'onpremise', 'private'].includes(val.key))
  40. },
  41. },
  42. }
  43. </script>