|
@@ -1,38 +1,50 @@
|
|
|
<template>
|
|
|
<div id="mainLeft">
|
|
|
<el-row>
|
|
|
- <el-col :span="24" class="mainLeft">
|
|
|
- <el-col :span="24" class="info" v-for="(item, index) in mainLeftList" :key="index" :type="item.type">
|
|
|
- <el-link :underline="false">
|
|
|
- <span class="title">{{item.title}}</span>
|
|
|
- </el-link>
|
|
|
- </el-col>
|
|
|
- </el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-menu default-active="2" class="el-menu-vertical-demo">
|
|
|
- <el-menu-item index="1">科技要闻</el-menu-item>
|
|
|
- <el-menu-item index="2">学术资讯</el-menu-item>
|
|
|
- <el-menu-item index="3">工作动态</el-menu-item>
|
|
|
- </el-menu>
|
|
|
+ <el-menu :default-active="path" class="el-menu-vertical-demo" :router="true">
|
|
|
+ <template v-for="(item, index) in subMenu">
|
|
|
+ <el-submenu :index="`${index}`" :key="index" v-if="item.children">
|
|
|
+ <template slot="title">
|
|
|
+ {{ item.title }}
|
|
|
+ </template>
|
|
|
+ <template v-for="(sec,secIndex) in item.children">
|
|
|
+ <el-menu-item :index="sec.path" :key="secIndex+'sec'" v-if="sec.type !== 'url'">{{ sec.title }}</el-menu-item>
|
|
|
+ <el-menu-item :index="``" :key="secIndex+'sec'" @click="turnTo(sec.url)" v-else> {{ sec.title }}</el-menu-item>
|
|
|
+ </template>
|
|
|
+ </el-submenu>
|
|
|
+ <el-menu-item :index="item.path" :key="index" v-else-if="item.type === 'content'||item.type==='column'">{{ item.title }}</el-menu-item>
|
|
|
+ <el-menu-item :index="`${index}-${subIndex}`" :key="index" @click="turnTo(item.url)" v-else> {{ item.title }}</el-menu-item>
|
|
|
+ </template>
|
|
|
+ </el-menu>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { mapActions, mapState } from 'vuex';
|
|
|
+import { mapActions, mapState,mapMutations } from 'vuex';
|
|
|
export default {
|
|
|
name: 'mainLeft',
|
|
|
- props: {
|
|
|
- mainLeftList: null,
|
|
|
- },
|
|
|
+ props: {},
|
|
|
components: {},
|
|
|
data: () => ({}),
|
|
|
- created() {},
|
|
|
+ created() {this.getSubMenu()},
|
|
|
+ watch:{
|
|
|
+ path: 'getSubMenu',
|
|
|
+ },
|
|
|
computed: {
|
|
|
...mapState(['subMenu']),
|
|
|
+ path(){
|
|
|
+ return this.$route.path;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ ...mapMutations(['setSubMenu']),
|
|
|
+ getSubMenu(){
|
|
|
+ this.setSubMenu(this.path);
|
|
|
+ },
|
|
|
},
|
|
|
- methods: {},
|
|
|
};
|
|
|
</script>
|
|
|
|