|
|
@@ -1,75 +1,38 @@
|
|
|
<script setup lang="ts">
|
|
|
-
|
|
|
-import { Document, Location, Setting } from '@element-plus/icons-vue'
|
|
|
-import { useCollapsedStore } from '@/stores/CollapsedStore.ts'
|
|
|
-import IconCommunity from '@/components/icons/IconCommunity.vue'
|
|
|
+import { ref } from 'vue'
|
|
|
+import RecursiveMenuItem from '@/components/RecursiveMenuItem.vue'
|
|
|
+import { useCollapsedStore } from '@/stores/CollapsedStore'
|
|
|
+import { buildTree, routeList } from '@/router/route'
|
|
|
+import { useRoute } from 'vue-router'
|
|
|
+const route = useRoute()
|
|
|
|
|
|
const store = useCollapsedStore()
|
|
|
+const treeRoutes = ref(buildTree(routeList))
|
|
|
+const activeIndex = ref(route.fullPath)
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
- <el-menu
|
|
|
- default-active="2"
|
|
|
- class="el-menu-vertical-demo"
|
|
|
- :collapse="store.collapsed"
|
|
|
- >
|
|
|
- <el-sub-menu index="1">
|
|
|
- <template #title>
|
|
|
- <el-icon>
|
|
|
- <Location />
|
|
|
- </el-icon>
|
|
|
- <span>智慧大屏管理</span>
|
|
|
- </template>
|
|
|
- <el-menu-item-group>
|
|
|
- <el-menu-item index="1-1">园区总览</el-menu-item>
|
|
|
- <el-menu-item index="1-2">智慧安防</el-menu-item>
|
|
|
- <el-menu-item index="1-3">智慧能耗</el-menu-item>
|
|
|
- <el-menu-item index="1-4">智慧消防</el-menu-item>
|
|
|
- <el-menu-item index="1-5">智慧灯杆</el-menu-item>
|
|
|
- <el-menu-item index="1-6">智慧停车</el-menu-item>
|
|
|
- </el-menu-item-group>
|
|
|
- </el-sub-menu>
|
|
|
-
|
|
|
- <el-sub-menu index="2">
|
|
|
- <template #title>
|
|
|
- <el-icon>
|
|
|
- <Location />
|
|
|
- </el-icon>
|
|
|
- <span>智慧路灯</span>
|
|
|
- </template>
|
|
|
- <el-menu-item-group>
|
|
|
- <el-menu-item index="1-1">园区总览</el-menu-item>
|
|
|
- <el-menu-item index="1-2">智慧安防</el-menu-item>
|
|
|
- <el-menu-item index="1-3">智慧能耗</el-menu-item>
|
|
|
- <el-menu-item index="1-4">智慧消防</el-menu-item>
|
|
|
- <el-menu-item index="1-5">智慧灯杆</el-menu-item>
|
|
|
- <el-menu-item index="1-6">智慧停车</el-menu-item>
|
|
|
- </el-menu-item-group>
|
|
|
- </el-sub-menu>
|
|
|
-
|
|
|
- <el-sub-menu index="3">
|
|
|
- <template #title>
|
|
|
- <el-icon>
|
|
|
- <Location />
|
|
|
- </el-icon>
|
|
|
- <span>智慧环境</span>
|
|
|
- </template>
|
|
|
- <el-menu-item-group>
|
|
|
- <el-menu-item index="1-1">实时监测</el-menu-item>
|
|
|
- <el-menu-item index="1-2">数据查询</el-menu-item>
|
|
|
- <el-menu-item index="1-3">报警查询</el-menu-item>
|
|
|
- <el-menu-item index="1-4">报警级别配置</el-menu-item>
|
|
|
- <el-menu-item index="1-5">报警联动</el-menu-item>
|
|
|
- <el-menu-item index="1-6">存储策略配置</el-menu-item>
|
|
|
- <el-menu-item index="1-7">配置偏差阀值</el-menu-item>
|
|
|
- </el-menu-item-group>
|
|
|
- </el-sub-menu>
|
|
|
- </el-menu>
|
|
|
+ <div class="h-full flex flex-col sider-area">
|
|
|
+ <div class="flex items-center p-4 bg-el-menu-bg-color transition-all duration-300 logo-container">
|
|
|
+ <div class="w-8 h-8 flex-shrink-0 logo">
|
|
|
+ <img src="@/assets/logo.svg" alt="Logo" class="w-full h-full object-contain logo-image" />
|
|
|
+ </div>
|
|
|
+ <h1 v-show="!store.collapsed" class="ml-3 text-18px font-bold text-el-text-color-primary whitespace-nowrap overflow-hidden text-ellipsis system-title">
|
|
|
+ 沅陵后台管理系统
|
|
|
+ </h1>
|
|
|
+ </div>
|
|
|
+ <el-menu
|
|
|
+ :default-active="activeIndex"
|
|
|
+ class="flex-grow border-r-0 el-menu-vertical"
|
|
|
+ :collapse="store.collapsed"
|
|
|
+ :collapse-transition="false"
|
|
|
+ router
|
|
|
+ >
|
|
|
+ <recursive-menu-item
|
|
|
+ v-for="item in treeRoutes"
|
|
|
+ :key="item.path"
|
|
|
+ :item="item"
|
|
|
+ />
|
|
|
+ </el-menu>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
-
|
|
|
-<style scoped>
|
|
|
-.el-menu-vertical-demo:not(.el-menu--collapse) {
|
|
|
- width: 200px;
|
|
|
- min-height: 400px;
|
|
|
-}
|
|
|
-</style>
|