From fe87d39adb4e995ccf96a45b142ae026c3cf5eae Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期三, 13 十二月 2023 18:10:09 +0800
Subject: [PATCH] 配置路由守卫导航重定向

---
 src/components/layout/components/appsidebar/index.vue |   59 +++++++++++++++++++++++++----------------------------------
 1 files changed, 25 insertions(+), 34 deletions(-)

diff --git a/src/components/layout/components/appsidebar/index.vue b/src/components/layout/components/appsidebar/index.vue
index 7c6cca3..a6c02f3 100644
--- a/src/components/layout/components/appsidebar/index.vue
+++ b/src/components/layout/components/appsidebar/index.vue
@@ -3,7 +3,7 @@
   <div class="app-sidebar">
     <div class="box">
       <div class="logo-view">
-        <el-image :src="require('@/assets/logo.png')"></el-image>
+        <!-- <el-image :src="require('@/assets/logo.png')"></el-image> -->
       </div>
       <el-menu
         router
@@ -16,40 +16,13 @@
         text-color="#bfcbd9"
         active-text-color="#fff"
       >
-        <el-menu-item index="/overview">
-          <template slot="title">
-            <i class="el-icon-bank-card icon"></i>
-            <span>姒傝堪</span>
-          </template>
-          <!-- <el-menu-item index="/supplierManage/supplier">渚涘簲鍟�</el-menu-item> -->
-        </el-menu-item>
-        <el-submenu index="2">
+
+        <el-submenu  v-for="item in menus" :key="item.id" :index="item.id.toString()">
           <template slot="title">
             <i class="el-icon-s-grid icon"></i>
-            <span>浜у搧</span>
+            <span>{{ item.title }}</span>
           </template>
-          <el-menu-item index="/productManage/product">浜у搧</el-menu-item>
-          <el-menu-item index="/productManage/productCategory">浜у搧绫诲埆</el-menu-item>
-        </el-submenu>
-        <el-submenu index="3">
-          <template slot="title">
-            <i class="el-icon-setting icon"></i>
-            <span>鎿嶄綔</span>
-          </template>
-          <!-- <el-menu-item index="/productManage/product">琛ヨ揣</el-menu-item>
-          <el-menu-item index="/productManage/product">搴撳瓨璋冩暣</el-menu-item> -->
-          <el-menu-item index="/operate/allot">璋冩嫧</el-menu-item>
-          <el-menu-item index="/operate/scrap">鎶ュ簾</el-menu-item>
-        </el-submenu>
-        <el-submenu index="4">
-          <template slot="title">
-            <i class="el-icon-box icon"></i>
-            <span>浠撳簱绠$悊</span>
-          </template>
-          <el-menu-item index="/productManage/product">浠撳簱</el-menu-item>
-          <el-menu-item index="/productManage/product">浣嶇疆</el-menu-item>
-          <el-menu-item index="/productManage/product">涓氬姟绫诲瀷</el-menu-item>
-          <!-- <el-menu-item index="/productManage/product">涓婃灦瑙勫垯</el-menu-item> -->
+          <el-menu-item v-for="itm in item.children" :key="itm.id" :index="itm.path">{{ itm.title }}</el-menu-item>
         </el-submenu>
       </el-menu>
     </div>
@@ -57,23 +30,41 @@
 </template>
 
 <script>
+import { getMenuTreeByRole } from "@/api/menus/index"
+import { mapMutations } from "vuex"
 export default {
   name: "AppSidebar",
   props: {},
   data() {
-    return {}
+    return {
+      menus: []
+    }
   },
   watch: {},
   created() {
     this.initNavMenu()
+    this.getMenuTreeByRole()
+  },
+  computed: {
+    // ...mapState(['menus']),
   },
   methods: {
+    ...mapMutations(["setMenus"]),
+    getMenuTreeByRole() {
+      getMenuTreeByRole().then((res) => {
+        res.data.list.map((item) => {
+          if (item.systemType === 3) {
+            this.menus = item.menus
+          }
+        })
+      })
+    },
     // 鐩戝惉璺敱
     initNavMenu() {
       // console.log(this.$route.name)
     },
     handleOpen(index) {
-      console.log(index)
+      console.log(index, "menuIndex")
     },
     handleClose() {}
   }

--
Gitblit v1.8.0