Преглед на файлове

添加菜单全局变量

DESKTOP-6LTVLN7\Liumouren преди 2 години
родител
ревизия
42d470462d
променени са 4 файла, в които са добавени 20 реда и са изтрити 5 реда
  1. 1 1
      src/components/layout/Header.vue
  2. 7 0
      src/main.js
  3. 8 0
      src/store/index.js
  4. 4 4
      src/views/HomeView.vue

+ 1 - 1
src/components/layout/Header.vue

@@ -64,7 +64,7 @@ export default {
     		index = index.split("-");
     		that.$emit("navSelect",{
     			index:index[0],
-    			subIndec:index[1],
+    			subIndex:index[1],
     			name:name
     		})
     	}

+ 7 - 0
src/main.js

@@ -11,6 +11,13 @@ Vue.config.productionTip = false;
 
 Vue.use(ElementUI)
 
+Vue.prototype.$ifMenu = (menuIndex,subMenuIndex) => {
+  if (store.state.navSelect && store.state.navSelect.index === menuIndex && (subMenuIndex !== "" ? store.state.navSelect.subIndex === subMenuIndex : true)) {
+    return true;
+  } else {
+    return false;
+  }
+};
 new Vue({
   router,
   store,

+ 8 - 0
src/store/index.js

@@ -5,10 +5,18 @@ Vue.use(Vuex)
 
 export default new Vuex.Store({
   state: {
+    navSelect: window.localStorage.getItem("navSelect") || { index: "1", name: "首页", subIndex: "" }
   },
   getters: {
+    getNavSelect(state){
+      return JSON.parse(state.navSelect);
+    }
   },
   mutations: {
+    changeNavSelect(state,navSelect){
+      state.navSelect = navSelect;
+      window.localStorage.setItem("navSelect", JSON.stringify(navSelect));
+    }
   },
   actions: {
   },

+ 4 - 4
src/views/HomeView.vue

@@ -3,7 +3,7 @@
     <MapHolder></MapHolder>
     <Header @navSelect="navSelect"></Header>
     <!-- 左侧菜单列 -->
-    <div id="leftMenus">
+    <div id="leftMenus" v-if="$ifMenu('1','')">
       <MenuCard :type="menus.left[0].type" :title="menus.left[0].title" :boxHeight="menus.left[0].height">
         <template slot="top">
           <TagTableCard :data="tagCardData2" />
@@ -37,7 +37,7 @@
       </MenuCard>
     </div>
     <!-- 中部菜单列 -->
-    <div id="mainMenus">
+    <div id="mainMenus" v-if="$ifMenu('1','')">
       <div id="mainMenus_topLeft">所属街道</div>
       <NewSelect id="mainMenus_topSelect" v-model="streetSelectVal" :options="streetOptions" :value="streetSelectVal" />
       <div id="mainMenus_topRight">
@@ -73,7 +73,7 @@
       </div>
     </div>
     <!-- 右侧菜单列 -->
-    <div id="rightMenus">
+    <div id="rightMenus" v-if="$ifMenu('1','')">
       <MenuCard
         :type="menus.right[0].type"
         :titleWidth="menus.right[0].titleWidth"
@@ -205,7 +205,7 @@ export default {
   },
   methods: {
     navSelect: function (data) {
-      console.log(data);
+      this.$store.commit("changeNavSelect", data);
     },
     clickEvent(type) {
       this.btnChecked = type;