|
|
@@ -1,123 +0,0 @@
|
|
|
-<template>
|
|
|
- <a-space size="large">
|
|
|
- <a-dropdown trigger="hover">
|
|
|
- <div class="nav-item" :class="{ 'is-active': is_active }">
|
|
|
- <span class="nav-item-icon"><img :src="img_src" /></span>
|
|
|
- <span>{{ label }}</span>
|
|
|
- <span class="nav-item-icon arrow-down"><img src="../../assets/arrow-down.png" /></span>
|
|
|
- </div>
|
|
|
-
|
|
|
- <template #content>
|
|
|
- <a-doption
|
|
|
- ><router-link class="arco-link" to="/permission/role">{{ $t('permission.role') }}</router-link></a-doption
|
|
|
- >
|
|
|
- <a-doption
|
|
|
- ><router-link class="arco-link" to="/permission/account">{{
|
|
|
- $t('permission.account')
|
|
|
- }}</router-link></a-doption
|
|
|
- >
|
|
|
- <a-doption
|
|
|
- ><router-link class="arco-link" to="/permission/org">{{
|
|
|
- $t('permission.organization')
|
|
|
- }}</router-link></a-doption
|
|
|
- >
|
|
|
- <a-doption
|
|
|
- ><router-link class="arco-link" to="/permission/resource">{{
|
|
|
- $t('permission.resource')
|
|
|
- }}</router-link></a-doption
|
|
|
- >
|
|
|
- <a-doption
|
|
|
- ><router-link class="arco-link" to="/permission/group">{{ $t('permission.group') }}</router-link></a-doption
|
|
|
- >
|
|
|
- </template>
|
|
|
- </a-dropdown>
|
|
|
- </a-space>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script setup>
|
|
|
-import { ref, computed } from 'vue';
|
|
|
-import { useRoute } from 'vue-router';
|
|
|
-
|
|
|
-import { header_icon_quanxian } from './header-icon-map';
|
|
|
-
|
|
|
-const props = defineProps({
|
|
|
- label: String
|
|
|
-});
|
|
|
-
|
|
|
-const route = useRoute();
|
|
|
-
|
|
|
-const is_active = computed(() => {
|
|
|
- const cur_path = route.path;
|
|
|
-
|
|
|
- const active_list = [
|
|
|
- '/permission/role',
|
|
|
- '/permission/account',
|
|
|
- '/permission/org',
|
|
|
- '/permission/resource',
|
|
|
- '/permission/group'
|
|
|
- ];
|
|
|
-
|
|
|
- return active_list.indexOf(cur_path) >= 0;
|
|
|
-});
|
|
|
-
|
|
|
-const img_src = computed(() => {
|
|
|
- if (is_active.value) {
|
|
|
- // TODO: 如果是激活状态,应该改为 2
|
|
|
- // 资源目录应该添加名为 2 的图标
|
|
|
- return header_icon_quanxian.t2;
|
|
|
- } else {
|
|
|
- return header_icon_quanxian.t1;
|
|
|
- }
|
|
|
-});
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="css" scoped>
|
|
|
-.nav-item {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
-
|
|
|
- height: 40px;
|
|
|
- border-radius: 20px;
|
|
|
-
|
|
|
- padding-left: 15px;
|
|
|
- padding-right: 15px;
|
|
|
-
|
|
|
- margin-left: 5px;
|
|
|
- margin-right: 5px;
|
|
|
-
|
|
|
- color: var(--color-text-1);
|
|
|
-
|
|
|
- cursor: pointer;
|
|
|
-}
|
|
|
-
|
|
|
-.nav-item:hover {
|
|
|
- background-color: var(--color-fill-4);
|
|
|
- color: #fff;
|
|
|
-}
|
|
|
-
|
|
|
-.nav-item.is-active {
|
|
|
- background-color: rgb(var(--primary-6));
|
|
|
- color: #fff;
|
|
|
-}
|
|
|
-
|
|
|
-.nav-item-icon {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
-
|
|
|
- margin-right: 5px;
|
|
|
-}
|
|
|
-
|
|
|
-.nav-item-icon img {
|
|
|
- width: 18px;
|
|
|
-}
|
|
|
-
|
|
|
-.nav-item-icon.arrow-down {
|
|
|
- margin-left: 2px;
|
|
|
-}
|
|
|
-
|
|
|
-.nav-item-icon.arrow-down img {
|
|
|
- width: 14px;
|
|
|
-}
|
|
|
-</style>
|