08335 / hivui-platform-template
hivui平台项目模板
Newer
Older
hivui-platform-template / project / hivuiMain / views / layout / components / allFuncMenu / menus.vue
<template>
    <p-sub-menu ref="subMenu" :level="level" :parent="parent" :isAllFunc="true">
        <template slot="title">
            {{menuitem.name}}
            <i v-if="menuitem.type=='dir'" class="el-icon-caret-right"></i>
        </template>
        <template v-for="(item,index) in menuitem.children">
            <p-menu-item :icon="item.iconClass"  v-if="item.isShow&&!(item.children&&item.children.length)" @click="handleOpenFunc(item)">{{item.name}}</p-menu-item>            
            <nav-sub-menus :menuitem="item" v-if="item.isShow&&item.children&&item.children.length"></nav-sub-menus>
        </template>
    </p-sub-menu>





    
</template>
<script> 
import {PMenu,PSubMenu,PMenuItem} from '../menus'
export default {
    name:'NavSubMenus',
    inject:['addTab','showTab','hideTab','hideAllFuncBox'],
    components:{
        PMenu,PSubMenu,PMenuItem
    },
    props:{
        menuitem:{
            type:Object
        },
        level:{
            type:Number
        },
        parent:{
            type:Object
        }
    },
    methods:{  
        handleOpenFunc(item){
            if(item.type== "link"){
                window.open(item.resUrl,item.name);
                return;
            }
            this.addTab(item);//inject 提供的方法只能 传一个参数
            this.$refs.subMenu.hide();
            this.hideAllFuncBox();
        }
    }
}
</script>