安琪酵母(西藏)益生菌信息采集中心智能实验室
longyvfengyun
2023-06-15 9e161eb46e5f0633079d0a71bae7dbdbfdec2deb
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<script setup>
import {computed, ref} from "vue";
import usePageMenuStore from "@/store/usePageMenuStore";
import {
    Menu as IconMenu,
    Setting,
} from '@element-plus/icons-vue'
const pageMenuStore = usePageMenuStore();
 
const isCollapse = computed(()=>{
    return pageMenuStore.isCollapse;
});
 
const menuActive = ref("/");
const menuData = ref([]);
menuData.value = [
    {
        title: "首页",
        path: "/",
    },
    {
        title: "客户管理",
        path: "/customer",
        children: [
            {
                title: "客户档案",
                path: "/customer/customer"
            },
            {
                title: "拜访记录",
                path: "/customer/visit"
            },
        ]
    },
    {
        title: "修养预约",
        path: "business",
        children: [
            {
                title: "预约信息",
                path: "/business/appointment"
            },
            {
                title: "服务项",
                path: "/business/service"
            },
            {
                title: "结算单",
                path: "/business/statement"
            },
        ]
    },
    {
        title: "流程管理",
        path: "/flow",
        children: [
            {
                title: "审核流程定义",
                path: "/flow/definition"
            },
        ],
    }
];
 
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><icon-menu /></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><icon-menu /></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>