|
@@ -2,17 +2,25 @@
|
|
|
<div class="slide">
|
|
|
<el-menu :default-active="(router.currentRoute.value.name as string)"
|
|
|
@select="(name: string) => router.push({ name })">
|
|
|
- <sub-menu v-for="route in routes" :meta="route.meta" :name="(route.name as string)" :key="route.name" />
|
|
|
+ <sub-menu v-for="route in routes" :meta="route.meta" v-show="!route.meta.hidden" :name="(route.name as string)"
|
|
|
+ :key="route.name" />
|
|
|
</el-menu>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
+import { computed } from "vue";
|
|
|
import subMenu from "./submenu.vue";
|
|
|
+import { user } from "@/store/user";
|
|
|
+
|
|
|
import { router, findRoute } from "@/router";
|
|
|
//@TODO
|
|
|
-const names = ["scene", "relics", "device", "organization", "users"];
|
|
|
-const routes = names.map((name) => findRoute(name)!);
|
|
|
+const isSuper = computed(() => user.value.roles.filter(item => item.roleKey === "super_admin").length > 0)
|
|
|
+const normal_name = ["scene", "relics", "device", "users"];
|
|
|
+const super_names = ["scene", "relics", "device", "organization", "users"];
|
|
|
+console.log('isSuper', isSuper.value)
|
|
|
+
|
|
|
+const routes = isSuper.value ? super_names.map((name) => findRoute(name)!) : normal_name.map((name) => findRoute(name)!);
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|