index.vue 804 B

1234567891011121314151617181920212223242526272829303132333435
  1. <template>
  2. <div class="slide">
  3. <el-menu
  4. :default-active="(router.currentRoute.value.name as string)"
  5. @select="(name: string) => router.push({ name })"
  6. >
  7. <sub-menu
  8. :meta="route.meta"
  9. :name="route.name"
  10. v-for="route in routes"
  11. :key="route.name"
  12. />
  13. </el-menu>
  14. </div>
  15. </template>
  16. <script setup lang="ts">
  17. import subMenu from "./submenu.vue";
  18. import { getPermissionRoutes } from "@/store/permission";
  19. import { RouteName, router } from "@/router";
  20. import { FireRouteName } from "@/app/fire/routeConfig";
  21. const props = defineProps<{ names: string[] }>();
  22. const routes = getPermissionRoutes(props.names, [
  23. RouteName.setting,
  24. FireRouteName.recycle,
  25. ]);
  26. </script>
  27. <style lang="scss" scoped>
  28. .slide {
  29. background: #ffffff;
  30. }
  31. </style>