@lambo-design/pro-layout 1.0.0-beta.44 → 1.0.0-beta.441
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +11 -4
- package/src/components/pro-layout-header/index.vue +220 -0
- package/src/components/pro-layout-header/pro-layout-logo/index.vue +206 -0
- package/src/components/pro-layout-header/pro-layout-nav/components/pro-layout-nav-slide-menu.vue +398 -0
- package/src/components/pro-layout-header/pro-layout-nav/index-slide.vue +226 -0
- package/src/components/pro-layout-header/pro-layout-nav/index.vue +564 -0
- package/src/components/pro-layout-header/pro-layout-slogan/index.vue +40 -0
- package/src/components/pro-layout-header/pro-layout-tools/components/pro-layout-tools-quick-collect.vue +79 -0
- package/src/components/pro-layout-header/pro-layout-tools/components/pro-layout-tools-quick-document.vue +82 -0
- package/src/components/pro-layout-header/pro-layout-tools/components/pro-layout-tools-quick-fullscreen.vue +144 -0
- package/src/components/pro-layout-header/pro-layout-tools/components/pro-layout-tools-quick-icons.vue +99 -0
- package/src/components/pro-layout-header/pro-layout-tools/components/pro-layout-tools-quick-intl.vue +109 -0
- package/src/components/pro-layout-header/pro-layout-tools/components/pro-layout-tools-quick-notice.vue +133 -0
- package/src/components/pro-layout-header/pro-layout-tools/components/pro-layout-tools-quick-search.vue +305 -0
- package/src/components/pro-layout-header/pro-layout-tools/components/pro-layout-tools-quick-todo.vue +145 -0
- package/src/components/pro-layout-header/pro-layout-tools/components/pro-layout-tools-user.vue +64 -0
- package/src/components/pro-layout-header/pro-layout-tools/index.vue +38 -0
- package/src/components/pro-layout-header/pro-layout-trigger/index.vue +84 -0
- package/src/components/{pro-layout-sider-collapsed-menu.vue → pro-layout-sider/components/pro-layout-sider-collapsed-menu.vue} +30 -11
- package/src/components/{pro-layout-sider-icon.vue → pro-layout-sider/components/pro-layout-sider-icon.vue} +2 -2
- package/src/components/pro-layout-sider/components/pro-layout-sider-menu-item.vue +137 -0
- package/src/components/pro-layout-sider/components/pro-layout-sider-other-menu.vue +140 -0
- package/src/components/pro-layout-sider/components/pro-layout-sider-search.vue +345 -0
- package/src/components/pro-layout-sider/index.vue +477 -0
- package/src/components/{pro-layout-tabs.vue → pro-layout-tabs/index.vue} +115 -22
- package/src/index.vue +302 -38
- package/src/styles/color.less +267 -0
- package/src/styles/images/xiaoxitongzhi.png +0 -0
- package/src/styles/other-menu.less +63 -111
- package/src/utils/menuItem.js +10 -0
- package/src/utils/sider.js +16 -1
- package/src/components/pro-layout-header.vue +0 -52
- package/src/components/pro-layout-logo.vue +0 -79
- package/src/components/pro-layout-nav.vue +0 -150
- package/src/components/pro-layout-other-menu.vue +0 -138
- package/src/components/pro-layout-sider-menu-item.vue +0 -37
- package/src/components/pro-layout-sider.vue +0 -240
- package/src/components/pro-layout-tools-user.vue +0 -84
- package/src/components/pro-layout-tools.vue +0 -21
- package/src/components/pro-layout-trigger.vue +0 -48
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<Dropdown ref="dropdown" :class="hideTitle ? '' : 'collased-menu-dropdown'" :placement="placement"
|
|
3
|
-
:transfer="
|
|
4
|
-
<a :style="{textAlign: !hideTitle ? 'left' : '',padding: !hideTitle ? '0px' : ''}"
|
|
3
|
+
:transfer="transfer" :transfer-class-name="transfer ? 'collased-menu-transfer' : ''" @on-click="handleClick">
|
|
4
|
+
<a :style="{textAlign: !hideTitle ? 'left' : '',padding: !hideTitle ? '0px' : ''}"
|
|
5
|
+
:class="['drop-menu-a', activeItem.indexOf(parentItem.name) >= 0 ? 'selected-parent' : '']" type="text"
|
|
5
6
|
@mouseover="handleMousemove($event, children)">
|
|
6
7
|
<ProLayoutSiderIcon :icon-type="parentItem.meta.icon" :icon-size="hideTitle ? 26 : 14"></ProLayoutSiderIcon>
|
|
7
|
-
<span v-if="!hideTitle"
|
|
8
|
+
<span v-if="!hideTitle" > {{ showTitle(parentItem) }}</span>
|
|
8
9
|
<Icon v-if="!hideTitle" :size="16"type="ios-arrow-forward"/>
|
|
9
10
|
</a>
|
|
10
11
|
<DropdownMenu ref="dropdown" slot="list" style="width: auto">
|
|
11
12
|
<template v-for="child in children">
|
|
12
13
|
<ProLayoutSiderCollapsedMenu v-if="showChildren(child)" :key="`drop-${child.name}`"
|
|
13
|
-
|
|
14
|
+
:parent-item="child" :transfer="false">
|
|
14
15
|
</ProLayoutSiderCollapsedMenu>
|
|
15
16
|
<DropdownItem v-else :key="`drop-${child.name}`" :name="child.name">
|
|
16
17
|
<ProLayoutSiderIcon :icon-type="child.meta.icon"></ProLayoutSiderIcon>
|
|
17
|
-
<span class="menu-title"
|
|
18
|
+
<span class="menu-title-nochildren"> {{ showTitle(child) }}</span>
|
|
18
19
|
</DropdownItem>
|
|
19
20
|
</template>
|
|
20
21
|
</DropdownMenu>
|
|
21
22
|
</Dropdown>
|
|
22
23
|
</template>
|
|
23
24
|
<script>
|
|
24
|
-
import sider from '
|
|
25
|
-
import menuItem from '
|
|
25
|
+
import sider from '../../../utils/sider'
|
|
26
|
+
import menuItem from '../../../utils/menuItem'
|
|
26
27
|
import {findNodeUpperByClasses} from '@lambo-design/shared/utils/platform'
|
|
27
28
|
|
|
28
29
|
export default {
|
|
@@ -32,6 +33,10 @@ export default {
|
|
|
32
33
|
hideTitle: {
|
|
33
34
|
type: Boolean,
|
|
34
35
|
default: false
|
|
36
|
+
},
|
|
37
|
+
transfer: {
|
|
38
|
+
type: Boolean,
|
|
39
|
+
default: false
|
|
35
40
|
}
|
|
36
41
|
},
|
|
37
42
|
data() {
|
|
@@ -58,6 +63,7 @@ export default {
|
|
|
58
63
|
</script>
|
|
59
64
|
<style lang="less" scoped>
|
|
60
65
|
@import "@lambo-design/core/src/styles/default";
|
|
66
|
+
@import '../../../styles/other-menu.less';
|
|
61
67
|
.collased-menu-dropdown {
|
|
62
68
|
width: 100%;
|
|
63
69
|
margin: 0;
|
|
@@ -71,7 +77,7 @@ export default {
|
|
|
71
77
|
transition: background 0.2s ease-in-out;
|
|
72
78
|
display: block;
|
|
73
79
|
&:hover{
|
|
74
|
-
color: var(--heading-color, @_heading-color);
|
|
80
|
+
//color: var(--heading-color, @_heading-color);
|
|
75
81
|
background: rgba(26,26,26,0.05);
|
|
76
82
|
}
|
|
77
83
|
/deep/.ivu-dropdown-rel{
|
|
@@ -80,12 +86,25 @@ export default {
|
|
|
80
86
|
width: 100%;
|
|
81
87
|
font-weight: normal;
|
|
82
88
|
margin-left: -5px;
|
|
83
|
-
color: var(--text-color, @_text-color) !important;
|
|
89
|
+
//color: var(--text-color, @_text-color) !important;
|
|
84
90
|
text-decoration: none;
|
|
85
91
|
&:hover{
|
|
86
|
-
color: var(--heading-color, @_heading-color) !important;
|
|
92
|
+
//color: var(--heading-color, @_heading-color) !important;
|
|
87
93
|
}
|
|
88
94
|
}
|
|
89
95
|
}
|
|
90
96
|
}
|
|
91
|
-
|
|
97
|
+
.collased-menu-transfer{
|
|
98
|
+
.ivu-dropdown-menu{
|
|
99
|
+
max-height: 500px;
|
|
100
|
+
overflow-y: auto;
|
|
101
|
+
overflow-x: hidden;
|
|
102
|
+
/* 隐藏滚动条 */
|
|
103
|
+
&::-webkit-scrollbar {
|
|
104
|
+
display: none; /* Chrome, Safari, Edge */
|
|
105
|
+
}
|
|
106
|
+
/* Firefox */
|
|
107
|
+
scrollbar-width: none; /* Firefox */
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
</style>
|
|
@@ -40,7 +40,7 @@ export default {
|
|
|
40
40
|
}
|
|
41
41
|
if (iconType.indexOf('iconfont') > -1) {
|
|
42
42
|
let imgName = iconType.replace('iconfont','').replace(/\s+/g,'');
|
|
43
|
-
return 'background: url('+ require('
|
|
43
|
+
return 'background: url('+ require('../../../styles/images/menuicon/' + imgName + '-s.png') +') no-repeat;background-size: 100%;';
|
|
44
44
|
}
|
|
45
45
|
return '';
|
|
46
46
|
}
|
|
@@ -78,4 +78,4 @@ export default {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
</style>
|
|
81
|
+
</style>
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<Submenu :name="`${parentName}`">
|
|
3
|
+
<template slot="title">
|
|
4
|
+
<Row type="flex" justify="center" align="top">
|
|
5
|
+
<Col :span="getSpanNum(systemInfo,'icon')">
|
|
6
|
+
<ProLayoutSiderIcon v-if="systemInfo.menuLogo == '1'" :icon-type="parentItem.meta.icon"></ProLayoutSiderIcon>
|
|
7
|
+
</Col>
|
|
8
|
+
<Col :span="getSpanNum(systemInfo,'title')">
|
|
9
|
+
<div>
|
|
10
|
+
<Tooltip style="width: 100%" v-if="systemInfo.titleShow ==='ellipsis'" placement="right" transfer :content="showTitle(parentItem)">
|
|
11
|
+
<div class="menu-title-ellipsis">{{ showTitle(parentItem)}}</div>
|
|
12
|
+
</Tooltip>
|
|
13
|
+
<span v-else class="menu-title-wrap">{{ showTitle(parentItem)}}</span>
|
|
14
|
+
</div>
|
|
15
|
+
</Col>
|
|
16
|
+
</Row>
|
|
17
|
+
</template>
|
|
18
|
+
<template v-for="item in children">
|
|
19
|
+
<template v-if="item.children && item.children.length === 1">
|
|
20
|
+
<ProLayoutSiderMenuItem v-if="showChildren(item)" :key="`menu-${item.name}`"
|
|
21
|
+
:parent-item="item"
|
|
22
|
+
:collect-map="collectMap"
|
|
23
|
+
:system-info="systemInfo"
|
|
24
|
+
:nav-list="navList">
|
|
25
|
+
</ProLayoutSiderMenuItem>
|
|
26
|
+
<menu-item v-else :key="`menu-${item.children[0].name}`" :name="getNameOrHref(item, true)">
|
|
27
|
+
<Row type="flex" justify="center" align="top">
|
|
28
|
+
<Col :span="getSpanNum(systemInfo,'icon')">
|
|
29
|
+
<Icon v-if="systemInfo.menuLogo == '1'" :type="collectMap.hasOwnProperty(item.name) ? 'ios-star' : 'ios-star-outline'"
|
|
30
|
+
@click="toggleCollect(item)"></Icon>
|
|
31
|
+
</Col>
|
|
32
|
+
<Col :span="getSpanNum(systemInfo,'title')">
|
|
33
|
+
<div :class="['menu-title-' + item.children[0].permissionId,'draggable-text']" v-draggable="dragOptions(item.children[0])">
|
|
34
|
+
<Tooltip style="width: 100%" v-if="systemInfo.titleShow ==='ellipsis'" placement="right" transfer :content="showTitle(item.children[0])">
|
|
35
|
+
<div class="menu-title-nochildren-ellipsis">{{ showTitle(item.children[0]) }}</div>
|
|
36
|
+
</Tooltip>
|
|
37
|
+
<span v-else class="menu-title-nochildren-wrap">{{ showTitle(item.children[0])}}</span>
|
|
38
|
+
</div>
|
|
39
|
+
</Col>
|
|
40
|
+
</Row>
|
|
41
|
+
</menu-item>
|
|
42
|
+
</template>
|
|
43
|
+
<template v-else>
|
|
44
|
+
<ProLayoutSiderMenuItem v-if="showChildren(item)" :key="`menu-${item.name}`"
|
|
45
|
+
:parent-item="item"
|
|
46
|
+
:collect-map="collectMap"
|
|
47
|
+
:system-info="systemInfo"
|
|
48
|
+
:nav-list="navList">
|
|
49
|
+
</ProLayoutSiderMenuItem>
|
|
50
|
+
<menu-item v-else :key="`menu-${item.name}`" :name="getNameOrHref(item)">
|
|
51
|
+
<Row type="flex" justify="center" align="top">
|
|
52
|
+
<Col :span="getSpanNum(systemInfo,'icon')">
|
|
53
|
+
<Icon v-if="systemInfo.menuLogo == '1'" :type="collectMap.hasOwnProperty(item.name) ? 'ios-star' : 'ios-star-outline'"
|
|
54
|
+
@click="toggleCollect(item)"></Icon>
|
|
55
|
+
</Col>
|
|
56
|
+
<Col :span="getSpanNum(systemInfo,'title')">
|
|
57
|
+
<div :class="['menu-title-' + item.permissionId,'draggable-text']" v-draggable="dragOptions(item)">
|
|
58
|
+
<Tooltip style="width: 100%" v-if="systemInfo.titleShow ==='ellipsis'" placement="right" transfer :content="showTitle(item)">
|
|
59
|
+
<div class="menu-title-nochildren-ellipsis">{{ showTitle(item) }}</div>
|
|
60
|
+
</Tooltip>
|
|
61
|
+
<span v-else class="menu-title-nochildren-wrap">{{ showTitle(item) }}</span>
|
|
62
|
+
</div>
|
|
63
|
+
</Col>
|
|
64
|
+
</Row>
|
|
65
|
+
</menu-item>
|
|
66
|
+
</template>
|
|
67
|
+
</template>
|
|
68
|
+
</Submenu>
|
|
69
|
+
</template>
|
|
70
|
+
<script>
|
|
71
|
+
import sider from '../../../utils/sider'
|
|
72
|
+
import menuItem from '../../../utils/menuItem'
|
|
73
|
+
import Bus from '@lambo-design/shared/utils/bus'
|
|
74
|
+
import Locale from "@lambo-design/core/src/mixins/locale";
|
|
75
|
+
|
|
76
|
+
export default {
|
|
77
|
+
name: 'ProLayoutSiderMenuItem',
|
|
78
|
+
mixins: [sider, menuItem, Locale],
|
|
79
|
+
props: {
|
|
80
|
+
collectMap: {
|
|
81
|
+
type: Object,
|
|
82
|
+
default: () => {}
|
|
83
|
+
},
|
|
84
|
+
systemInfo: {
|
|
85
|
+
type: Object,
|
|
86
|
+
default: () => {
|
|
87
|
+
return {
|
|
88
|
+
systemName: this.t('pro-layout.common.systemName'),
|
|
89
|
+
systemLogo: '',
|
|
90
|
+
layoutSize: 'small',
|
|
91
|
+
acceptAppId: '',
|
|
92
|
+
tabNum: 5,
|
|
93
|
+
topMenu: 4,
|
|
94
|
+
rightTopOptButtonList: [],
|
|
95
|
+
menuScaling:'1',
|
|
96
|
+
headBackground:'',
|
|
97
|
+
menuLogo: '1',
|
|
98
|
+
titleShow:'wrap',
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
navList: {
|
|
103
|
+
type: Array,
|
|
104
|
+
default : () => {
|
|
105
|
+
return []
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
methods: {
|
|
110
|
+
toggleCollect(item) {
|
|
111
|
+
Bus.$emit('toggle-collect-menu',!this.collectMap[item.name],item)
|
|
112
|
+
},
|
|
113
|
+
dragOptions(item){
|
|
114
|
+
if (!item) {
|
|
115
|
+
item = {}
|
|
116
|
+
}
|
|
117
|
+
item.navList = this.navList;
|
|
118
|
+
return {
|
|
119
|
+
trigger: '.menu-title-' + item.permissionId,
|
|
120
|
+
body: '.menu-title-' + item.permissionId,
|
|
121
|
+
recover: true,
|
|
122
|
+
item: item
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
computed:{
|
|
127
|
+
showTooltip() {
|
|
128
|
+
const ellipsisDiv = this.$refs['ellipsisDiv' + this.index];
|
|
129
|
+
return ellipsisDiv.clientWidth < ellipsisDiv.scrollWidth;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
</script>
|
|
134
|
+
|
|
135
|
+
<style scoped lang="less">
|
|
136
|
+
@import '../../../styles/other-menu.less';
|
|
137
|
+
</style>
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="classes">
|
|
3
|
+
<div class="other-menu-item" @click="onChange('history')">
|
|
4
|
+
<Tooltip :disabled="!collapsed" :content="t('pro-layout.side.history')" placement="right" transfer>
|
|
5
|
+
<div>
|
|
6
|
+
<Icon class="other-menu-icon" type="md-time"/>
|
|
7
|
+
<span class="other-menu-title"> {{ t('pro-layout.side.history') }}</span>
|
|
8
|
+
</div>
|
|
9
|
+
</Tooltip>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="other-menu-item" @click="onChange('collect')">
|
|
12
|
+
<Tooltip :disabled="!collapsed" :content="t('pro-layout.side.collect')" placement="right" transfer>
|
|
13
|
+
<div>
|
|
14
|
+
<Icon class="other-menu-icon" type="md-star-outline"/>
|
|
15
|
+
<span class="other-menu-title">{{ t('pro-layout.side.collect') }}</span>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
</Tooltip>
|
|
19
|
+
</div>
|
|
20
|
+
<Drawer v-model="drawer.model"
|
|
21
|
+
:class-name="drawerClasses"
|
|
22
|
+
:closable="false"
|
|
23
|
+
:mask-style="{backgroundColor: 'unset'}"
|
|
24
|
+
:scrollable="true"
|
|
25
|
+
:title="drawer.title"
|
|
26
|
+
placement="left"
|
|
27
|
+
>
|
|
28
|
+
<div v-if="drawer.type=='history'" class="other-menu-drawer-list">
|
|
29
|
+
<div v-for="(item,index) in historyMenuList" :key="index" class="other-menu-drawer-item">
|
|
30
|
+
<div class="content" @click="handleClick(item)">
|
|
31
|
+
<Icon :type="item.icon"></Icon>
|
|
32
|
+
<span> {{ item.label }}</span>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="delete">
|
|
35
|
+
<Icon type="ios-close" @click.native="handleHistoryDelete(item)"></Icon>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
<div v-if="drawer.type=='collect'" class="other-menu-drawer-list">
|
|
40
|
+
<div v-for="(item,index) in collectMenuList" :key="index" class="other-menu-drawer-item" @click="handleClick(item)">
|
|
41
|
+
<div class="content" @click="handleClick(item)">
|
|
42
|
+
<Icon :type="item.icon"></Icon>
|
|
43
|
+
<span> {{ item.label }}</span>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="delete">
|
|
46
|
+
<Icon type="ios-close" @click.native.stop="handleCollectDelete(item)"></Icon>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</Drawer>
|
|
51
|
+
</div>
|
|
52
|
+
</template>
|
|
53
|
+
|
|
54
|
+
<script>
|
|
55
|
+
import Bus from "@lambo-design/shared/utils/bus";
|
|
56
|
+
import Locale from "@lambo-design/core/src/mixins/locale";
|
|
57
|
+
|
|
58
|
+
export default {
|
|
59
|
+
name: "other-menu",
|
|
60
|
+
mixins: [Locale],
|
|
61
|
+
components: {},
|
|
62
|
+
props: {
|
|
63
|
+
collapsed: {
|
|
64
|
+
type: Boolean,
|
|
65
|
+
default:false
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
data() {
|
|
69
|
+
return {
|
|
70
|
+
historyMenuList: [],
|
|
71
|
+
collectMenuList: [],
|
|
72
|
+
drawer: {
|
|
73
|
+
model: false,
|
|
74
|
+
title: '',
|
|
75
|
+
type: '',
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
computed: {
|
|
80
|
+
classes() {
|
|
81
|
+
let classes = ["other-menu"]
|
|
82
|
+
return this.collapsed ? ["other-menu-collapsed", ...classes] : [...classes]
|
|
83
|
+
},
|
|
84
|
+
drawerClasses() {
|
|
85
|
+
return this.collapsed ? "other-menu-drawer-wrap-collapsed" : "other-menu-drawer-wrap"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
methods: {
|
|
89
|
+
initListener(){
|
|
90
|
+
Bus.$on('history-menu-list',(data)=>{
|
|
91
|
+
this.initHistory(data)
|
|
92
|
+
});
|
|
93
|
+
Bus.$on('collect-menu-list', (data)=> {
|
|
94
|
+
this.initCollect(data)
|
|
95
|
+
})
|
|
96
|
+
},
|
|
97
|
+
destroyListener(){
|
|
98
|
+
Bus.$off('history-menu-list')
|
|
99
|
+
Bus.$off('collect-menu-list')
|
|
100
|
+
},
|
|
101
|
+
initHistory(historyMenuList){
|
|
102
|
+
this.historyMenuList = historyMenuList;
|
|
103
|
+
},
|
|
104
|
+
initCollect(collectMenuList){
|
|
105
|
+
this.collectMenuList = collectMenuList;
|
|
106
|
+
},
|
|
107
|
+
onChange(value) {
|
|
108
|
+
if (value == 'history') {
|
|
109
|
+
Bus.$emit('get-history-menu-list')
|
|
110
|
+
this.drawer.title = this.t('pro-layout.side.history-menu')
|
|
111
|
+
} else {
|
|
112
|
+
this.drawer.title = this.t('pro-layout.side.collect-menu')
|
|
113
|
+
}
|
|
114
|
+
this.drawer.type = value
|
|
115
|
+
this.drawer.model = !this.drawer.model
|
|
116
|
+
},
|
|
117
|
+
handleClick(item) {
|
|
118
|
+
this.drawer.model = false
|
|
119
|
+
this.$emit('select-menu', item.name, item)
|
|
120
|
+
},
|
|
121
|
+
handleHistoryDelete(item) {
|
|
122
|
+
Bus.$emit('delete-history-menu',item)
|
|
123
|
+
},
|
|
124
|
+
handleCollectDelete(item) {
|
|
125
|
+
Bus.$emit('delete-collect-menu',item)
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
created(){
|
|
129
|
+
this.initListener();
|
|
130
|
+
},
|
|
131
|
+
beforeDestroy(){
|
|
132
|
+
this.destroyListener();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
</script>
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
<style lang="less">
|
|
139
|
+
@import '../../../styles/other-menu.less';
|
|
140
|
+
</style>
|