Pārlūkot izejas kodu

Merge branch 'dev4.0' into debug

shanbinzhang 5 dienas atpakaļ
vecāks
revīzija
e313d13532

+ 7 - 1
src/layout/Index.vue

@@ -18,6 +18,8 @@ async function init() {
 	menu.value = res||[];
 	if(menu.value.length) {
 		router.replace(menu.value[0].path)
+	}else {
+		router.replace('/login')
 	}
 }
 init()
@@ -45,6 +47,10 @@ async function handleLoginOut(){
 	router.replace('/login')
 }
 
+function handleJumpCollect() {
+	let path = menu.value[0].path === '/etaReport/index' ? '/etaReport/favorite' : '/etaChart/favorite';
+	router.push(path)
+}
 </script>
 
 <template>
@@ -54,7 +60,7 @@ async function handleLoginOut(){
       	<img class="logo" src="@/assets/imgs/logo.png" alt="" />
 				<Aslide v-if="isShowAslide" :menu="menu"/>
 			</div>
-			<div class="fav-btn" @click="$router.push('/etaChart/favorite')">{{menu.length ? '我的收藏':''}}</div>
+			<div class="fav-btn" @click="handleJumpCollect">{{menu.length ? '我的收藏':''}}</div>
       <t-popup placement="bottom-left" overlayInnerClassName="header-userInfo-pop-wrap">
 				<template #content>
 					<div class="content">

+ 25 - 3
src/views/user/favorite/components/CollectAslide.vue

@@ -1,25 +1,47 @@
 <script setup>
 import { ref } from 'vue'
 import { useRouter,useRoute } from 'vue-router'
+import { usePermissionMenu } from '@/hooks/usePermissionMenu'
 
 const route = useRoute()
 const router = useRouter()
 
+const { getPermissionMenu } = usePermissionMenu()
+
 const emit = defineEmits(['change'])
 
 const menu = [
   {  
     title: 'ETA图库',
     path: '/etaChart/favorite',
-    icon:'chart'
+    icon:'chart',
+    menu_map: '/etaChart/index'
   },
   {  
     title: 'ETA研报',
     path: '/etaReport/favorite',
-    icon:'report'
+    icon:'report',
+    menu_map: '/etaReport/index'
   },
 ]
 const activeMenu = ref(route.path)
+watch(() => route.path,
+  (newpath) => {
+    activeMenu.value = newpath
+  }
+)
+
+const permissionMenu = ref([])
+async function init() {
+	const res = await getPermissionMenu()
+  const arr = res || [];
+	if(arr.length) {
+    let pathArr = arr.map(_ => _.path);
+    permissionMenu.value = menu.filter(_=>pathArr.includes(_.menu_map));
+    router.replace(permissionMenu.value[0].path)
+	}
+}
+init()
 
 function handleClickItem(value) {
   router.push(value)
@@ -28,7 +50,7 @@ function handleClickItem(value) {
 <template>
 <div class="left-aslide">
   <t-menu v-model="activeMenu" theme="light" @change="handleClickItem" width="200px">
-    <t-menu-item :value="item.path" v-for="item in menu" :key="item.path">
+    <t-menu-item :value="item.path" v-for="item in permissionMenu" :key="item.path">
       <svg-icon 
         :name="item.icon"
         style="font-size:20px;margin-right:10px;"