index.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <div id="index">
  3. <el-row>
  4. <el-col :span="24" class="main">
  5. <top :siteInfo="siteInfo"><template v-slot:deRight></template></top>
  6. <menus :menuInfo="menuInfo"></menus>
  7. <banner :bannerInfo="bannerInfo"></banner>
  8. <router-view></router-view>
  9. <foot :footInfo="footInfo"></foot>
  10. </el-col>
  11. </el-row>
  12. </div>
  13. </template>
  14. <script>
  15. import top from './top.vue';
  16. import menus from './menus.vue';
  17. import banner from './banner.vue';
  18. import foot from './foot.vue';
  19. const { siteInfo, menuInfo, bannerInfo, footInfo } = require('../../layout/deploy/site');
  20. import { mapState, createNamespacedHelpers } from 'vuex';
  21. export default {
  22. name: 'index',
  23. props: {},
  24. components: { top, menus, banner, foot },
  25. data: function() {
  26. return {
  27. siteInfo: siteInfo,
  28. menuInfo: menuInfo,
  29. bannerInfo: {
  30. info: bannerInfo.info,
  31. list: [
  32. { name: '轮播一', url: require('../../assets/banner.png') },
  33. { name: '轮播二', url: require('../../assets/banner.png') },
  34. { name: '轮播二', url: require('../../assets/banner.png') },
  35. ],
  36. },
  37. footInfo: footInfo,
  38. };
  39. },
  40. created() {},
  41. methods: {},
  42. computed: {
  43. ...mapState(['user']),
  44. },
  45. metaInfo() {
  46. return { title: this.$route.meta.title };
  47. },
  48. watch: {
  49. test: {
  50. deep: true,
  51. immediate: true,
  52. handler(val) {},
  53. },
  54. },
  55. };
  56. </script>
  57. <style lang="less" scoped></style>