From e23a1db0b60437f17d09d65c65f8fd0c8a5d88c7 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 26 八月 2024 18:11:07 +0800
Subject: [PATCH] 最新版本

---
 admin/src/components/common/Menu.vue |   70 +++++++++++-----------------------
 1 files changed, 23 insertions(+), 47 deletions(-)

diff --git a/admin/src/components/common/Menu.vue b/admin/src/components/common/Menu.vue
index d11fb80..15f7c56 100644
--- a/admin/src/components/common/Menu.vue
+++ b/admin/src/components/common/Menu.vue
@@ -1,19 +1,15 @@
 <template>
   <div class="menu" :class="{collapse: menuData.collapse}">
-    <div class="logo">
-      <div><img src="@/assets/logo.png"></div>
-      <h1 :class="{hidden: menuData.collapse}">璞嗙背璺宠烦</h1>
-    </div>
     <scrollbar>
-<!--      :default-openeds="defaultOpeneds"-->
       <el-menu
         ref="menu"
-        :unique-opened="true"
         :default-active="activeIndex"
         text-color="#fff"
         active-text-color="#fff"
         :collapse="menuData.collapse"
+        :default-openeds="defaultOpeneds"
         :collapse-transition="false"
+        unique-opened
         @select="handleSelect"
       >
         <MenuItems v-for="menu in menuData.list" :key="menu.index" :menu="menu" :is-root-menu="true"/>
@@ -37,15 +33,20 @@
       if (path.endsWith('/')) {
         path = path.substring(0, path.length - 1)
       }
-      const menuConfig = this.__getMenuConfig(path, 'url', this.menuData.list)
+      const menuConfig = this.__getMenuConfig(path, 'index', this.menuData.list)
       if (menuConfig == null) {
         return null
+      } else {
+        this.$store.commit('pushtags', menuConfig)
       }
+      // console.log(menuConfig.index);
       return menuConfig.index
     },
     // 榛樿灞曞紑鐨勮彍鍗昳ndex
     defaultOpeneds () {
-      return this.menuData.list.map(menu => menu.index)
+      // return this.menuData.list.map(menu => menu.index)
+
+      return [this.menuData.list[0].index]
     }
   },
   methods: {
@@ -54,18 +55,24 @@
       const menuConfig = this.__getMenuConfig(menuIndex, 'index', this.menuData.list)
       // 鎵句笉鍒伴〉闈�
       try {
-        require('@/views' + menuConfig.url)
+          require('@/views' + menuConfig.url)
       } catch (e) {
         this.$tip.error('鏈壘鍒伴〉闈㈡枃浠禓/views' + menuConfig.url + '.vue锛岃妫�鏌ヨ彍鍗曡矾寰勬槸鍚︽纭�')
+        return
       }
       // 鐐瑰嚮褰撳墠鑿滃崟涓嶅仛澶勭悊
-      if (menuConfig.url === this.$route.path) {
+      if (menuConfig.url === this.$route.path && (menuConfig.params ==null || menuConfig.params==undefined || menuConfig.params=='' ||  menuConfig.params === this.$route.query.param)) {
         return
       }
       if (menuConfig.url == null || menuConfig.url.trim().length === 0) {
         return
       }
-      this.$router.push(menuConfig.url)
+      if(menuConfig.params!=null && menuConfig.params!=''){
+        this.$router.push({path:menuConfig.url,query:{index:menuConfig.index,param:menuConfig.params}})
+      }else{
+        this.$router.push(menuConfig.url)
+      }
+      this.$store.commit('pushtags', menuConfig)
     },
     // 鑾峰彇鑿滃崟閰嶇疆
     __getMenuConfig (value, key, menus) {
@@ -92,37 +99,6 @@
   height: 100%;
   display: flex;
   flex-direction: column;
-  // LOGO
-  .logo {
-    height: 60px;
-    flex-shrink: 0;
-    line-height: 60px;
-    overflow: hidden;
-    display: flex;
-    background: $primary-color - 20;
-    padding: 0 16px;
-    & > div {
-      width: 32px;
-      flex-shrink: 0;
-      margin-right: 12px;
-      img {
-        width: 100%;
-        flex-shrink: 0;
-        vertical-align: middle;
-        position: relative;
-        top: -2px;
-      }
-    }
-    h1 {
-      font-size: 16px;
-      font-weight: 500;
-      transition: opacity ease .3s;
-      overflow: hidden;
-      &.hidden {
-        opacity: 0;
-      }
-    }
-  }
 }
 </style>
 <style lang="scss">
@@ -136,11 +112,11 @@
     background: $primary-color;
     // 閫変腑鐘舵��
     &.is-active {
-      background: $primary-color - 40 !important;
+      background: $primary-color-sel !important;
     }
     // 鎮诞
     &:hover {
-      background-color: $primary-color - 12;
+      background-color: $primary-color-hover;
     }
     &:focus {
       background: $primary-color;
@@ -153,13 +129,13 @@
     }
     &.is-active {
       .el-submenu__title{
-        background-color: $primary-color - 20;
+        background-color: $icon-background-color;
       }
       .el-menu .el-menu-item{
-        background-color: $primary-color - 20;
+        background-color: $icon-background-color;
         // 鎮诞
         &:hover {
-          background-color: $primary-color - 30;
+          background-color: $icon-background-color;
         }
       }
     }

--
Gitblit v1.9.3