index.vue 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <base-side-page
  3. @cancel="cancelSidePage"
  4. :title="$t('k8s.text_411')"
  5. icon="res-k8s-node"
  6. :res-name="detailData.name"
  7. :current-tab="params.windowData.currentTab"
  8. :tabs="detailTabs"
  9. :loaded="loaded"
  10. @tab-change="handleTabChange">
  11. <template v-slot:actions>
  12. <actions
  13. :options="singleActions"
  14. :row="detailData"
  15. button-type="link"
  16. button-size="small" />
  17. </template>
  18. <component
  19. :is="params.windowData.currentTab"
  20. :data="detailData"
  21. resource="k8s_nodes"
  22. :serverColumns="columns"
  23. :id="listId"
  24. :res-id="data.id"
  25. :getParams="getParams"
  26. :on-manager="onManager"
  27. :showSearchbox="false"
  28. :showGroupActions="false"
  29. :inSidepageNeedNamepsace="false"
  30. @refresh="refresh"
  31. @single-refresh="singleRefresh"
  32. @tab-change="handleTabChange" />
  33. </base-side-page>
  34. </template>
  35. <script>
  36. import SingleActionsMixin from '../mixins/singleActions'
  37. import ColumnsMixin from '../mixins/columns'
  38. import K8sNodeDetail from './Detail'
  39. // import K8sNodeMonitor from './Monitor'
  40. import StatusSidepage from '@K8S/sections/StatusSidepage'
  41. import EventsSidepage from '@K8S/sections/EventsSidepage'
  42. import PodList from '@K8S/views/pod/components/List'
  43. import SourceInformationSidepage from '@K8S/sections/SourceInformationSidepage'
  44. import SidePageMixin from '@/mixins/sidePage'
  45. import WindowsMixin from '@/mixins/windows'
  46. import Actions from '@/components/PageList/Actions'
  47. export default {
  48. name: 'K8SNodeSidePage',
  49. components: {
  50. Actions,
  51. K8sNodeDetail,
  52. PodList,
  53. StatusSidepage,
  54. EventsSidepage,
  55. SourceInformationSidepage,
  56. // K8sNodeMonitor,
  57. },
  58. mixins: [SidePageMixin, WindowsMixin, ColumnsMixin, SingleActionsMixin],
  59. data () {
  60. return {
  61. detailTabs: [
  62. { label: this.$t('k8s.text_217'), key: 'k8s-node-detail' },
  63. // { label: this.$t('k8s.text_414'), key: 'k8s-node-monitor' },
  64. { label: this.$t('k8s.text_9'), key: 'pod-list' },
  65. { label: this.$t('k8s.text_35'), key: 'status-sidepage' },
  66. { label: this.$t('k8s.text_218'), key: 'events-sidepage' },
  67. { label: this.$t('k8s.text_219'), key: 'source-information-sidepage' },
  68. { label: this.$t('compute.text_240'), key: 'event-drawer' },
  69. ],
  70. }
  71. },
  72. computed: {
  73. getParams () {
  74. return {
  75. owner_kind: this.detailData.kind,
  76. owner_name: this.detailData.name,
  77. namespace: this.detailData.namespace,
  78. cluster: this.detailData.clusterID,
  79. }
  80. },
  81. listId () {
  82. switch (this.params.windowData.currentTab) {
  83. case 'event-drawer':
  84. return 'EventListForK8SNodeSidePage'
  85. case 'pod-list':
  86. return 'PodListForK8SNodeSidePage'
  87. case 'events-sidepage':
  88. return 'EventsForK8SNodeSidePage'
  89. default:
  90. return ''
  91. }
  92. },
  93. },
  94. }
  95. </script>