diff --git a/modules/core/src/main/resources/views/functions/menu/tree.html b/modules/core/src/main/resources/views/functions/menu/tree.html
new file mode 100644
index 00000000..43b0ec3b
--- /dev/null
+++ b/modules/core/src/main/resources/views/functions/menu/tree.html
@@ -0,0 +1,116 @@
+<%/* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+ * No deletion without permission, or be held responsible to law. */
+
+/**
+ * 侧边栏菜单
+ * @author ThinkGem
+ * @version 2017-3-5
+ */
+var p = para0; p.html = '';
+p.loadType = p.loadType!'2';
+p.parentCode = p.parentCode!'0';
+p.paddingLeft = p.paddingLeft!14;
+p.paddingInitLeft = p.paddingInitLeft!(@Global.getConfig('sys.index.menuStyle', '1') == '2' ? 0 : p.paddingLeft);
+if (p.loadType == '1'){
+ p.menuList = @UserUtils.getMenuListByParentCode(p.parentCode);
+}else if (p.loadType == '2'){
+ if (p.children!false){
+ p.menuList = p.childList![];
+ }else{
+ if (p.children!true){
+ if (p.parentCode == '0'){
+ p.parentCode = '0,';
+ }else{
+ p.parentCode = '0,' + p.parentCode + ',';
+ }
+ }
+ p.menuList = @UserUtils.getMenuTreeByParentCode(p.parentCode);
+ }
+}
+for (var menu in p.menuList![]){
+ if ((p.loadType == '2' || p.parentCode == menu.parentCode)
+ && menu.isMenu && menu.isShow == @Global.YES){
+ var attrs = ' ', style = '', menuIcon;
+ if (isBlank(menu.menuTarget)){
+ attrs = attrs + 'href="javascript:" data-';
+ }
+ if (isNotBlank(menu.menuUrl)){
+ var href = menu.menuUrl;
+ if (@StringUtils.startsWith(href, "///")){
+ href = @StringUtils.substring(href, 2);
+ } else if (@StringUtils.startsWith(href, "//")){
+ href = @Global.getCtxPath() + @StringUtils.substring(href, 1);
+ } else if (@StringUtils.startsWith(href, "/")){
+ href = @Global.getCtxPath() + @Global.getAdminPath() + href;
+ }
+ attrs = attrs + 'href="' + href + '"';
+ }else{
+ attrs = attrs + 'href="blank"';
+ }
+ if (isNotBlank(menu.menuTarget)){
+ attrs = attrs + ' target="' + menu.menuTarget + '"';
+ }
+ if (isBlank(menu.menuTarget)){
+ attrs = attrs + ' class="addTabPage"';
+ }
+ if (isNotBlank(menu.menuColor)){
+ style = style + 'color:' + menu.menuColor + ';';
+ }
+ if (menu.treeLevel > 1) {
+ style = style + 'padding-left:' + (toInteger(menu.treeLevel) * p.paddingLeft + p.paddingInitLeft) + 'px;';
+ }
+ if (style != '') {
+ attrs = attrs + ' style="' + style + '"';
+ }
+ if (isNotBlank(menu.menuTitle)){
+ attrs = attrs + ' title="' + menu.menuTitle + '"';
+ }else{
+ attrs = attrs + ' title="' + menu.menuName + '"';
+ }
+ attrs = attrs + ' data-code="' + menu.menuCode + '"';
+ if (isNotBlank(menu.menuIcon)){
+ if (@StringUtils.contains(menu.menuIcon, '://')){
+ menuIcon = '';
+ }else if (@StringUtils.startsWith(menu.menuIcon, '/')){
+ menuIcon = '
';
+ }else{
+ menuIcon = '';
+ }
+ }else{
+ menuIcon = '';
+ }
+ var h = {
+%>
+