From 6dde1e41c03698fd5520f8bf5abb55173b060d51 Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期二, 12 十二月 2023 18:50:34 +0800
Subject: [PATCH] 新增无权限展示页

---
 src/assets/img/noJurisdiction.png                     |    0 
 src/views/NoData/index.vue                            |   62 ++++++++++++++++++++
 vue.config.js                                         |    6 +
 src/components/layout/components/appsidebar/index.vue |   39 ++++++-------
 src/router/index.js                                   |   12 ++++
 src/api/menus/index.js                                |   10 +++
 6 files changed, 107 insertions(+), 22 deletions(-)

diff --git a/src/api/menus/index.js b/src/api/menus/index.js
new file mode 100644
index 0000000..79af122
--- /dev/null
+++ b/src/api/menus/index.js
@@ -0,0 +1,10 @@
+import request from "@/common/untils/request.js"
+
+// 宸︿晶鑿滃崟
+export function getMenuTreeByRole(data) {
+  return request({
+    url: "/api/menu/getMenuTreeByRole",
+    method: "get",
+    data
+  })
+}
\ No newline at end of file
diff --git a/src/assets/img/noJurisdiction.png b/src/assets/img/noJurisdiction.png
new file mode 100644
index 0000000..9e6f432
--- /dev/null
+++ b/src/assets/img/noJurisdiction.png
Binary files differ
diff --git a/src/components/layout/components/appsidebar/index.vue b/src/components/layout/components/appsidebar/index.vue
index 96653ac..53edca9 100644
--- a/src/components/layout/components/appsidebar/index.vue
+++ b/src/components/layout/components/appsidebar/index.vue
@@ -16,47 +16,44 @@
         text-color="#bfcbd9"
         active-text-color="#fff"
       >
-        <el-submenu index="1">
+        <el-submenu v-for="item in menus" :key="item.id" :index="item.id">
           <template slot="title">
             <i class="el-icon-money icon"></i>
-            <span>渚涘簲鍟嗙鐞�</span>
+            <span>{{item.title}}</span>
           </template>
-          <el-menu-item index="/supplierManage/supplier">渚涘簲鍟�</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-submenu index="2">
-          <template slot="title">
-            <i class="el-icon-phone-outline icon"></i>
-            <span>閲囪喘绠$悊</span>
-          </template>
-          <el-menu-item index="/purchaseManage/purchase">閲囪喘璁㈠崟</el-menu-item>
-          <!-- <el-menu-item index="/purchaseManage/quality">閲囪喘璐ㄦ鍗�</el-menu-item> -->
-          <!-- <el-menu-item index="/purchaseManage/warehouse">閲囪喘鍏ュ簱鍗�</el-menu-item> -->
-          <!-- <el-menu-item index="/purchaseManage/returned">閲囪喘閫�璐у崟</el-menu-item> -->
-        </el-submenu>
-        <el-submenu index="3">
-          <template slot="title">
-            <i class="el-icon-service icon"></i>
-            <span>浜у搧绠$悊</span>
-          </template>
-          <el-menu-item index="/productManage/product">浜у搧绠$悊</el-menu-item>
-        </el-submenu>
+        
       </el-menu>
     </div>
   </div>
 </template>
 
 <script>
+import {getMenuTreeByRole} from "@/api/menus/index"
 export default {
   name: "AppSidebar",
   props: {},
   data() {
-    return {}
+    return {
+      menus:[]
+    }
   },
   watch: {},
   created() {
     this.initNavMenu()
+    this.getMenuTreeByRole()
   },
   methods: {
+    getMenuTreeByRole(){
+      getMenuTreeByRole().then((res)=>{
+        res.data.list.map((item)=>{
+          if(item.systemType===4){
+            this.menus=item.menus
+          }
+        })
+      })
+    },
     // 鐩戝惉璺敱
     initNavMenu() {
       // console.log(this.$route.name)
diff --git a/src/router/index.js b/src/router/index.js
index 4834a64..c98cba4 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -12,8 +12,20 @@
 const purchaseManage = (resolve) => require(["@/views/purchaseManage/index"], resolve)
 const productManage = (resolve) => require(["@/views/productManage/index"], resolve)
 const PreviewFile = (resolve) => require(["@/views/supplierManage/supplier/PreviewFile"], resolve)
+const noData = (resolve) => require(["@/views/NoData/index"], resolve)
+
 
 export const routes = [
+  // 鏃犳暟鎹〉闈�
+  {
+    path: "/",
+    name: "NoData",
+    meta: {
+      title: "",
+      auth: true,
+    },
+    component: noData,
+  },
   {
     path: "supplierManage", // 渚涘簲鍟嗙鐞�
     name: "supplierManage",
diff --git a/src/views/NoData/index.vue b/src/views/NoData/index.vue
new file mode 100644
index 0000000..1a7d65f
--- /dev/null
+++ b/src/views/NoData/index.vue
@@ -0,0 +1,62 @@
+<template>
+  <d2-container>
+    <div class="content">
+      <el-empty :image="require('@/assets/img/noJurisdiction.png')" description="鎮ㄥ皻鏈幏寰楄闂潈闄愩��">
+        <p>璇锋偍鑱旂郴涓昏处鍙风櫥褰曡闂帶鍒讹紝涓烘偍鎺堜簣鏈嶅姟鐨勭浉鍏虫潈闄愩��</p>
+      </el-empty>
+    </div>
+  </d2-container>
+</template>
+
+<script>
+
+export default {
+  name: "NoData",
+  components: {
+  },
+  
+  computed: {
+   
+  },
+  data() {
+    return {
+     
+    };
+  },
+  mounted() {},
+  methods: {
+    
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+
+// 鏄剧ず鍒楄〃
+.content {
+  width: 100%;
+  height:100%;
+  min-height: 300px;
+  overflow: hidden;
+  background:#fff;
+  padding:30px 0;
+  border-radius: 4px;
+  .el-empty{
+    width: 100%;
+    height:calc(100% - 280px);
+    p{
+      margin: 0;
+      font-size: 14px;
+      color: #909399;
+    }
+  }
+}
+
+::v-deep .el-empty__bottom{
+  margin: 0 !important;
+}
+::v-deep .el-empty__description{
+  margin: 0 !important;
+
+}
+</style>
diff --git a/vue.config.js b/vue.config.js
index b48fa64..d8343db 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -13,12 +13,16 @@
   productionSourceMap: false, // 濡傛灉浣犱笉闇�瑕佺敓浜х幆澧冪殑source map, 鍙互灏嗗叾璁剧疆涓篺alse 浠ュ姞閫熺敓浜х幆澧冩瀯寤�
   devServer: {
     proxy: {
+      "/api/menu":{
+        target:"http://192.168.20.119:8001",
+        ws: true,
+        changeOrigin: true
+      },
       "/api": {
 
         // target: "http://192.168.20.118:8889", // http://192.168.20.119:8002 http://fai365.com:30150/
         // target: "http://192.168.20.120:8004", 
         target: "http://192.168.20.119:8004", // http://192.168.20.119:8004 http://fai365.com:30150/
-
         ws: true,
         changeOrigin: true
       }

--
Gitblit v1.8.0