mirror of
https://github.com/veops/cmdb.git
synced 2025-08-09 03:47:51 +08:00
64 lines
1.2 KiB
Python
64 lines
1.2 KiB
Python
<template>
|
|
<a-layout-sider
|
|
:class="['sider', isDesktop() ? null : 'shadow', theme, fixSiderbar ? 'ant-fixed-sidemenu' : null]"
|
|
width="200px"
|
|
:collapsible="collapsible"
|
|
v-model="collapsed"
|
|
:trigger="null"
|
|
>
|
|
<logo :collapsed="collapsed" />
|
|
<s-menu
|
|
:collapsed="collapsed"
|
|
:menu="menus"
|
|
:theme="theme"
|
|
:mode="mode"
|
|
@select="onSelect"
|
|
style="padding: 16px 0px;"
|
|
></s-menu>
|
|
</a-layout-sider>
|
|
</template>
|
|
|
|
<script>
|
|
import Logo from '@/components/tools/Logo'
|
|
import SMenu from './index'
|
|
import { mixin, mixinDevice } from '@/utils/mixin'
|
|
|
|
export default {
|
|
name: 'SideMenu',
|
|
components: { Logo, SMenu },
|
|
mixins: [mixin, mixinDevice],
|
|
props: {
|
|
mode: {
|
|
type: String,
|
|
required: false,
|
|
default: 'inline',
|
|
},
|
|
theme: {
|
|
type: String,
|
|
required: false,
|
|
default: 'dark',
|
|
},
|
|
collapsible: {
|
|
type: Boolean,
|
|
required: false,
|
|
default: false,
|
|
},
|
|
collapsed: {
|
|
type: Boolean,
|
|
required: false,
|
|
default: false,
|
|
},
|
|
menus: {
|
|
type: Array,
|
|
required: true,
|
|
},
|
|
},
|
|
methods: {
|
|
onSelect(obj) {
|
|
this.$emit('menuSelect', obj)
|
|
},
|
|
},
|
|
watch: {},
|
|
}
|
|
</script>
|