|
@@ -6,7 +6,7 @@ import { useRouter } from "vue-router";
|
|
|
import FullScreen from "./fullScreen.vue";
|
|
|
import { isAllEmpty } from "@pureadmin/utils";
|
|
|
import { useNav } from "@/layout/hooks/useNav";
|
|
|
-import { ref, toRaw, watch, onMounted, nextTick } from "vue";
|
|
|
+import { ref, toRaw, watch, onMounted, nextTick, computed } from "vue";
|
|
|
import { useRenderIcon } from "@/components/ReIcon/src/hooks";
|
|
|
import { getParentPaths, findRouteByPath } from "@/router/utils";
|
|
|
import { usePermissionStoreHook } from "@/store/modules/permission";
|
|
@@ -17,12 +17,24 @@ const router = useRouter();
|
|
|
const menuRef = ref();
|
|
|
// 过滤父级菜单
|
|
|
const menuActiveRef = ref([]);
|
|
|
-usePermissionStoreHook().wholeMenus.forEach(item => {
|
|
|
- if (item.meta.filterMenu) {
|
|
|
- } else {
|
|
|
- menuActiveRef.value.push(item);
|
|
|
- }
|
|
|
-});
|
|
|
+const menuNew = computed(() => usePermissionStoreHook().wholeMenus);
|
|
|
+watch(
|
|
|
+ menuNew,
|
|
|
+ newVal => {
|
|
|
+ usePermissionStoreHookList(newVal);
|
|
|
+ },
|
|
|
+ { deep: true }
|
|
|
+);
|
|
|
+const usePermissionStoreHookList = (arr = []) => {
|
|
|
+ const list = arr && arr.length ? arr : usePermissionStoreHook().wholeMenus;
|
|
|
+ list.forEach(item => {
|
|
|
+ if (item.meta.filterMenu) {
|
|
|
+ } else {
|
|
|
+ menuActiveRef.value.push(item);
|
|
|
+ }
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
// -
|
|
|
const defaultActive = ref(null);
|
|
|
|
|
@@ -51,6 +63,7 @@ const nameData = ref();
|
|
|
onMounted(() => {
|
|
|
getDefaultActive(route.path);
|
|
|
nameData.value = localStorage.getItem("userName");
|
|
|
+ usePermissionStoreHookList();
|
|
|
// console.log("route.path", usePermissionStoreHook().wholeMenus);
|
|
|
});
|
|
|
|
|
@@ -124,7 +137,9 @@ const open = () => {
|
|
|
<!-- <img :src="userAvatar" :style="avatarsStyle" /> -->
|
|
|
<!-- <p v-if="username" class="dark:text-white">{{ username }}</p> -->
|
|
|
<p v-if="nameData" class="icon-img">
|
|
|
- <el-icon><Avatar /></el-icon>
|
|
|
+ <el-icon>
|
|
|
+ <Avatar />
|
|
|
+ </el-icon>
|
|
|
</p>
|
|
|
<p class="ml-0.5">{{ nameData }}</p>
|
|
|
</span>
|
|
@@ -196,7 +211,9 @@ const open = () => {
|
|
|
// border: 1px solid red;
|
|
|
// height: 30px;
|
|
|
margin-right: 10px;
|
|
|
- font-size: 12px !important; /* 修改菜单项的字体大小 */
|
|
|
+ font-size: 12px !important;
|
|
|
+
|
|
|
+ /* 修改菜单项的字体大小 */
|
|
|
text-align: center;
|
|
|
}
|
|
|
|