修改 ui 包结构.

This commit is contained in:
lijiahang
2023-07-29 13:11:19 +08:00
parent 900cd1c1d7
commit 5bee3b98a7
28 changed files with 149 additions and 365 deletions

View File

@@ -5,7 +5,6 @@ import { useAppStore } from '@/store';
import { cloneDeep } from 'lodash';
export default function useMenuTree() {
const permission = usePermission();
const appStore = useAppStore();
const appRoute = computed(() => {
return appStore.appAsyncMenus;
@@ -20,39 +19,40 @@ export default function useMenuTree() {
if (!_routes) return null;
const collector: any = _routes.map((element) => {
// no access
if (!permission.accessRouter(element)) {
return null;
}
// leaf node
// 隐藏子目录
if (element.meta?.hideChildrenInMenu || !element.children) {
element.children = [];
return element;
if (element.meta?.hideInMenu) {
// 如果隐藏菜单 则不显示
return null;
} else {
return element;
}
}
// route filter hideInMenu true
// 过滤不显示的菜单
element.children = element.children.filter(
(x) => x.meta?.hideInMenu !== true
);
// Associated child node
// 关联子节点
const subItem = travel(element.children, layer + 1);
if (subItem.length) {
element.children = subItem;
return element;
}
// the else logic
// 第二层 (子目录)
if (layer > 1) {
element.children = subItem;
return element;
}
// 是否隐藏目录
if (element.meta?.hideInMenu === false) {
return element;
}
return null;
});
return collector.filter(Boolean);

View File

@@ -185,9 +185,8 @@
</template>
<script lang="ts" setup>
import { computed, ref, inject } from 'vue';
import { Message } from '@arco-design/web-vue';
import { useDark, useToggle, useFullscreen } from '@vueuse/core';
import { computed, inject, ref } from 'vue';
import { useDark, useFullscreen, useToggle } from '@vueuse/core';
import { useAppStore, useUserStore } from '@/store';
import { LOCALE_OPTIONS } from '@/locale';
import useLocale from '@/hooks/locale';