songjianet
3 years ago
committed by
GitHub
15 changed files with 46 additions and 637 deletions
@ -1,52 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
.header-model { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
height: 60px; |
|
||||||
box-shadow: rgba(0, 0, 0, 0.3) 0px 3px 5px; |
|
||||||
position: relative; |
|
||||||
width: 100%; |
|
||||||
padding: 0px; |
|
||||||
margin: 0px; |
|
||||||
.nav { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
width: inherit; |
|
||||||
.menu { |
|
||||||
margin-left: 0px; |
|
||||||
text-align: center; |
|
||||||
font-size: 15px; |
|
||||||
color: rgb(255, 255, 255); |
|
||||||
} |
|
||||||
.profile { |
|
||||||
width: 135px; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
margin-right: 20px; |
|
||||||
text-align: center; |
|
||||||
.icon { |
|
||||||
margin-right: 5px; |
|
||||||
display: inline-flex; |
|
||||||
align-items: center; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,106 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
import { defineComponent, ref } from 'vue' |
|
||||||
|
|
||||||
import styles from './index.module.scss' |
|
||||||
import { NDropdown, NIcon, NLayoutHeader, NMenu } from 'naive-ui' |
|
||||||
import Logo from '@/layouts/basic/components/logo' |
|
||||||
import { IosArrowDown } from '@vicons/ionicons4' |
|
||||||
import { UserAlt } from '@vicons/fa' |
|
||||||
|
|
||||||
const Header = defineComponent({ |
|
||||||
name: 'Header', |
|
||||||
props: { |
|
||||||
inverted: { |
|
||||||
type: Boolean, |
|
||||||
default: true, |
|
||||||
}, |
|
||||||
menuOptions: { |
|
||||||
type: Array, |
|
||||||
default: [], |
|
||||||
}, |
|
||||||
languageOptions: { |
|
||||||
type: Array, |
|
||||||
default: [], |
|
||||||
}, |
|
||||||
profileOptions: { |
|
||||||
type: Array, |
|
||||||
default: [], |
|
||||||
}, |
|
||||||
currentMenu: { |
|
||||||
type: Object, |
|
||||||
}, |
|
||||||
defaultMenuKey: { |
|
||||||
type: String, |
|
||||||
}, |
|
||||||
}, |
|
||||||
setup(props, context) { |
|
||||||
const currentMenuRef = ref({}) |
|
||||||
|
|
||||||
const handleMenuClick = (key, data) => { |
|
||||||
currentMenuRef.value = data |
|
||||||
context.emit('menuClick', data) |
|
||||||
} |
|
||||||
|
|
||||||
return { handleMenuClick } |
|
||||||
}, |
|
||||||
render() { |
|
||||||
return ( |
|
||||||
<NLayoutHeader |
|
||||||
class={styles['header-model']} |
|
||||||
inverted={this.inverted} |
|
||||||
bordered |
|
||||||
> |
|
||||||
<Logo /> |
|
||||||
<div class={styles.nav}> |
|
||||||
<NMenu |
|
||||||
mode='horizontal' |
|
||||||
onUpdate:value={this.handleMenuClick} |
|
||||||
defaultValue={this.defaultMenuKey} |
|
||||||
class={styles.menu} |
|
||||||
inverted={this.inverted} |
|
||||||
options={this.menuOptions} |
|
||||||
/> |
|
||||||
<div class={styles.profile}> |
|
||||||
<NDropdown inverted={this.inverted} options={this.languageOptions}> |
|
||||||
<span> |
|
||||||
中文 |
|
||||||
<NIcon class={styles.icon}> |
|
||||||
<IosArrowDown /> |
|
||||||
</NIcon> |
|
||||||
</span> |
|
||||||
</NDropdown> |
|
||||||
<NDropdown inverted={this.inverted} options={this.profileOptions}> |
|
||||||
<span> |
|
||||||
<NIcon class={styles.icon}> |
|
||||||
<UserAlt /> |
|
||||||
</NIcon> |
|
||||||
admin |
|
||||||
<NIcon class={styles.icon}> |
|
||||||
<IosArrowDown /> |
|
||||||
</NIcon> |
|
||||||
</span> |
|
||||||
</NDropdown> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</NLayoutHeader> |
|
||||||
) |
|
||||||
}, |
|
||||||
}) |
|
||||||
|
|
||||||
export { Header } |
|
@ -1,36 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
.logo { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
height: 64px; |
|
||||||
line-height: 64px; |
|
||||||
overflow: hidden; |
|
||||||
white-space: nowrap; |
|
||||||
width: 280px; |
|
||||||
|
|
||||||
img { |
|
||||||
width: auto; |
|
||||||
height: 46px; |
|
||||||
} |
|
||||||
|
|
||||||
.title { |
|
||||||
margin-bottom: 0; |
|
||||||
} |
|
||||||
} |
|
@ -1,34 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
import { defineComponent } from 'vue' |
|
||||||
|
|
||||||
import styles from './index.module.scss' |
|
||||||
|
|
||||||
const Logo = defineComponent({ |
|
||||||
name: 'Logo', |
|
||||||
setup() {}, |
|
||||||
render() { |
|
||||||
return ( |
|
||||||
<div class={styles.logo}> |
|
||||||
<img src='./src/assets/images/nav-logo.svg' alt='' /> |
|
||||||
</div> |
|
||||||
) |
|
||||||
}, |
|
||||||
}) |
|
||||||
|
|
||||||
export default Logo |
|
@ -1,19 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
.sider-model { |
|
||||||
} |
|
@ -1,78 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
import { defineComponent, ref } from 'vue' |
|
||||||
import { NLayoutSider, NMenu } from 'naive-ui' |
|
||||||
|
|
||||||
const Sider = defineComponent({ |
|
||||||
name: 'Sider', |
|
||||||
props: { |
|
||||||
visible: { |
|
||||||
type: Boolean, |
|
||||||
default: true, |
|
||||||
}, |
|
||||||
inverted: { |
|
||||||
type: Boolean, |
|
||||||
default: true, |
|
||||||
}, |
|
||||||
menuOptions: { |
|
||||||
type: Array, |
|
||||||
default: [], |
|
||||||
}, |
|
||||||
currentMenu: { |
|
||||||
type: Object, |
|
||||||
}, |
|
||||||
defaultMenuKey: { |
|
||||||
type: String, |
|
||||||
}, |
|
||||||
}, |
|
||||||
setup(props) { |
|
||||||
const currentMenuRef = ref({}) |
|
||||||
|
|
||||||
const handleMenuClick = (key, data) => { |
|
||||||
currentMenuRef.value = data |
|
||||||
} |
|
||||||
|
|
||||||
return { handleMenuClick } |
|
||||||
}, |
|
||||||
render() { |
|
||||||
return |
|
||||||
this.visible ? ( |
|
||||||
<NLayoutSider |
|
||||||
width={240} |
|
||||||
collapseMode={'width'} |
|
||||||
collapsedWidth={64} |
|
||||||
inverted={this.inverted} |
|
||||||
nativeScrollbar={false} |
|
||||||
show-trigger |
|
||||||
bordered |
|
||||||
> |
|
||||||
<NMenu |
|
||||||
onUpdate:value={this.handleMenuClick} |
|
||||||
inverted={this.inverted} |
|
||||||
collapsedWidth={64} |
|
||||||
collapsedIconSize={22} |
|
||||||
options={this.menuOptions} |
|
||||||
/> |
|
||||||
</NLayoutSider> |
|
||||||
) : ( |
|
||||||
'' |
|
||||||
) |
|
||||||
}, |
|
||||||
}) |
|
||||||
|
|
||||||
export { Sider } |
|
@ -1,54 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
.container { |
|
||||||
.header-model { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
height: 60px; |
|
||||||
box-shadow: rgba(0, 0, 0, 0.3) 0px 3px 5px; |
|
||||||
position: relative; |
|
||||||
width: 100%; |
|
||||||
padding: 0px; |
|
||||||
margin: 0px; |
|
||||||
.nav { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
width: inherit; |
|
||||||
.menu { |
|
||||||
margin-left: 0px; |
|
||||||
text-align: center; |
|
||||||
font-size: 15px; |
|
||||||
color: rgb(255, 255, 255); |
|
||||||
} |
|
||||||
.profile { |
|
||||||
width: 135px; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
margin-right: 20px; |
|
||||||
text-align: center; |
|
||||||
.icon { |
|
||||||
margin-right: 5px; |
|
||||||
display: inline-flex; |
|
||||||
align-items: center; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,234 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
import { h, defineComponent, ref } from 'vue' |
|
||||||
import styles from './index.module.scss' |
|
||||||
import { useI18n } from 'vue-i18n' |
|
||||||
import { |
|
||||||
PersonCircleOutline, |
|
||||||
LogOutOutline, |
|
||||||
FileTrayFullOutline, |
|
||||||
Server, |
|
||||||
SettingsOutline, |
|
||||||
} from '@vicons/ionicons5' |
|
||||||
import { |
|
||||||
HomeOutlined, |
|
||||||
FolderOutlined, |
|
||||||
SafetyCertificateOutlined, |
|
||||||
UserOutlined, |
|
||||||
} from '@vicons/antd' |
|
||||||
import { Database, Notes, Users } from '@vicons/tabler' |
|
||||||
import { MonitorFilled, AcUnitOutlined } from '@vicons/material' |
|
||||||
import { Flow } from '@vicons/carbon' |
|
||||||
import { Header } from './components/header' |
|
||||||
import { Sider } from './components/sider' |
|
||||||
import { NLayout, NLayoutContent, NIcon } from 'naive-ui' |
|
||||||
|
|
||||||
function renderIcon(icon) { |
|
||||||
return () => h(NIcon, null, { default: () => h(icon) }) |
|
||||||
} |
|
||||||
|
|
||||||
const switchLanguageOptions = [ |
|
||||||
{ |
|
||||||
label: 'English', |
|
||||||
key: 'en', |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '中文', |
|
||||||
key: 'zh', |
|
||||||
}, |
|
||||||
] |
|
||||||
|
|
||||||
const profileOptions = [ |
|
||||||
{ |
|
||||||
label: '用户信息', |
|
||||||
key: 'profile', |
|
||||||
icon: renderIcon(PersonCircleOutline), |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '退出登录', |
|
||||||
key: 'logout', |
|
||||||
icon: renderIcon(LogOutOutline), |
|
||||||
}, |
|
||||||
] |
|
||||||
|
|
||||||
const menuOptions = [ |
|
||||||
{ |
|
||||||
label: '首页', |
|
||||||
key: 'home', |
|
||||||
icon: renderIcon(HomeOutlined), |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '项目管理', |
|
||||||
key: 'project', |
|
||||||
icon: renderIcon(Notes), |
|
||||||
children: [ |
|
||||||
{ |
|
||||||
label: '项目', |
|
||||||
key: 'projects-list', |
|
||||||
icon: renderIcon(Notes), |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '工作流监控', |
|
||||||
key: 'projects-index', |
|
||||||
icon: renderIcon(Flow), |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '资源中心', |
|
||||||
key: 'resources', |
|
||||||
icon: renderIcon(FolderOutlined), |
|
||||||
children: [ |
|
||||||
{ |
|
||||||
label: '文件管理', |
|
||||||
key: 'file', |
|
||||||
icon: renderIcon(FileTrayFullOutline), |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '创建资源', |
|
||||||
key: 'resource-file-create', |
|
||||||
icon: renderIcon(AcUnitOutlined), |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '数据源中心', |
|
||||||
key: 'datasource', |
|
||||||
icon: renderIcon(Database), |
|
||||||
children: [ |
|
||||||
{ |
|
||||||
label: '数据源中心', |
|
||||||
key: 'datasource-list', |
|
||||||
icon: renderIcon(Database), |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '监控中心', |
|
||||||
key: 'monitor', |
|
||||||
icon: renderIcon(MonitorFilled), |
|
||||||
children: [ |
|
||||||
{ |
|
||||||
key: 'servers-master', |
|
||||||
title: '服务管理-Master', |
|
||||||
icon: renderIcon(Server), |
|
||||||
}, |
|
||||||
{ |
|
||||||
key: 'servers-worker', |
|
||||||
title: '服务管理-Worker', |
|
||||||
icon: renderIcon(SettingsOutline), |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '安全中心', |
|
||||||
key: 'security', |
|
||||||
icon: renderIcon(SafetyCertificateOutlined), |
|
||||||
children: [ |
|
||||||
{ |
|
||||||
key: 'tenement-manage', |
|
||||||
label: '租户管理', |
|
||||||
icon: renderIcon(UserOutlined), |
|
||||||
}, |
|
||||||
{ |
|
||||||
key: 'users-manage', |
|
||||||
label: '用户管理', |
|
||||||
icon: renderIcon(Users), |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
] |
|
||||||
|
|
||||||
const basic = defineComponent({ |
|
||||||
name: 'basic', |
|
||||||
setup() { |
|
||||||
const invertedRef = ref(true) |
|
||||||
const hasSiderRef = ref(false) |
|
||||||
const defaultMenuKeyRef = ref('home') |
|
||||||
const currentMenuRef = ref({}) |
|
||||||
const topMenuOptionsRef = ref([]) |
|
||||||
const sideMenuOptionsRef = ref([]) |
|
||||||
|
|
||||||
const handleTopMenuClick = (data) => { |
|
||||||
currentMenuRef.value = data |
|
||||||
generateMenus() |
|
||||||
} |
|
||||||
|
|
||||||
const handleSideMenuClick = (key, data) => { |
|
||||||
console.log(data) |
|
||||||
} |
|
||||||
|
|
||||||
const generateMenus = () => { |
|
||||||
topMenuOptionsRef.value = [] |
|
||||||
sideMenuOptionsRef.value = [] |
|
||||||
hasSiderRef.value = false |
|
||||||
menuOptions.forEach((option) => { |
|
||||||
topMenuOptionsRef.value.push({ |
|
||||||
label: option.label, |
|
||||||
key: option.key, |
|
||||||
icon: option.icon, |
|
||||||
}) |
|
||||||
if ( |
|
||||||
currentMenuRef.value.key === option.key || |
|
||||||
defaultMenuKeyRef.value === option.key |
|
||||||
) { |
|
||||||
if (option.hasOwnProperty('children') && option.children) { |
|
||||||
sideMenuOptionsRef.value = option.children |
|
||||||
hasSiderRef.value = true |
|
||||||
} |
|
||||||
} |
|
||||||
}) |
|
||||||
} |
|
||||||
generateMenus() |
|
||||||
return { |
|
||||||
topMenuOptionsRef, |
|
||||||
sideMenuOptionsRef, |
|
||||||
invertedRef, |
|
||||||
hasSiderRef, |
|
||||||
defaultMenuKeyRef, |
|
||||||
handleTopMenuClick, |
|
||||||
handleSideMenuClick, |
|
||||||
} |
|
||||||
}, |
|
||||||
render() { |
|
||||||
return ( |
|
||||||
<NLayout class={styles.container}> |
|
||||||
<Header |
|
||||||
languageOptions={switchLanguageOptions} |
|
||||||
profileOptions={profileOptions} |
|
||||||
menuOptions={this.topMenuOptionsRef} |
|
||||||
inverted={this.invertedRef} |
|
||||||
defaultMenuKey={this.defaultMenuKeyRef} |
|
||||||
onMenuClick={this.handleTopMenuClick} |
|
||||||
/> |
|
||||||
<NLayout hasSider> |
|
||||||
<Sider |
|
||||||
visible={this.hasSiderRef} |
|
||||||
inverted={this.invertedRef} |
|
||||||
menuOptions={this.sideMenuOptionsRef} |
|
||||||
/> |
|
||||||
<NLayoutContent> |
|
||||||
<router-view /> |
|
||||||
</NLayoutContent> |
|
||||||
</NLayout> |
|
||||||
</NLayout> |
|
||||||
) |
|
||||||
}, |
|
||||||
}) |
|
||||||
|
|
||||||
export default basic |
|
Loading…
Reference in new issue