Files
mes-ui-d2/src/pages/demo/playground/store/menu/index.vue
liyang b73449af30 更改布局方式避免滚动条
Former-commit-id: ccaa4eb9a626e341ce5daf9b8cb30bdd24f621af [formerly ccaa4eb9a626e341ce5daf9b8cb30bdd24f621af [formerly ccaa4eb9a626e341ce5daf9b8cb30bdd24f621af [formerly ccaa4eb9a626e341ce5daf9b8cb30bdd24f621af [formerly 96163a37ebe68643b54d5ac0b88077f9c3db761e [formerly 8a0483c27e3bb7c1b88792fb4ecb6d6bb9b35f4b]]]]]
Former-commit-id: 30090992d218f90459bfb3319e20edffa7f40484
Former-commit-id: a74c09ee0c415f7c60839b133fc8de0e02f57adc
Former-commit-id: e2222e703d80aded2f542f58518c63e65c6613f0 [formerly baeeeac7635c2444811d942aef9977bb34980916]
Former-commit-id: b09e8b36f3e4f36fb191b95780cd25ebbec5ab5a
Former-commit-id: 352379011e490ce32770429e3ba9155861cf4c45
Former-commit-id: 290ef5d44eb39ecc33173cdd240c4e218b78b84d
Former-commit-id: e4a4af62251dbbcd117bb5c74bc796c4befcd1bd
Former-commit-id: 6c1e0f033bce97347bd8aae5b29084fb093fd496
2018-08-11 21:04:50 +08:00

144 lines
3.8 KiB
Vue

<template>
<d2-container>
<el-tabs>
<el-tab-pane label="顶栏菜单">
<el-button-group class="d2-mb">
<el-button @click="handleMenuHeaderSet">设置顶栏空菜单</el-button>
<el-button @click="menuHeaderReset">恢复顶栏菜单</el-button>
</el-button-group>
<d2-highlight :code="JSON.stringify(menuHeader, null, 2)"/>
</el-tab-pane>
<el-tab-pane label="侧栏菜单">
<el-button-group class="d2-mb">
<el-button @click="handleMenuAsideSet">设置侧栏空菜单</el-button>
<el-button @click="menuAsideReset">恢复侧栏菜单</el-button>
</el-button-group>
<d2-highlight :code="JSON.stringify(menuAside, null, 2)"/>
</el-tab-pane>
</el-tabs>
</d2-container>
</template>
<script>
import clonedeep from 'lodash.clonedeep'
import { mapState, mapMutations } from 'vuex'
export default {
data () {
return {
menuEmpty: [
{
title: '空菜单演示',
icon: 'folder-o',
children: [
{
title: '空菜单 1',
children: [
{ title: '空菜单 1-1' },
{ title: '空菜单 1-2' }
]
},
{ title: '空菜单 2' },
{ title: '空菜单 3' }
]
}
],
menuHeaderChanged: false,
menuAsideChanged: false,
menuHeaderBak: [],
menuAsideBak: []
}
},
computed: {
...mapState({
menuHeader: state => state.d2admin.menuHeader,
menuAside: state => state.d2admin.menuAside
})
},
created () {
this.menuHeaderBak = clonedeep(this.menuHeader)
this.menuAsideBak = clonedeep(this.menuAside)
},
beforeDestroy () {
if (this.menuHeaderChanged && this.menuAsideChanged) {
this.d2adminMenuHeaderSet(this.menuHeaderBak)
this.d2adminMenuAsideSet(this.menuAsideBak)
this.$notify({
title: '菜单恢复',
message: '对侧边栏和顶栏菜单的修改已经复原',
type: 'success'
})
return
}
if (this.menuHeaderChanged) {
this.d2adminMenuHeaderSet(this.menuHeaderBak)
this.$notify({
title: '菜单恢复',
message: '对顶栏菜单的修改已经复原',
type: 'success'
})
return
}
if (this.menuAsideChanged) {
this.d2adminMenuAsideSet(this.menuAsideBak)
this.$notify({
title: '菜单恢复',
message: '对侧边栏菜单的修改已经复原',
type: 'success'
})
}
},
methods: {
...mapMutations([
'd2adminMenuHeaderSet',
'd2adminMenuAsideSet'
]),
/**
* 修改顶栏菜单
*/
handleMenuHeaderSet () {
this.menuHeaderChanged = true
this.d2adminMenuHeaderSet(this.menuEmpty)
this.$notify({
title: '菜单修改',
message: '对顶栏菜单的修改已经生效',
type: 'success'
})
},
/**
* 修改侧边栏菜单
*/
handleMenuAsideSet () {
this.menuAsideChanged = true
this.d2adminMenuAsideSet(this.menuEmpty)
this.$notify({
title: '菜单修改',
message: '对侧边栏菜单的修改已经生效',
type: 'success'
})
},
/**
* 恢复顶栏菜单
*/
menuHeaderReset () {
this.d2adminMenuHeaderSet(this.menuHeaderBak)
this.$notify({
title: '菜单恢复',
message: '对顶栏菜单的修改已经复原',
type: 'success'
})
},
/**
* 恢复侧边栏菜单
*/
menuAsideReset () {
this.d2adminMenuAsideSet(this.menuAsideBak)
this.$notify({
title: '菜单恢复',
message: '对侧边栏菜单的修改已经复原',
type: 'success'
})
}
}
}
</script>