From 4c810c1feb3f78c458084d73e89adc6c4f2256f1 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期四, 06 六月 2024 18:22:55 +0800
Subject: [PATCH] 1
---
src/layout/components/NavMenu.vue | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/src/layout/components/NavMenu.vue b/src/layout/components/NavMenu.vue
index c1b09ed..1786087 100644
--- a/src/layout/components/NavMenu.vue
+++ b/src/layout/components/NavMenu.vue
@@ -1,3 +1,11 @@
+<!--
+ * @Author: lzhe lzhe@example.com
+ * @Date: 2024-04-22 16:38:17
+ * @LastEditors: lzhe lzhe@example.com
+ * @LastEditTime: 2024-05-11 17:30:06
+ * @FilePath: /smart-web/src/layout/components/NavMenu.vue
+ * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+-->
<template>
<div v-if="navMenus.length<=0" style="padding:20px;">
<el-alert title="鏃犲瓙闆嗚彍鍗�" center type="info" :closable="false"></el-alert>
@@ -5,7 +13,12 @@
<template v-for="navMenu in navMenus" v-bind:key="navMenu">
<el-menu-item v-if="!hasChildren(navMenu)" :index="navMenu.path">
<a v-if="navMenu.meta&&navMenu.meta.type=='link'" :href="navMenu.path" target="_blank" @click.stop='()=>{}'></a>
- <el-icon v-if="navMenu.meta&&navMenu.meta.icon"><component :is="navMenu.meta.icon || 'el-icon-menu'"/></el-icon>
+ <!-- <el-icon><Warning /></el-icon> -->
+ <el-icon>
+ <component v-if="icons.includes(navMenu.source)" :is="navMenu.source"/>
+ <component v-if="!icons.includes(navMenu.source)" :is="'TakeawayBox'"/>
+ <!-- <el-icon v-if="navMenu.meta&&navMenu.meta.icon"><component :is="navMenu.meta.icon || 'el-icon-menu'"/></el-icon> -->
+ </el-icon>
<template #title>
<span>{{navMenu.meta.title}}</span>
<span v-if="navMenu.meta.tag" class="menu-tag">{{navMenu.meta.tag}}</span>
@@ -13,7 +26,11 @@
</el-menu-item>
<el-sub-menu v-else :index="navMenu.path">
<template #title>
- <!-- <el-icon v-if="navMenu.meta&&navMenu.meta.icon"><component :is="navMenu.meta.icon || 'el-icon-menu'"/></el-icon> -->
+ <el-icon v-if="navMenu.parentId!='0' &&navMenu.meta&&navMenu.meta.icon">
+ <component v-if="icons.includes(navMenu.source)" :is="navMenu.source"/>
+ <component v-if="!icons.includes(navMenu.source)" :is="'TakeawayBox'"/>
+ <!-- <component :is="navMenu.meta.icon || 'el-icon-menu'"/> -->
+ </el-icon>
<span>{{navMenu.meta.title}}</span>
<span v-if="navMenu.meta.tag" class="menu-tag">{{navMenu.meta.tag}}</span>
</template>
@@ -23,19 +40,29 @@
</template>
<script>
+ import * as ElementPlusIconsVue from '@element-plus/icons-vue'
+ let icons = []
+ for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
+ icons.push(key)
+ }
export default {
name: 'NavMenu',
props: ['navMenus'],
data() {
- return {}
+ return {
+ icons
+ }
},
+ components: {
+ ...ElementPlusIconsVue
+ },
methods: {
hasChildren(item) {
return item.children && !item.children.every(item => item.meta.hidden)
+ //return item.parentId == '0';
}
},
mounted(){
-
}
}
</script>
--
Gitblit v1.9.3