mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-02 10:57:24 +08:00
Compare commits
3 Commits
bb07b45dcc
...
4a87c24acd
Author | SHA1 | Date | |
---|---|---|---|
|
4a87c24acd | ||
|
1730ecf4ce | ||
|
21e5387ead |
@ -61,6 +61,21 @@ const getSubMenuIconStyle = computed((): CSSProperties => {
|
||||
};
|
||||
});
|
||||
|
||||
const textClass = computed(() => {
|
||||
const item = props.item;
|
||||
const baseClass = "w-full! text-inherit!";
|
||||
if (
|
||||
layout.value !== "horizontal" &&
|
||||
isCollapse.value &&
|
||||
!toRaw(item.meta.icon) &&
|
||||
((layout.value === "vertical" && item.parentId === null) ||
|
||||
(layout.value === "mix" && item.parentId !== 0))
|
||||
) {
|
||||
return `${baseClass} min-w-[54px]! text-center! px-3!`;
|
||||
}
|
||||
return baseClass;
|
||||
});
|
||||
|
||||
const expandCloseIcon = computed(() => {
|
||||
if (!getConfig()?.MenuArrowIconNoTransition) return "";
|
||||
return {
|
||||
@ -144,7 +159,7 @@ function resolvePath(routePath) {
|
||||
item?.pathList?.length === 2)
|
||||
"
|
||||
truncated
|
||||
class="w-full! pl-4! text-inherit!"
|
||||
class="w-full! px-3! min-w-[54px]! text-center! text-inherit!"
|
||||
>
|
||||
{{ transformI18n(onlyOneChild.meta.title) }}
|
||||
</el-text>
|
||||
@ -195,15 +210,7 @@ function resolvePath(routePath) {
|
||||
offset: [0, -10],
|
||||
theme: tooltipEffect
|
||||
}"
|
||||
:class="{
|
||||
'w-full!': true,
|
||||
'text-inherit!': true,
|
||||
'pl-4!':
|
||||
layout !== 'horizontal' &&
|
||||
isCollapse &&
|
||||
!toRaw(item.meta.icon) &&
|
||||
item.parentId === null
|
||||
}"
|
||||
:class="textClass"
|
||||
>
|
||||
{{ transformI18n(item.meta.title) }}
|
||||
</ReText>
|
||||
|
@ -7,7 +7,13 @@ import { buildHierarchyTree } from "@/utils/tree";
|
||||
import remainingRouter from "./modules/remaining";
|
||||
import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
|
||||
import { usePermissionStoreHook } from "@/store/modules/permission";
|
||||
import { isUrl, openLink, storageLocal, isAllEmpty } from "@pureadmin/utils";
|
||||
import {
|
||||
isUrl,
|
||||
openLink,
|
||||
storageLocal,
|
||||
isAllEmpty,
|
||||
cloneDeep
|
||||
} from "@pureadmin/utils";
|
||||
import {
|
||||
ascending,
|
||||
getTopMenu,
|
||||
@ -55,6 +61,9 @@ export const constantRoutes: Array<RouteRecordRaw> = formatTwoStageRoutes(
|
||||
formatFlatteningRoutes(buildHierarchyTree(ascending(routes.flat(Infinity))))
|
||||
);
|
||||
|
||||
/** 初始的静态路由,用来在退出登陆时重置路由 */
|
||||
const initConstantRoutes: Array<RouteRecordRaw> = cloneDeep(constantRoutes);
|
||||
|
||||
/** 用于渲染菜单,保持原始层级 */
|
||||
export const constantMenus: Array<RouteComponent> = ascending(
|
||||
routes.flat(Infinity)
|
||||
@ -87,17 +96,13 @@ export const router: Router = createRouter({
|
||||
|
||||
/** 重置路由 */
|
||||
export function resetRouter() {
|
||||
router.getRoutes().forEach(route => {
|
||||
const { name, meta } = route;
|
||||
if (name && router.hasRoute(name) && meta?.backstage) {
|
||||
router.removeRoute(name);
|
||||
router.options.routes = formatTwoStageRoutes(
|
||||
formatFlatteningRoutes(
|
||||
buildHierarchyTree(ascending(routes.flat(Infinity)))
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
router.clearRoutes();
|
||||
for (const route of initConstantRoutes.concat(...(remainingRouter as any))) {
|
||||
router.addRoute(route);
|
||||
}
|
||||
router.options.routes = formatTwoStageRoutes(
|
||||
formatFlatteningRoutes(buildHierarchyTree(ascending(routes.flat(Infinity))))
|
||||
);
|
||||
usePermissionStoreHook().clearAllCachePage();
|
||||
}
|
||||
|
||||
|
@ -172,6 +172,8 @@ function handleAsyncRoutes(routeList) {
|
||||
const flattenRouters: any = router
|
||||
.getRoutes()
|
||||
.find(n => n.path === "/");
|
||||
// 保持router.options.routes[0].children与path为"/"的children一致,防止数据不一致导致异常
|
||||
flattenRouters.children = router.options.routes[0].children;
|
||||
router.addRoute(flattenRouters);
|
||||
}
|
||||
}
|
||||
|
@ -666,6 +666,10 @@ body[layout="horizontal"] {
|
||||
|
||||
@include merge-style($sideBarWidth);
|
||||
|
||||
.el-menu {
|
||||
--el-menu-hover-text-color: var(--pure-theme-menu-text) !important;
|
||||
}
|
||||
|
||||
.fixed-header,
|
||||
.main-container {
|
||||
transition: none !important;
|
||||
@ -687,6 +691,7 @@ body[layout="mix"] {
|
||||
|
||||
.el-menu {
|
||||
--el-menu-hover-bg-color: transparent !important;
|
||||
--el-menu-hover-text-color: var(--pure-theme-menu-text) !important;
|
||||
}
|
||||
|
||||
.hideSidebar {
|
||||
|
Loading…
x
Reference in New Issue
Block a user