index.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <div id="index">
  3. <admin-frame :useTop="false" :usePage="false" :useNav="false">
  4. <template v-slot:info>
  5. <van-col span="24" class="menu" v-for="(i, index) in menu" :key="index" @click.native="$router.push(i.router)">
  6. {{ i.label }}
  7. </van-col>
  8. </template>
  9. </admin-frame>
  10. </div>
  11. </template>
  12. <script>
  13. import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
  14. import { mapState, createNamespacedHelpers } from 'vuex';
  15. export default {
  16. name: 'index',
  17. props: {},
  18. components: {
  19. adminFrame,
  20. },
  21. data: function () {
  22. return {
  23. menu: [
  24. {
  25. label: '学术交流-社会服务活动',
  26. router: '/learning/sociology/index',
  27. },
  28. {
  29. label: '学术交流-技术服务活动',
  30. router: '/learning/technology/index',
  31. },
  32. {
  33. label: '学术交流-科普活动',
  34. router: '/learning/science/index',
  35. },
  36. {
  37. label: '学术交流-分析/建议/决策/咨询报告',
  38. router: '/learning/report/index',
  39. },
  40. ],
  41. };
  42. },
  43. async created() {},
  44. methods: {},
  45. computed: {
  46. ...mapState(['user']),
  47. },
  48. metaInfo() {
  49. return { title: this.$route.meta.title };
  50. },
  51. watch: {
  52. test: {
  53. deep: true,
  54. immediate: true,
  55. handler(val) {},
  56. },
  57. },
  58. };
  59. </script>
  60. <style lang="less" scoped>
  61. .menu {
  62. border: 1px dashed #ccc;
  63. margin: 0 0 10px 0;
  64. padding: 10px;
  65. }
  66. </style>