index.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <div class="page">
  3. <header-list @handleClick="switchTab"></header-list>
  4. <div class="content">
  5. <!-- 装修案例 -->
  6. <template v-if="activeIndex === '1'">
  7. <case-filter style="width: 100%; height: 100%;"></case-filter>
  8. </template>
  9. <!-- 装修指南 -->
  10. <template v-else-if="activeIndex === '2'">
  11. <guidebook style="width: 100%; height: 100%;"></guidebook>
  12. </template>
  13. <!-- 视频讲装修 -->
  14. <template v-else-if="activeIndex === '3'">
  15. <video-module style="width: 100%; height: 100%;"></video-module>
  16. </template>
  17. <!-- 业主口碑 -->
  18. <template v-else>
  19. <evaluate style="width: 100%; height: 100%;"></evaluate>
  20. </template>
  21. </div>
  22. </div>
  23. </template>
  24. <script>
  25. import headerList from "@/components/header-list.vue";
  26. import caseFilter from "@/components/case-filter.vue";
  27. import guidebook from "@/components/guidebook.vue";
  28. import videoModule from "@/components/video-module.vue";
  29. import evaluate from "@/components/evaluate.vue";
  30. export default {
  31. components: {
  32. headerList,
  33. caseFilter,
  34. guidebook,
  35. videoModule,
  36. evaluate,
  37. },
  38. data() {
  39. return {
  40. activeIndex: "1",
  41. };
  42. },
  43. mounted() {
  44. let active = sessionStorage.getItem("main-active");
  45. this.activeIndex = active ? active : "1";
  46. },
  47. methods: {
  48. switchTab(command) {
  49. this.activeIndex = command;
  50. sessionStorage.setItem("main-active", command);
  51. },
  52. },
  53. };
  54. </script>
  55. <style scoped>
  56. * {
  57. font-family: PingFangSC-Regular, PingFang SC;
  58. }
  59. .page {
  60. width: 100%;
  61. height: 100vh;
  62. display: flex;
  63. flex-direction: column;
  64. }
  65. .content {
  66. flex: 1;
  67. overflow-y: scroll;
  68. }
  69. </style>