安琪酵母(西藏)益生菌信息采集中心智能实验室
longyvfengyun
2023-06-16 55f55103fed83d2584012e4308c1c31779574eb0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<script setup>
import {computed, ref} from "vue";
import usePageMenuStore from "@/store/usePageMenuStore";
const pageMenuStore = usePageMenuStore();
 
const isCollapse = computed(()=>{
    return pageMenuStore.isCollapse;
});
 
const menuActive = ref("/");
const menuData = ref([]);
menuData.value = [
    {
        title: "首页",
        path: "/",
        icon: "HomeFilled"
    },
    {
        title: "门禁",
        path: "/accessControl",
        icon: "Checked",
    },
    {
        title: "视频监控",
        path: "/video",
        icon: "VideoCameraFilled",
    },
    {
        title: "空调",
        path: "/airConditioning",
        icon: "Postcard",
    },
    {
        title: "用户管理",
        path: "/userManagement",
        icon: "UserFilled"
    },
];
 
const handleOpen = ()=>{};
const handleClose = ()=>{};
</script>
 
<template>
    <div class="menu-wrapper">
        <el-menu
            :router="true"
            text-color="#4ba1fa"
            active-text-color="#00fefe"
            background-color="#021a64"
            :default-active="menuActive"
            :unique-opened="true"
            class="el-menu-vertical"
            :collapse="isCollapse"
            @open="handleOpen"
            @close="handleClose">
            <template v-for="menu in menuData" :key="menu.path">
                <el-sub-menu :index="menu.path" v-if="menu.children">
                    <template #title>
                        <el-icon>
                            <component :is="menu.icon"></component>
                        </el-icon>
                        <span>{{menu.title}}</span>
                    </template>
                    <el-menu-item
                        v-for="children in menu.children"
                        :key="children.path"
                        :index="children.path">{{children.title}}</el-menu-item>
                </el-sub-menu>
                <el-menu-item :index="menu.path" v-else>
                    <el-icon>
                        <component :is="menu.icon"></component>
                    </el-icon>
                    <template #title>{{menu.title}}</template>
                </el-menu-item>
            </template>
        </el-menu>
    </div>
</template>
 
<style lang="less" scoped>
.menu-wrapper {
    height: 100%;
    overflow-y: auto;
    background-color: #021a64;
    &.min-width {
        min-width: 240px;
    }
}
.el-menu-vertical {
    border-right: 0;
    .el-menu-item.is-active{
        background-color: rgb(4, 32, 119);
    }
}
 
.el-menu-vertical:not(.el-menu--collapse) {
    width: 200px;
    min-height: 400px;
}
</style>