From df7f58f8141e97b90627e3725f12cf62a8920e94 Mon Sep 17 00:00:00 2001
From: 叶松 <2217086471@qq.com>
Date: 星期三, 06 十二月 2023 16:16:15 +0800
Subject: [PATCH] 大屏修改

---
 web/src/views/LayoutIndex/components/LayoutAside.vue |  198 ++++++++++++++++++++++++-------------------------
 1 files changed, 97 insertions(+), 101 deletions(-)

diff --git a/web/src/views/LayoutIndex/components/LayoutAside.vue b/web/src/views/LayoutIndex/components/LayoutAside.vue
index 8d29a32..097dbf4 100644
--- a/web/src/views/LayoutIndex/components/LayoutAside.vue
+++ b/web/src/views/LayoutIndex/components/LayoutAside.vue
@@ -1,72 +1,44 @@
 <!-- 导航菜单 -->
 <template>
   <div class="menu_index">
-    <el-menu
-      unique-opened
-      :default-active="$route.path"
-      class="el-menu-vertical-demo"
-      background-color="transparent"
-      text-color="#EAEAEA"
-      @select="changeRouter">
-        <template v-for="item in routerList">
-          <template v-if="item.children && item.children.length > 1">
-            <el-submenu :key="item.name" :index="item.path">
-              <template slot="title">
-                <span>{{item.meta.title}}</span>
-              </template>
-              <!-- <template v-for="items in item.children">
-                <el-menu-item :index="items.path" :key="items.name">{{items.meta.title}}</el-menu-item>
-              </template> -->
+    <el-menu unique-opened :default-active="$route.path" class="el-menu-vertical-demo" background-color="transparent"
+      text-color="#EAEAEA" @select="changeRouter">
+      <template v-for="(item, index) in  routerList">
 
-
-              <template v-for="three in item.children">
-                <template v-if="three.children && three.children.length > 1">
-                  <el-submenu :key="three.name" :index="three.path" class="titles_two">
-                    <template slot="title">
-                      <span>{{three.meta.title}}</span>
-                    </template>
-                    <template v-for="items in three.children">
-                      <el-menu-item :index="items.path" :key="items.name">{{items.meta.title}}</el-menu-item>
-                    </template>
-                  </el-submenu>
-                </template>
-                <template v-else-if="three.children && three.children.length === 1">
-                  <el-submenu :key="three.name" :index="three.path">
-                    <template slot="title">
-                      <span>{{three.meta.title}}</span>
-                    </template>
-                    <el-menu-item :index="three.children[0].path" :key="three.children[0].name">{{three.children[0].meta.title}}</el-menu-item>
-                  </el-submenu>
-                  <!-- <el-menu-item :index="three.children[0].path" :key="three.children[0].name">
-                    <span slot="title">{{three.children[0].meta.title}}</span>
-                  </el-menu-item> -->
-                </template>
-                <template v-else>
-                  <el-menu-item :index="three.path" :key="three.name">
-                    <span slot="title">{{three.meta.title}}</span>
+        <template v-if="item.children && item.children.length >= 1">
+          <el-submenu :key="item.name" :index="item.path">
+            <template slot="title">
+              <i class="icon"><img :src="menuIcons[index] ? menuIcons[index] : menuIcons[0]"></i>
+              <span>{{ item.meta.title }}</span>
+            </template>
+            <template v-for=" three  in  item.children ">
+              <template v-if="three.children && three.children.length >= 1">
+                <el-submenu :key="three.name" :index="three.path" class="titles_two">
+                  <template slot="title">
+                    <span>{{ three.meta.title }}</span>
+                  </template>
+                  <el-menu-item class="three-menu-item" v-for=" items in three.children " :index="items.path"
+                    :key="items.name">
+                    {{ items.meta.title }}
                   </el-menu-item>
-                </template>
+                </el-submenu>
               </template>
-
-
-            </el-submenu>
-          </template>
-
-
-
-
-
-          <template v-else-if="item.children && item.children.length === 1">
-            <el-menu-item :index="item.children[0].path" :key="item.children[0].name">
-              <span slot="title">{{item.children[0].meta.title}}</span>
-            </el-menu-item>
-          </template>
-          <template v-else>
-            <el-menu-item :index="item.path" :key="item.name">
-              <span slot="title">{{item.meta.title}}</span>
-            </el-menu-item>
-          </template>
+              <template v-else>
+                <el-menu-item class="two-menu-item" :index="three.path" :key="three.name">
+                  <span slot="title">{{ three.meta.title }}</span>
+                </el-menu-item>
+              </template>
+            </template>
+          </el-submenu>
         </template>
+
+        <template v-else>
+          <el-menu-item :index="item.path" :key="item.name">
+            <span slot="title" >{{ item.meta.title }}</span>
+          </el-menu-item>
+        </template>
+
+      </template>
     </el-menu>
   </div>
 </template>
@@ -77,7 +49,21 @@
   data() {
     return {
       routerList: [], // 导航栏数据
+      menuIcons: []
     };
+  },
+  created() {
+    this.menuIcons = [
+      require('@/assets/icon/icon0.png'),
+      require('@/assets/icon/icon1.png'),
+      require('@/assets/icon/icon2.png'),
+      require('@/assets/icon/icon3.png'),
+      require('@/assets/icon/icon4.png'),
+      require('@/assets/icon/icon5.png'),
+      require('@/assets/icon/icon6.png'),
+      require('@/assets/icon/icon7.png'),
+      require('@/assets/icon/icon8.png'),
+    ]
   },
   mounted() {
     this.routerList = this.$router.options.routes
@@ -86,7 +72,7 @@
     // 切换路由
     changeRouter(path) {
       this.$router.push(path).catch(err => {
-        console.log(err,"--");
+        console.log(err, "--");
       })
     }
   },
@@ -97,66 +83,76 @@
 .menu_index {
   height: 100%;
   overflow-y: auto;
-  border-top: 1px solid rgba(57,181,254,0.16);
-  
+  border-top: 1px solid rgba(57, 181, 254, 0.16);
+
+  .icon {
+    display: inline-block;
+    vertical-align: middle;
+    margin-right: 5px;
+    width: 24px;
+    text-align: center;
+
+    img {
+      width: 65%;
+    }
+  }
 
   &::-webkit-scrollbar {
     width: 4px;
   }
-
-  &::-webkit-scrollbar-thumb {
-      border-radius: 10px;
-      box-shadow: inset 0 0 5px transparent;
-      background: rgba(57, 181, 254, .6);
-  }
-
-  &::-webkit-scrollbar-track {
-      box-shadow: inset 0 0 5px transparent;
-      border-radius: 10px;
-      background: rgba(57, 181, 254, .5) 5%,;
-  }
 }
 
-.titles_two{
-  padding-left: 15px;
+.titles_two {
+  text-indent: 30px;
+
+  /deep/ .el-menu {
+    padding: 14px 0;
+    background: rgba(33, 83, 139, .75) !important;
+  }
 }
 
 /deep/ .el-menu {
   border-right: 0;
 }
 
-/deep/ .el-submenu .el-menu-item {
-  height: 40px;
-  line-height: 40px;
+/deep/ .three-menu-item {
+  padding-left: 50px !important;
+  height: 45px;
+  line-height: 45px;
+}
+
+/deep/ .two-menu-item {
+  height: 45px;
+  text-indent: 20px;
+  line-height: 45px;
 }
 
 /deep/ .el-menu-item.is-active {
-  padding-left: 45px!important;
   position: relative;
-  margin-left: 10px;
-  color: #3DC8FF;
+  color: #EAEAEA;
   border-radius: 3px;
-  background: linear-gradient(
-  90deg, 
-  rgba(57, 181, 254, .5) 5%,
-  transparent 95%) !important;
+  background: linear-gradient(90deg, rgba(57, 181, 254, .5) 5%, rgba(57, 181, 254, .1) 100%) !important;
 
-    &::before {
-      content: '';
-      position: absolute;
-      top: 50%;
-      left: 0;
-      transform: translateY(-50%);
-      width: 4px;
-      height: 100%;
-      background: #3DC8FF;
-      border-radius: 3px 0 0 3px;
-    }
+  &::before {
+    content: '';
+    position: absolute;
+    top: 50%;
+    left: 0;
+    transform: translateY(-50%);
+    width: 4px;
+    height: 100%;
+    background: #3DC8FF;
+    border-radius: 3px 0 0 3px;
+  }
+}
+
+.three_item {
+  background: #0B5274 !important;
 }
 
 /deep/ .el-submenu .el-submenu__title:hover {
   color: #3DC8FF;
-  background: rgba(57,181,254,0.7) !important;
+  background: rgba(57, 181, 254, 0.7) !important;
 }
 
 /deep/ .el-menu-item:hover {

--
Gitblit v1.9.3