2022-12-05 23:01:12 +08:00
|
|
|
<template>
|
|
|
|
<el-menu
|
2023-03-04 09:59:23 +08:00
|
|
|
:default-active="appStore.getActiveMenu"
|
|
|
|
background-color="var(--sider-menu-bg-color)"
|
|
|
|
active-text-color="var(--sider-ment-active-text-color)"
|
|
|
|
text-color="var(--sider-menu-text-color)"
|
|
|
|
:collapse="!appStore.isExpand"
|
|
|
|
:collapse-transition="false"
|
|
|
|
:router="true"
|
|
|
|
@select="selectMenu"
|
|
|
|
:unique-opened="true"
|
2022-12-05 23:01:12 +08:00
|
|
|
>
|
2023-03-04 09:59:23 +08:00
|
|
|
<slot />
|
2022-12-05 23:01:12 +08:00
|
|
|
</el-menu>
|
|
|
|
</template>
|
|
|
|
<script lang="ts" setup name="menus">
|
|
|
|
import { useAppStore } from '/admin/stores/modules/app'
|
|
|
|
|
|
|
|
const appStore = useAppStore()
|
|
|
|
|
|
|
|
const selectMenu = (index: string) => {
|
|
|
|
if (index.startsWith('http') || index.startsWith('https')) {
|
|
|
|
window.open(index)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
.el-menu {
|
|
|
|
border-right: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
:deep(.is-active) {
|
|
|
|
background-color: var(--side-active-menu-bg-color) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
:deep(.el-sub-menu__title) {
|
|
|
|
padding-left: calc(calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding)));
|
|
|
|
|
|
|
|
color: var(--sider-menu-text-color);
|
|
|
|
}
|
|
|
|
|
|
|
|
:deep(.el-sub-menu) {
|
|
|
|
color: var(--sider-sub-menu-bg-color);
|
|
|
|
}
|
|
|
|
|
|
|
|
:deep(.el-sub-menu__title:hover) {
|
|
|
|
background-color: var(--sider-menu-bg-color);
|
|
|
|
}
|
|
|
|
|
|
|
|
:deep(.el-menu--popup .el-menu-item:hover) {
|
|
|
|
background-color: var(--sider-menu-bg-color) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
:deep(.el-menu-item:hover) {
|
|
|
|
background-color: var(--sider-sub-menu-hover-bg-color) !important;
|
2023-03-04 09:59:23 +08:00
|
|
|
border-right: 3px solid;
|
|
|
|
border-right-color: var(--el-color-primary);
|
|
|
|
}
|
|
|
|
|
|
|
|
:deep(.el-menu-item.is-active) {
|
|
|
|
border-right: 3px solid;
|
|
|
|
border-right-color: var(--el-color-primary);
|
|
|
|
}
|
|
|
|
|
|
|
|
:deep(.el-menu-item) {
|
|
|
|
height: 50px !important;
|
2022-12-05 23:01:12 +08:00
|
|
|
}
|
2023-03-04 09:59:23 +08:00
|
|
|
</style>
|