diff --git a/package-lock.json.REMOVED.git-id b/package-lock.json.REMOVED.git-id
index ab81fff2..5fad0882 100644
--- a/package-lock.json.REMOVED.git-id
+++ b/package-lock.json.REMOVED.git-id
@@ -1 +1 @@
-75cce2a7e7e6a79b8b81a09d6028160238f7d647
\ No newline at end of file
+0ec40645fbaa948452267003c25548620961d85e
\ No newline at end of file
diff --git a/package.json b/package.json
index d2b7c747..42e74c29 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "d2-admin",
- "version": "1.7.1",
+ "version": "1.7.2",
"scripts": {
"serve": "vue-cli-service serve --open",
"build": "vue-cli-service build",
diff --git a/src/layout/header-aside/components/components/menu-item/index.vue b/src/layout/header-aside/components/components/menu-item/index.vue
deleted file mode 100644
index 391b32fe..00000000
--- a/src/layout/header-aside/components/components/menu-item/index.vue
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- {{menu.title || $t('layout.header-aside.menu-item.label-default')}}
-
-
-
-
diff --git a/src/layout/header-aside/components/components/menu-sub/index.vue b/src/layout/header-aside/components/components/menu-sub/index.vue
deleted file mode 100644
index 7cf222c2..00000000
--- a/src/layout/header-aside/components/components/menu-sub/index.vue
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
- {{menu.title}}
-
-
-
-
-
-
-
-
-
diff --git a/src/layout/header-aside/components/libs/util.menu.js b/src/layout/header-aside/components/libs/util.menu.js
new file mode 100644
index 00000000..0f7b27c3
--- /dev/null
+++ b/src/layout/header-aside/components/libs/util.menu.js
@@ -0,0 +1,34 @@
+import { uniqueId } from 'lodash'
+
+// 创建 el-menu-item
+export function elMenuItem (createElement, menu) {
+ return createElement('el-menu-item', { props: { index: menu.path || uniqueId('d2-menu-empty-') } }, [
+ ...menu.icon ? [
+ createElement('i', { attrs: { class: `fa fa-${menu.icon}` } })
+ ] : [],
+ ...menu.icon === undefined & !menu.iconSvg ? [
+ createElement('i', { attrs: { class: 'fa fa-file-o' } })
+ ] : [],
+ ...menu.iconSvg ? [
+ createElement('d2-icon-svg', { props: { name: menu.iconSvg } })
+ ] : [],
+ createElement('span', { slot: 'title' }, menu.title || this.$t('layout.header-aside.menu-item.label-default'))
+ ])
+}
+
+// 创建 el-submenu
+export function elSubmenu (createElement, menu) {
+ return createElement('el-submenu', { props: { index: menu.path || uniqueId('d2-menu-empty-') } }, [
+ ...menu.icon ? [
+ createElement('i', { slot: 'title', attrs: { class: `fa fa-${menu.icon}` } })
+ ] : [],
+ ...menu.icon === undefined & !menu.iconSvg ? [
+ createElement('i', { slot: 'title', attrs: { class: 'fa fa-file-o' } })
+ ] : [],
+ ...menu.iconSvg ? [
+ createElement('d2-icon-svg', { slot: 'title', props: { name: menu.iconSvg } })
+ ] : [],
+ createElement('span', { slot: 'title' }, menu.title || this.$t('layout.header-aside.menu-item.label-default')),
+ ...menu.children.map((child, childIndex) => (child.children === undefined ? elMenuItem : elSubmenu).call(this, createElement, child))
+ ])
+}
diff --git a/src/layout/header-aside/components/menu-header/index.vue b/src/layout/header-aside/components/menu-header/index.js
similarity index 73%
rename from src/layout/header-aside/components/menu-header/index.vue
rename to src/layout/header-aside/components/menu-header/index.js
index 5aa47b5b..bea42497 100644
--- a/src/layout/header-aside/components/menu-header/index.vue
+++ b/src/layout/header-aside/components/menu-header/index.js
@@ -1,9 +1,8 @@
-
diff --git a/src/layout/header-aside/components/menu-side/index.vue b/src/layout/header-aside/components/menu-side/index.js
similarity index 58%
rename from src/layout/header-aside/components/menu-side/index.vue
rename to src/layout/header-aside/components/menu-side/index.js
index e4173eed..649a2e50 100644
--- a/src/layout/header-aside/components/menu-side/index.vue
+++ b/src/layout/header-aside/components/menu-side/index.js
@@ -1,37 +1,27 @@
-
-
-
-
-
diff --git a/yarn.lock.REMOVED.git-id b/yarn.lock.REMOVED.git-id
index 56ed964d..1663b7e9 100644
--- a/yarn.lock.REMOVED.git-id
+++ b/yarn.lock.REMOVED.git-id
@@ -1 +1 @@
-f0390fbbbea8e33d903173bd90f63bbfb8069d25
\ No newline at end of file
+53a2534f94e1fbddf5d771247686935e6f70062b
\ No newline at end of file