Compare commits
No commits in common. "56056ec3d098a29ba08cbd9afabcf08f86938332" and "9dde50d61c33ae1e1fd8147ca756f1422f8d473a" have entirely different histories.
56056ec3d0
...
9dde50d61c
2
components.d.ts
vendored
2
components.d.ts
vendored
@ -60,7 +60,6 @@ declare module 'vue' {
|
|||||||
TyFooter: typeof import('./src/components/ty-footer.vue')['default']
|
TyFooter: typeof import('./src/components/ty-footer.vue')['default']
|
||||||
TyForm: typeof import('./src/components/ty-form.vue')['default']
|
TyForm: typeof import('./src/components/ty-form.vue')['default']
|
||||||
TyHeader: typeof import('./src/components/ty-header.vue')['default']
|
TyHeader: typeof import('./src/components/ty-header.vue')['default']
|
||||||
TyMenuNode: typeof import('./src/components/ty-menu-node.vue')['default']
|
|
||||||
TyMixbar: typeof import('./src/components/ty-mixbar.vue')['default']
|
TyMixbar: typeof import('./src/components/ty-mixbar.vue')['default']
|
||||||
TyNotice: typeof import('./src/components/ty-notice.vue')['default']
|
TyNotice: typeof import('./src/components/ty-notice.vue')['default']
|
||||||
TySearchForm: typeof import('./src/components/ty-search-form.vue')['default']
|
TySearchForm: typeof import('./src/components/ty-search-form.vue')['default']
|
||||||
@ -126,7 +125,6 @@ declare global {
|
|||||||
const TyFooter: typeof import('./src/components/ty-footer.vue')['default']
|
const TyFooter: typeof import('./src/components/ty-footer.vue')['default']
|
||||||
const TyForm: typeof import('./src/components/ty-form.vue')['default']
|
const TyForm: typeof import('./src/components/ty-form.vue')['default']
|
||||||
const TyHeader: typeof import('./src/components/ty-header.vue')['default']
|
const TyHeader: typeof import('./src/components/ty-header.vue')['default']
|
||||||
const TyMenuNode: typeof import('./src/components/ty-menu-node.vue')['default']
|
|
||||||
const TyMixbar: typeof import('./src/components/ty-mixbar.vue')['default']
|
const TyMixbar: typeof import('./src/components/ty-mixbar.vue')['default']
|
||||||
const TyNotice: typeof import('./src/components/ty-notice.vue')['default']
|
const TyNotice: typeof import('./src/components/ty-notice.vue')['default']
|
||||||
const TySearchForm: typeof import('./src/components/ty-search-form.vue')['default']
|
const TySearchForm: typeof import('./src/components/ty-search-form.vue')['default']
|
||||||
|
|||||||
@ -20,9 +20,17 @@
|
|||||||
@select="onNavSelect"
|
@select="onNavSelect"
|
||||||
>
|
>
|
||||||
<template v-for="item in menus" :key="item.code">
|
<template v-for="item in menus" :key="item.code">
|
||||||
<ty-menu-node v-if="layout === 'top'" :node="item" />
|
<el-sub-menu v-if="layout === 'top' && item.children?.length" :index="item.code">
|
||||||
|
<template #title>
|
||||||
|
<icon type="iconify" :icon="item.icon ?? 'mdi:menu'" class="menu-icon" />
|
||||||
|
<span>{{ item.name }}</span>
|
||||||
|
</template>
|
||||||
|
<el-menu-item v-for="child in item.children" :key="child.code" :index="child.path ?? child.code">
|
||||||
|
{{ child.name }}
|
||||||
|
</el-menu-item>
|
||||||
|
</el-sub-menu>
|
||||||
<el-menu-item v-else :index="item.code">
|
<el-menu-item v-else :index="item.code">
|
||||||
<icon type="iconify" :icon="item.icon ?? 'mdi:menu'" />
|
<icon type="iconify" :icon="item.icon ?? 'mdi:menu'" class="menu-icon" />
|
||||||
<span>{{ item.name }}</span>
|
<span>{{ item.name }}</span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
</template>
|
</template>
|
||||||
@ -211,7 +219,7 @@ function onUserCommand(command: string): void {
|
|||||||
color: var(--el-color-primary);
|
color: var(--el-color-primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.icon) {
|
:deep(.menu-icon) {
|
||||||
@apply mr-1 text-base;
|
@apply mr-1 text-base;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,21 +0,0 @@
|
|||||||
<template>
|
|
||||||
<el-sub-menu v-if="node.children?.length" :index="node.code">
|
|
||||||
<template #title>
|
|
||||||
<icon type="iconify" :icon="node.icon ?? 'mdi:menu'" />
|
|
||||||
<span>{{ node.name }}</span>
|
|
||||||
</template>
|
|
||||||
<TyMenuNode v-for="child in node.children" :key="child.code" :node="child" />
|
|
||||||
</el-sub-menu>
|
|
||||||
<el-menu-item v-else :index="node.path ?? node.code">
|
|
||||||
<icon type="iconify" :icon="node.icon ?? 'mdi:menu'" />
|
|
||||||
<span>{{ node.name }}</span>
|
|
||||||
</el-menu-item>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup lang="ts">
|
|
||||||
import type { ResourceNode } from '@/types/resource'
|
|
||||||
|
|
||||||
defineOptions({ name: 'TyMenuNode' })
|
|
||||||
|
|
||||||
defineProps<{ node: ResourceNode }>()
|
|
||||||
</script>
|
|
||||||
@ -9,7 +9,22 @@
|
|||||||
popper-class="ty-menu-popper"
|
popper-class="ty-menu-popper"
|
||||||
@select="onSelect"
|
@select="onSelect"
|
||||||
>
|
>
|
||||||
<ty-menu-node v-for="item in menus" :key="item.code" :node="item" />
|
<template v-for="item in menus" :key="item.code">
|
||||||
|
<el-sub-menu v-if="item.children?.length" :index="item.code">
|
||||||
|
<template #title>
|
||||||
|
<icon type="iconify" :icon="item.icon ?? 'mdi:menu'" />
|
||||||
|
<span>{{ item.name }}</span>
|
||||||
|
</template>
|
||||||
|
<el-menu-item v-for="child in item.children" :key="child.code" :index="child.path ?? child.code">
|
||||||
|
<icon v-if="child.icon" type="iconify" :icon="child.icon" />
|
||||||
|
<span>{{ child.name }}</span>
|
||||||
|
</el-menu-item>
|
||||||
|
</el-sub-menu>
|
||||||
|
<el-menu-item v-else :index="item.path ?? item.code">
|
||||||
|
<icon type="iconify" :icon="item.icon ?? 'mdi:menu'" />
|
||||||
|
<span>{{ item.name }}</span>
|
||||||
|
</el-menu-item>
|
||||||
|
</template>
|
||||||
</el-menu>
|
</el-menu>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</aside>
|
</aside>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user