index.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div id="index">
  3. <el-row>
  4. <el-col :span="24" class="style">
  5. <el-col :span="24" class="top">
  6. <topInfo></topInfo>
  7. </el-col>
  8. <el-col :span="24" class="main">
  9. <mainData></mainData>
  10. </el-col>
  11. <el-col :span="24" class="foot">
  12. <footInfo></footInfo>
  13. </el-col>
  14. </el-col>
  15. </el-row>
  16. </div>
  17. </template>
  18. <script>
  19. import topInfo from '@/layout/common/topInfo.vue';
  20. import footInfo from '@/layout/common/footInfo.vue';
  21. import mainData from '@/layout/index/mainData.vue';
  22. import { createNamespacedHelpers, mapGetters } from 'vuex';
  23. const { mapActions: mapStudent } = createNamespacedHelpers('student');
  24. export default {
  25. name: 'index',
  26. props: {},
  27. components: {
  28. topInfo, //头部导航
  29. footInfo, //底部导航
  30. mainData, //课程安排主体
  31. },
  32. data: () => ({}),
  33. created() {
  34. this.searchSite();
  35. },
  36. computed: {},
  37. methods: {
  38. ...mapStudent(['fetch']),
  39. async searchSite() {
  40. const res = await this.fetch('5e4f3d096a90e861b0f30871');
  41. sessionStorage.setItem('site', JSON.stringify(res.data));
  42. },
  43. },
  44. };
  45. </script>
  46. <style lang="less" scoped>
  47. .style {
  48. width: 100%;
  49. min-height: 667px;
  50. position: relative;
  51. background-color: #f9fafc;
  52. }
  53. .top {
  54. height: 46px;
  55. overflow: hidden;
  56. }
  57. .main {
  58. min-height: 570px;
  59. }
  60. .foot {
  61. height: 50px;
  62. overflow: hidden;
  63. }
  64. </style>