123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <template>
- <el-menu
- :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"
- >
- <slot />
- </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;
- 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;
- }
- </style>
|