From 23811de7f45e5c40136be9dd072b448334db3e66 Mon Sep 17 00:00:00 2001 From: zuozhengqing <a13193816592@163.com> Date: 星期二, 12 十二月 2023 18:52:05 +0800 Subject: [PATCH] 新增无权限展示页 --- src/assets/img/noJurisdiction.png | 0 src/common/untils/request.js | 8 +- src/views/NoData/index.vue | 62 ++++++++++++++++++++ vue.config.js | 7 ++ src/components/layout/components/appsidebar/index.vue | 53 +++++++---------- src/router/index.js | 11 +++ src/api/menus/index.js | 10 +++ 7 files changed, 118 insertions(+), 33 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/common/untils/request.js b/src/common/untils/request.js index 9cb4874..0911d0d 100644 --- a/src/common/untils/request.js +++ b/src/common/untils/request.js @@ -33,7 +33,7 @@ prod:`//${window.location.hostname}:9080`, test:`//192.168.20.119:9080`, // 鎯宠烦鍒版湰鍦板惎鍔ㄧ殑鐧诲綍椤电殑璇濋渶瑕佹妸dev鏀规垚浣犳湰鍦伴」鐩矾寰� - dev: `//192.168.20.124:8081` + dev: `//192.168.8.111:8081` } return loginPathMap[environmentType()] @@ -70,7 +70,8 @@ return res } else if([2012,2013,2014,2015].includes(res.data.code)){ if (isDev){ - alert("JWT澶辨晥") + alert("JWT澶辨晥") + window.location = getApsPage()+'/' }else { // JWT閴存潈澶辨晥 璺宠浆鍒扮櫥褰曢〉 window.location = getApsPage()+'/login' @@ -88,7 +89,8 @@ (error) => { if (error.response.status === 401){ if (isDev){ - alert("JWT澶辨晥") + alert("JWT澶辨晥") + window.location = getApsPage()+'/' }else { // JWT閴存潈澶辨晥 璺宠浆鍒扮櫥褰曢〉 window.location = getApsPage()+'/login' diff --git a/src/components/layout/components/appsidebar/index.vue b/src/components/layout/components/appsidebar/index.vue index ddcb6f1..a3e7990 100644 --- a/src/components/layout/components/appsidebar/index.vue +++ b/src/components/layout/components/appsidebar/index.vue @@ -13,41 +13,20 @@ 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="/client/salesLead">閿�鍞嚎绱�</el-menu-item> + <el-menu-item v-for="itm in item.children" :key="itm.id" :index="itm.path">{{ itm.title }}</el-menu-item> + + <!-- <el-menu-item index="/client/salesLead">閿�鍞嚎绱�</el-menu-item> <el-menu-item index="/client/clientManage">瀹㈡埛绠$悊</el-menu-item> <el-menu-item index="/client/contacts">鑱旂郴浜�</el-menu-item> - <el-menu-item index="/client/followupRecords">璺熻繘璁板綍</el-menu-item> + <el-menu-item index="/client/followupRecords">璺熻繘璁板綍</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="/sales/salesOpportunity">閿�鍞満浼�</el-menu-item> - <el-menu-item index="/sales/quotation">鎶ヤ环鍗�</el-menu-item> - <el-menu-item index="/sales/masterOrder">閿�鍞�诲崟</el-menu-item> - <el-menu-item index="/sales/subOrder">閿�鍞瓙鍗�</el-menu-item> - <el-menu-item index="/sales/salesDetails">閿�鍞槑缁嗗崟</el-menu-item> - <el-menu-item index="/sales/salesReturn">閿�鍞��璐у崟</el-menu-item> - <el-menu-item index="/sales/refundForm">閿�鍞��娆惧崟</el-menu-item> - <el-menu-item index="/sales/contractManage">鍚堝悓绠$悊</el-menu-item> - <!-- <el-menu-item index="/sales/generatePlan">鐢熸垚璁″垝</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="/service/serviceContract">鏈嶅姟鍚堝悓</el-menu-item> - <el-menu-item index="/service/clientServiceOrder">瀹㈡埛鏈嶅姟鍗�</el-menu-item> - <el-menu-item index="/service/serviceFollowup">鏈嶅姟鍥炶鍗�</el-menu-item> - <!-- <el-menu-item index="/service/serviceFeeManage">鏈嶅姟鏀惰垂绠$悊</el-menu-item> --> - </el-submenu> + + <!-- <el-submenu index="4"> <template slot="title"> <i class="el-icon-location"></i> @@ -62,11 +41,14 @@ </template> <script> +import {getMenuTreeByRole} from "@/api/menus/index" export default { name: "AppSidebar", props: {}, data() { - return {} + return { + menus:[] + } }, watch: { // $route: { @@ -76,8 +58,19 @@ }, created() { this.initNavMenu() + this.getMenuTreeByRole() }, methods: { + getMenuTreeByRole(){ + getMenuTreeByRole().then((res)=>{ + console.log(res.data.list,"crm鑿滃崟") + res.data.list.map((item)=>{ + if(item.systemType===2){ + this.menus=item.menus + } + }) + }) + }, // 鐩戝惉璺敱 initNavMenu() { // console.log(this.$route.name) diff --git a/src/router/index.js b/src/router/index.js index a0c59c8..8f17f9d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -12,9 +12,20 @@ const client = (resolve) => require(["@/views/client/index"], resolve) const sales = (resolve) => require(["@/views/sales/index"], resolve) const service = (resolve) => require(["@/views/service/index"], resolve) +const noData = (resolve) => require(["@/views/NoData/index"], resolve) // const background = (resolve) => require(["@/views/backgroundConfig/index"], resolve) export const routes = [ + // 鏃犳暟鎹〉闈� + { + path: "/", + name: "NoData", + meta: { + title: "", + auth: true, + }, + component: noData, + }, { path: "client", // 瀹㈡埛绠$悊 name: "client", 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 83bffdf..d13a119 100644 --- a/vue.config.js +++ b/vue.config.js @@ -13,6 +13,13 @@ productionSourceMap: false, // 濡傛灉浣犱笉闇�瑕佺敓浜х幆澧冪殑source map, 鍙互灏嗗叾璁剧疆涓篺alse 浠ュ姞閫熺敓浜х幆澧冩瀯寤� devServer: { proxy: { + "/api/menu":{ + target: "http://192.168.20.119:8001", // http://192.168.20.119:8002 http://fai365.com:30150/ + // 寤洪亾鏈湴鐜 + // target: "http://192.168.20.118:8002", + ws: true, + changeOrigin: true + }, "/api": { target: "http://192.168.20.119:8002", // http://192.168.20.119:8002 http://fai365.com:30150/ // 寤洪亾鏈湴鐜 -- Gitblit v1.8.0