diff --git a/js/okadmin.js b/js/okadmin.js index 8fca483..bd2bea9 100644 --- a/js/okadmin.js +++ b/js/okadmin.js @@ -2,13 +2,15 @@ layui.config({ base: "lib/okPlugins/" }).extend({ okTab: "okTab", - okUtils: "okUtils" -}).use(["element", "layer", "okTab", "okUtils"], function () { + okUtils: "okUtils", + okMenu: "okMenu" +}).use(["element", "layer", "okTab", "okUtils", "okMenu"], function () { var element = layui.element; var layer = layui.layer; var $ = layui.jquery; var okTab = layui.okTab; var okUtils = layui.okUtils; + var okMenu = layui.okMenu; /** * localhost运行提示 @@ -34,78 +36,82 @@ layui.config({ } }); - // TODO 无限级菜单 - okUtils.ajax("data/menu.json", "get").done(function (response) { - var html = ""; - for (var i = 0; i < response.length; i++) { - var d = response[i]; - html += liHtml(d); - html += "" - html += iconHtml(d) + " " + response[i].title; - html += "" - // var children = d.children; - // if (children != undefined && children.length > 0) { - // html += "
" - // for (var j = 0; j < children.length; j++) { - // html += "
"; - // html += "" + iconHtml(children[j]) + " " + children[j].title + ""; - // html += "
"; - // } - // html += "
" - // } - var temp = createMenu(d.children); - html += temp; - html += ""; - } - $(".layui-nav-tree").html(html); - element.render("nav"); - }).fail(function (error) { - console.log(error) - }); + /** + * 生成左侧菜单树 + */ + okMenu.generatorMenu("data/menu.json", "get"); - function liHtml(obj) { - var html = ""; - if (obj.spread) { - html += "
  • "; - } else { - html += "
  • "; - } - return html; - } + // okUtils.ajax("data/menu.json", "get").done(function (response) { + // var html = ""; + // for (var i = 0; i < response.length; i++) { + // var d = response[i]; + // html += liHtml(d); + // html += "" + // html += iconHtml(d) + " " + response[i].title; + // html += "" + // // var children = d.children; + // // if (children != undefined && children.length > 0) { + // // html += "
    " + // // for (var j = 0; j < children.length; j++) { + // // html += "
    "; + // // html += "" + iconHtml(children[j]) + " " + children[j].title + ""; + // // html += "
    "; + // // } + // // html += "
    " + // // } + // var temp = createMenu(d.children); + // html += temp; + // html += "
  • "; + // } + // $(".layui-nav-tree").html(html); + // element.render("nav"); + // }).fail(function (error) { + // console.log(error) + // }); - function iconHtml(obj) { - var html = ""; - if (obj.icon) { - if (obj.font == "iconfont") { - html += "" + obj.icon + ""; - } else if (obj.font == "layui-icon") { - html += " " + obj.icon + ""; - } else { - html += "" + obj.icon + ""; - } - } else { - console.warn(obj.title, "icon未定义"); - } - return html; - } + // function liHtml(obj) { + // var html = ""; + // if (obj.spread) { + // html += "
  • "; + // } else { + // html += "
  • "; + // } + // return html; + // } - function createMenu(obj) { - var html = ""; - if (obj != undefined && obj.length > 0) { - html += "
    " - for (var i = 0; i < obj.length; i++) { - html += "
    "; - html += "" + iconHtml(obj[i]) + " " + obj[i].title + ""; - var children = obj[i].children; - if (children != undefined && children.length > 0) { - html += createMenu(children); - } - html += "
    "; - } - html += "
    " - } - return html; - } + // function iconHtml(obj) { + // var html = ""; + // if (obj.icon) { + // if (obj.font == "iconfont") { + // html += "" + obj.icon + ""; + // } else if (obj.font == "layui-icon") { + // html += " " + obj.icon + ""; + // } else { + // html += "" + obj.icon + ""; + // } + // } else { + // console.warn(obj.title, "icon未定义"); + // } + // return html; + // } + + // function createMenu(obj) { + // var html = ""; + // if (obj != undefined && obj.length > 0) { + // html += "
    " + // for (var i = 0; i < obj.length; i++) { + // html += "
    "; + // html += "" + iconHtml(obj[i]) + " " + obj[i].title + ""; + // var children = obj[i].children; + // if (children != undefined && children.length > 0) { + // html += createMenu(children); + // } + // html += "
    "; + // } + // html += "
    " + // } + // return html; + // } /** * 监听导航菜单的点击 diff --git a/lib/okPlugins/okMenu.js b/lib/okPlugins/okMenu.js index 9919096..08edfc1 100644 --- a/lib/okPlugins/okMenu.js +++ b/lib/okPlugins/okMenu.js @@ -4,7 +4,68 @@ layui.define(["element", "okUtils"], function (exports) { var okUtils = layui.okUtils; var $ = layui.jquery; - var okMenu = {} + var okMenu = { + generatorMenu: function (url, method) { + okUtils.ajax(url, method).done(function (response) { + var html = ""; + for (var i = 0; i < response.length; i++) { + var d = response[i]; + html += okMenu.liHtml(d); + html += "" + html += okMenu.iconHtml(d) + " " + response[i].title; + html += "" + var temp = okMenu.createMenu(d.children); + html += temp; + html += "
  • "; + } + $(".layui-nav-tree").html(html); + element.render("nav"); + }).fail(function (error) { + console.log(error) + }); + }, + liHtml: function (obj) { + var html = ""; + if (obj.spread) { + html += "
  • "; + } else { + html += "
  • "; + } + return html; + }, + iconHtml: function (obj) { + var html = ""; + if (obj.icon) { + if (obj.font == "iconfont") { + html += "" + obj.icon + ""; + } else if (obj.font == "layui-icon") { + html += " " + obj.icon + ""; + } else { + html += "" + obj.icon + ""; + } + } else { + console.warn(obj.title, "icon未定义"); + } + return html; + }, + createMenu: function (obj) { + var html = ""; + if (obj != undefined && obj.length > 0) { + html += "
    " + for (var i = 0; i < obj.length; i++) { + html += "
    "; + html += "" + okMenu.iconHtml(obj[i]) + " " + obj[i].title + ""; + var children = obj[i].children; + if (children != undefined && children.length > 0) { + html += okMenu.createMenu(children); + } + html += "
    "; + } + html += "
    " + } + return html; + } + } exports("okMenu", okMenu); });