index.vue 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <base-side-page
  3. @cancel="cancelSidePage"
  4. :title="$t('dictionary.waf_instance')"
  5. icon="res-waf"
  6. :res-name="detailData.name"
  7. :current-tab="params.windowData.currentTab"
  8. :loaded="loaded"
  9. :tabs="detailTabs"
  10. @tab-change="handleTabChange">
  11. <template v-slot:actions>
  12. <actions
  13. :options="singleActions"
  14. :row="detailData"
  15. :before-show-menu="beforeShowMenu"
  16. button-type="link"
  17. button-size="small" />
  18. </template>
  19. <component :is="params.windowData.currentTab" :res-id="data.id" :id="listId" :data="detailData" :on-manager="onManager" taskResource="compute-tasks" @tab-change="handleTabChange" />
  20. </base-side-page>
  21. </template>
  22. <script>
  23. import Actions from '@/components/PageList/Actions'
  24. import SidePageMixin from '@/mixins/sidePage'
  25. import WindowsMixin from '@/mixins/windows'
  26. import RuleManage from '@Network/views/waf-rule/components/List'
  27. import ColumnsMixin from '../mixins/columns'
  28. import SingleActionsMixin from '../mixins/singleActions'
  29. import detail from './Detail'
  30. import ResourceManage from './ResourceManage'
  31. export default {
  32. name: 'WafSidePage',
  33. components: {
  34. Actions,
  35. detail,
  36. ResourceManage,
  37. RuleManage,
  38. },
  39. mixins: [SidePageMixin, WindowsMixin, ColumnsMixin, SingleActionsMixin],
  40. data () {
  41. return {
  42. detailTabs: [
  43. { label: this.$t('network.text_67'), key: 'detail' },
  44. { label: this.$t('network.waf.rule'), key: 'rule-manage' },
  45. { label: this.$t('network.waf.resource'), key: 'resource-manage' },
  46. { label: this.$t('table.title.task'), key: 'task-drawer' },
  47. { label: this.$t('cloudenv.text_15'), key: 'event-drawer' },
  48. ],
  49. domainList: this.params.domainList,
  50. projectList: this.params.projectList,
  51. }
  52. },
  53. computed: {
  54. listId () {
  55. switch (this.params.windowData.currentTab) {
  56. case 'event-drawer':
  57. return 'EventListForWafInstancesSidePage'
  58. case 'waf-rule-list':
  59. return 'WafRulesForWafInstancesSidePage'
  60. case 'waf-resource-list':
  61. return 'WafResourcesForWafInstancesSidePage'
  62. default:
  63. return ''
  64. }
  65. },
  66. },
  67. created () {
  68. // this.$bus.$on('dimensionDomainUpdated', (val) => {
  69. // this.domainList = val
  70. // })
  71. // this.$bus.$on('dimensionProjectUpdated', (val) => {
  72. // this.projectList = val
  73. // })
  74. },
  75. methods: {
  76. // openSidePageDimensionItemList () {
  77. // this.initSidePageTab('dimension-item-list')
  78. // },
  79. },
  80. }
  81. </script>