index.vue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <template>
  2. <div class='m-container'>
  3. <h2>
  4. <div class="squrt"></div> 内容管理
  5. </h2>
  6. <div class="m-core">
  7. <el-tabs v-model="activeName"
  8. type="card"
  9. @tab-click="handleClick">
  10. <el-tab-pane label="BANNER管理"
  11. name="0">
  12. <banner v-if="activeStatus[0]" />
  13. </el-tab-pane>
  14. <el-tab-pane label="精彩活动"
  15. name="1">
  16. <activity v-if="activeStatus[1]" />
  17. </el-tab-pane>
  18. <el-tab-pane label="热门资讯"
  19. name="2">
  20. <information v-if="activeStatus[2]" />
  21. </el-tab-pane>
  22. <el-tab-pane label="专项训练"
  23. name="3">
  24. <training v-if="activeStatus[3]" />
  25. </el-tab-pane>
  26. </el-tabs>
  27. </div>
  28. </div>
  29. </template>
  30. <script>
  31. import banner from './components/banner'
  32. import activity from './components/activity'
  33. import information from './components/information'
  34. import training from './components/training'
  35. export default {
  36. components: { banner, activity, information, training },
  37. name: 'contentManager',
  38. data () {
  39. return {
  40. activeName: "0",
  41. activeStatus: [true, false, false, false]
  42. }
  43. },
  44. created () {
  45. let type = this.$route.query.type
  46. if (type != null) {
  47. this.activeName = type.toString()
  48. this.activeStatus[type] = true
  49. }
  50. },
  51. methods: {
  52. handleClick (val, event) {
  53. this.activeName = val.name
  54. this.activeStatus[val.name] = true
  55. }
  56. }
  57. }
  58. </script>
  59. <style lang="scss">
  60. </style>