Commit c39b8360 authored by tianhongyang's avatar tianhongyang

merge

parent 5ca4821e
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="feed-summary-container"> <div class="feed-summary-container">
<div class="feed-summary-inner"> <div class="feed-summary-inner">
<div class="left-side-menu"> <div class="left-side-menu">
<project-side-menu :menuTree="menuTreeList"></project-side-menu> <project-side-menu :menuTree="menuTreeList" :unique-opened="false" :default-active="defaultActive"></project-side-menu>
</div> </div>
</div> </div>
</div> </div>
...@@ -16,6 +16,7 @@ export default { ...@@ -16,6 +16,7 @@ export default {
}, },
data() { data() {
return { return {
defaultActive: "",
menuTreeList: [ menuTreeList: [
{ {
nodeName: "房建类成本科目", nodeName: "房建类成本科目",
......
<template> <template>
<div class="project-menu-item-container"> <div class="project-menu-item-container">
<template>
<!-- 有下级菜单 -->
<template v-if="checkHasChidren">
<el-submenu :index="menuItem.nodeValue" ref="projectSubMenuItem" class="project-sub-menu-item">
<template slot="title">
<i class="el-icon-location"></i>
<span>111</span>
</template>
</el-submenu>
</template>
<template v-else>
</template>
</template>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name : "projectMenuItem", name: "projectMenuItem",
props: {
menuItem: {
type: Object,
required: true,
default: () => ({})
}
},
data() { data() {
return { return {
} };
}, },
//可访问data属性 //可访问data属性
created(){ created() {
}, },
//计算集 //计算集
computed:{ computed: {
checkHasChidren() {
return !!(this.menuItem && this.menuItem?.children && this.menuItem.children.length);
}
}, },
//方法集 //方法集
methods:{ methods: {
}, },
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.project-menu-item-container { .project-menu-item-container {
} }
</style> </style>
<template> <template>
<div class="project-side-menu-container"> <div class="project-side-menu-container">
<el-menu mode="vertical" class="project-side-menu-instance"> <el-menu mode="vertical" class="project-side-menu-instance" :unique-opened="uniqueOpened" :default-active="defaultActive" @select="menuSelect"
@open="subMenuOpen" @close="subMenuClose">
<template v-for="(item,index) of tempMenuTree"> <template v-for="(item,index) of tempMenuTree">
<project-menu-item :menuItem="item" :key="item.nodeValue"></project-menu-item> <project-menu-item :menuItem="item" :key="item.nodeValue"></project-menu-item>
</template> </template>
...@@ -31,6 +32,16 @@ export default { ...@@ -31,6 +32,16 @@ export default {
icon: "icon", icon: "icon",
suffixIcon: "suffixIcon" suffixIcon: "suffixIcon"
}) })
},
// 只保持打开一个菜单
uniqueOpened: {
type: Boolean,
default: false
},
// 默认打开的菜单
defaultActive: {
type: String,
default: ""
} }
}, },
watch: { watch: {
...@@ -69,6 +80,16 @@ export default { ...@@ -69,6 +80,16 @@ export default {
}, },
//方法集 //方法集
methods: { methods: {
// 事件订阅
subMenuOpen(menuPath) {
this.$emit("open", menuPath);
},
subMenuClose(menuPath) {
this.$emit("close", menuPath);
},
menuSelect(menuPath) {
this.$emit("select", menuPath);
},
// 初始化树形结构 // 初始化树形结构
initMenuTree(array = []) { initMenuTree(array = []) {
if (array?.length) { if (array?.length) {
...@@ -162,7 +183,8 @@ export default { ...@@ -162,7 +183,8 @@ export default {
overflow: auto; overflow: auto;
/* 重置一级二级菜单 高度行高 */ /* 重置一级二级菜单 高度行高 */
/* .el-submenu__title { .project-sub-menu-item {
& > .el-submenu__title {
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
...@@ -174,7 +196,8 @@ export default { ...@@ -174,7 +196,8 @@ export default {
rgba(0, 129, 255, 0) 100% rgba(0, 129, 255, 0) 100%
); );
} }
} */ }
}
} }
} }
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment