|
|
|
|
@ -1,64 +1,51 @@ |
|
|
|
|
<template> |
|
|
|
|
<!-- <el-menu class="top-menu" :default-active="activeIndex" mode="horizontal" text-color="#333"> |
|
|
|
|
<el-menu-item index="0" @click="openHome(itemHome)"> |
|
|
|
|
<div> |
|
|
|
|
<el-menu class="top-menu" :default-active="activeIndex" mode="horizontal" text-color="#333" ellipsis style="width: 900px"> |
|
|
|
|
<!-- <el-menu-item index="0" @click="openHome(itemHome)"> |
|
|
|
|
<template #title> |
|
|
|
|
<i :class="itemHome.source" style="padding-right: 5px"></i> |
|
|
|
|
<span>{{ itemHome.name }}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
|
|
<template v-for="(item, index) in items" :key="index"> |
|
|
|
|
<el-menu-item :index="item.id + ''" @click="openMenu(item)"> |
|
|
|
|
<template #title> |
|
|
|
|
</el-menu-item> --> |
|
|
|
|
|
|
|
|
|
<template v-for="(item, index) in items" :key="index"> |
|
|
|
|
<el-menu-item :index="item.id + ''" @click="openMenu(item)"> |
|
|
|
|
<template #title> |
|
|
|
|
<i :class="item.source" style="padding-right: 5px"></i> |
|
|
|
|
<span>{{ item.name }}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-menu-item> |
|
|
|
|
</template> |
|
|
|
|
</el-menu> |
|
|
|
|
<div class="top_menu_box" v-if="setting.styleRadio == '3'"> |
|
|
|
|
<div v-for="(item, index) in items" :key="index" @click="openMenu(item)"> |
|
|
|
|
<div class="top_menu_box_item" v-if="index <= 7" :class="activeIndex == item.id ? 'active' : ''"> |
|
|
|
|
<i :class="item.source" style="padding-right: 5px"></i> |
|
|
|
|
<span>{{ item.name }}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-menu-item> |
|
|
|
|
</template> |
|
|
|
|
</el-menu> --> |
|
|
|
|
<div class="top_menu_box" v-if="setting.styleRadio=='3'"> |
|
|
|
|
<div v-for="(item, index) in items" :key="index" @click="openMenu(item)"> |
|
|
|
|
<div class="top_menu_box_item" v-if="index <= 7" :class="activeIndex == item.id ? 'active' : ''"> |
|
|
|
|
<i :class="item.source" style="padding-right: 5px"></i> |
|
|
|
|
<span>{{ item.name }}</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div v-show="items.length > 9" > |
|
|
|
|
<el-popover |
|
|
|
|
placement="bottom-start" |
|
|
|
|
:show-arrow="false" |
|
|
|
|
:offset="0" |
|
|
|
|
:hide-after='0' |
|
|
|
|
popper-class="log-popover" |
|
|
|
|
popper-style="visibility: visible;width:auto;border:none; transform-origin: left center; z-index: 2051;padding:0;offset:0 !important;" |
|
|
|
|
> |
|
|
|
|
<template #reference> |
|
|
|
|
<div style="height:100%;display: flex;align-items: center;"> |
|
|
|
|
<el-icon class="el-icon--right" style="width: 16px;height: 16px;" color="#fff"> |
|
|
|
|
<arrow-down /> |
|
|
|
|
</el-icon> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <div class="right_menu_item_box" @click='clickPage(item)'> |
|
|
|
|
<div>{{ item.name }}</div> |
|
|
|
|
<el-icon><ArrowRight /></el-icon> |
|
|
|
|
</div> --> |
|
|
|
|
</template> |
|
|
|
|
<template #default > |
|
|
|
|
<div v-if="items.length > 7"> |
|
|
|
|
<div v-for="item in items.filter((item,index) => index > 7)" style="padding: 10px;cursor: pointer; " @click="openMenu(item)"> |
|
|
|
|
<div>{{ item.name }}</div> |
|
|
|
|
<div v-show="items.length > 9"> |
|
|
|
|
<el-popover placement="bottom-start" :show-arrow="false" :offset="0" :hide-after='0' popper-class="log-popover" |
|
|
|
|
popper-style="visibility: visible;width:auto;border:none; transform-origin: left center; z-index: 2051;padding:0;offset:0 !important;"> |
|
|
|
|
<template #reference> |
|
|
|
|
<div style="height:100%;display: flex;align-items: center;"> |
|
|
|
|
<el-icon class="el-icon--right" style="width: 16px;height: 16px;" color="#fff"> |
|
|
|
|
<arrow-down /> |
|
|
|
|
</el-icon> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<!-- <div class="third_box" v-if="item.children && item.children.length != 0"> |
|
|
|
|
<div class="third_box_item" v-for="third in item.children" :key="third.id"> |
|
|
|
|
{{ third.name }} |
|
|
|
|
</div> |
|
|
|
|
</div> --> |
|
|
|
|
</template> |
|
|
|
|
</el-popover> |
|
|
|
|
|
|
|
|
|
</template> |
|
|
|
|
<template #default> |
|
|
|
|
<div v-if="items.length > 7"> |
|
|
|
|
<div v-for="item in items.filter((item, index) => index > 7)" style="padding: 10px;cursor: pointer; " |
|
|
|
|
@click="openMenu(item)"> |
|
|
|
|
<div>{{ item.name }}</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</template> |
|
|
|
|
</el-popover> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
@ -76,7 +63,7 @@ export default { |
|
|
|
|
}, |
|
|
|
|
// activeIndex: '0', |
|
|
|
|
items: [], |
|
|
|
|
timer:null |
|
|
|
|
timer: null |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
inject: ['index'], |
|
|
|
|
@ -85,11 +72,11 @@ export default { |
|
|
|
|
this.interval() |
|
|
|
|
}, |
|
|
|
|
computed: { |
|
|
|
|
...mapGetters(['tagCurrent', 'menu', 'tagWel','activeIndex','selectIndex','selectedIndex','leftMenu','setting']), |
|
|
|
|
...mapGetters(['tagCurrent', 'menu', 'tagWel', 'activeIndex', 'selectIndex', 'selectedIndex', 'leftMenu', 'setting']), |
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
openMenu(item) { |
|
|
|
|
console.log('item------------------------',item) |
|
|
|
|
console.log('item------------------------', item) |
|
|
|
|
this.index.openMenu2(item); |
|
|
|
|
this.$store.commit('SET_ACTIVE_INDEX', item.id + ''); |
|
|
|
|
}, |
|
|
|
|
@ -97,24 +84,24 @@ export default { |
|
|
|
|
this.index.openMenu(itemHome); |
|
|
|
|
this.$router.push(this.tagWel); |
|
|
|
|
}, |
|
|
|
|
interval(){ |
|
|
|
|
interval() { |
|
|
|
|
console.log('1111111111111111111111111111111111111') |
|
|
|
|
this.timer = setInterval(() =>{ |
|
|
|
|
this.timer = setInterval(() => { |
|
|
|
|
this.getMenu() |
|
|
|
|
},1000) |
|
|
|
|
}, 1000) |
|
|
|
|
}, |
|
|
|
|
getMenu() { |
|
|
|
|
this.items = this.menu |
|
|
|
|
console.log('menu-------------------------------------',this.menu) |
|
|
|
|
console.log('items-------------------------------------',this.items) |
|
|
|
|
if(this.menu.length != 0){ |
|
|
|
|
console.log('menu222-------------------------------------', this.menu) |
|
|
|
|
console.log('items-------------------------------------', this.items) |
|
|
|
|
if (this.menu.length != 0) { |
|
|
|
|
clearInterval(this.timer) |
|
|
|
|
} |
|
|
|
|
if(this.activeIndex){ |
|
|
|
|
if (this.activeIndex) { |
|
|
|
|
let tmp = this.menu.find(item => item.id == this.activeIndex) |
|
|
|
|
this.openMenu(tmp) |
|
|
|
|
}else{ |
|
|
|
|
if(this.menu.length != 0){ |
|
|
|
|
} else { |
|
|
|
|
if (this.menu.length != 0) { |
|
|
|
|
this.openMenu(this.menu[0]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -131,10 +118,10 @@ export default { |
|
|
|
|
}; |
|
|
|
|
</script> |
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
.top_menu_box{ |
|
|
|
|
.top_menu_box { |
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
|
|
.top_menu_box_item{ |
|
|
|
|
.top_menu_box_item { |
|
|
|
|
font-weight: 400; |
|
|
|
|
font-size: 14px; |
|
|
|
|
color: #fff; |
|
|
|
|
@ -144,7 +131,7 @@ export default { |
|
|
|
|
padding: 0 24px 0 12px; |
|
|
|
|
cursor: pointer; |
|
|
|
|
|
|
|
|
|
&.active{ |
|
|
|
|
&.active { |
|
|
|
|
background: #dceeff; |
|
|
|
|
color: #06f; |
|
|
|
|
} |
|
|
|
|
|