index.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <base-side-page
  3. @cancel="cancelSidePage"
  4. :title="$t('cloudenv.text_10')"
  5. icon="res-cloudregion"
  6. :res-name="detailData.name"
  7. :current-tab="params.windowData.currentTab"
  8. :loaded="loaded"
  9. :tabs="detailTabs"
  10. @tab-change="handleTabChange">
  11. <component
  12. :is="params.windowData.currentTab"
  13. :res-id="data.id"
  14. :id="listId"
  15. :data="detailData"
  16. :on-manager="onManager"
  17. @tab-change="handleTabChange" />
  18. </base-side-page>
  19. </template>
  20. <script>
  21. import SidePageMixin from '@/mixins/sidePage'
  22. import WindowsMixin from '@/mixins/windows'
  23. import ColumnsMixin from '../mixins/columns'
  24. import CloudregionDetail from './Detail'
  25. import Dashboard from './Dashboard'
  26. import VPCList from './VPCList'
  27. import NetworkList from './NetworkList'
  28. import ZoneList from './ZoneList'
  29. export default {
  30. name: 'CloudregionSidePage',
  31. components: {
  32. CloudregionDetail,
  33. ZoneList,
  34. Dashboard,
  35. VPCList,
  36. NetworkList,
  37. },
  38. mixins: [SidePageMixin, WindowsMixin, ColumnsMixin],
  39. data () {
  40. return {}
  41. },
  42. computed: {
  43. listId () {
  44. switch (this.params.windowData.currentTab) {
  45. case 'event-drawer':
  46. return 'EventListForCloudregionSidePage'
  47. default:
  48. return ''
  49. }
  50. },
  51. detailTabs () {
  52. const detailTabs = [
  53. { label: this.$t('cloudenv.text_237'), key: 'cloudregion-detail' },
  54. { label: this.$t('cloudenv.text_11'), key: 'zone-list' },
  55. { label: 'VPC', key: 'v-p-c-list' },
  56. { label: this.$t('cloudenv.text_181'), key: 'network-list' },
  57. ]
  58. if (!['public'].includes(this.detailData.cloud_env)) {
  59. detailTabs.push({ label: this.$t('cloudenv.text_319'), key: 'dashboard' })
  60. }
  61. detailTabs.push({ label: this.$t('cloudenv.text_15'), key: 'event-drawer' })
  62. return detailTabs
  63. },
  64. },
  65. }
  66. </script>