| | |
| | | <template> |
| | | <!-- 判断当前页面是否显示,如果hide为true,则不渲染该菜单 --> |
| | | <div v-if="!item.meta.hide && menus.includes(item.meta.privilege)"> |
| | | <!-- <div v-if="!item.meta.hide"> --> |
| | | <!-- <div v-if="!item.meta.hide && menus.includes(item.meta.privilege)"> --> |
| | | <div v-if="item.meta && item.meta.title && !item.meta.hide"> |
| | | <!-- 根菜单 --> |
| | | <MenuLink :to="resolvePath()" v-if="!item.children"> |
| | | <el-menu-item :index="resolvePath()"> |
| | | <i :class="item.meta.icon || ''"></i> |
| | | <span slot="title">{{ item.meta.title }}</span> |
| | | <i :class="(item.meta && item.meta.icon) || ''"></i> |
| | | <span slot="title">{{ (item.meta && item.meta.title) || '' }}</span> |
| | | </el-menu-item> |
| | | </MenuLink> |
| | | |
| | | <!-- 可展开菜单 --> |
| | | <el-submenu :index="resolvePath()" v-else> |
| | | <template slot="title"> |
| | | <i :class="item.meta.icon"></i> |
| | | <span slot="title">{{ item.meta.title }}</span> |
| | | <i :class="(item.meta && item.meta.icon) || ''"></i> |
| | | <span slot="title">{{ (item.meta && item.meta.title) || '' }}</span> |
| | | </template> |
| | | <!-- 这里递归去展示多级菜单 --> |
| | | <menu-item v-for="(route, index) in item.children" :key="index" :item="route" |
| | |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .is-active { |
| | | background-color: rgb(245, 245, 245); |
| | | ::v-deep .router-link-exact-active .is-active { |
| | | background: #EFF8FA; |
| | | border-radius: 8px; |
| | | font-weight: bold; |
| | | color: #000; |
| | | color: #05908E; |
| | | } |
| | | |
| | | .el-menu { |
| | | border-right: unset !important; |
| | | ::v-deep .el-menu-item, |
| | | ::v-deep .el-submenu__title { |
| | | border-radius: 8px; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | } |
| | | |
| | | ::v-deep .el-menu-item:hover, |
| | | ::v-deep .el-submenu__title:hover { |
| | | background: #EFF8FA; |
| | | } |
| | | </style> |