/* @Author: 请叫我马哥 @Time: 2017-04 @Tittle: tab @Description: 点击对应按钮添加新窗口 */ var tabFilter,menu=[],liIndex,curNav,delMenu; layui.define(["element","jquery"],function(exports){ var element = layui.element, $ = layui.jquery, layId, Tab = function(){ this.tabConfig = { closed : true, openTabNum : undefined, //最大可打开窗口数量 tabFilter : "bodyTab", //添加窗口的filter url : undefined //获取菜单json地址 } }; //获取二级菜单数据 Tab.prototype.render = function() { var url = this.tabConfig.url; $.get(url,function(data){ //显示左侧菜单 if($(".navBar").html() == ''){ var _this = this; $(".navBar").html(navBar(data)).height($(window).height()-245); element.init(); //初始化页面元素 $(window).resize(function(){ $(".navBar").height($(window).height()-245); }) } }) } //参数设置 Tab.prototype.set = function(option) { var _this = this; $.extend(true, _this.tabConfig, option); return _this; }; //通过title获取lay-id Tab.prototype.getLayId = function(title){ $(".layui-tab-title.top_tab li").each(function(){ if($(this).find("cite").text() == title){ layId = $(this).attr("lay-id"); } }) return layId; } //通过title判断tab是否存在 Tab.prototype.hasTab = function(title){ var tabIndex = -1; $(".layui-tab-title.top_tab li").each(function(){ if($(this).find("cite").text() == title){ tabIndex = 1; } }) return tabIndex; } //右侧内容tab操作 var tabIdIndex = 0; Tab.prototype.tabAdd = function(_this){ if(window.sessionStorage.getItem("menu")){ menu = JSON.parse(window.sessionStorage.getItem("menu")); } var that = this; var closed = that.tabConfig.closed, openTabNum = that.tabConfig.openTabNum; tabFilter = that.tabConfig.tabFilter; if(_this.attr("target") == "_blank"){ window.location.href = _this.attr("data-url"); }else{ var title = ''; if(_this.find("i.iconfont,i.layui-icon").attr("data-icon") != undefined){ if(_this.find("i.iconfont").attr("data-icon") != undefined){ title += ''; }else{ title += ''+_this.find("i.layui-icon").attr("data-icon")+''; } } //已打开的窗口中不存在 if(that.hasTab(_this.find("cite").text()) == -1 && _this.siblings("dl.layui-nav-child").length == 0 && _this.attr("data-url")){ if($(".layui-tab-title.top_tab li").length == openTabNum){ layer.msg('只能同时打开'+openTabNum+'个选项卡哦。不然系统会卡的!'); return; } tabIdIndex++; title += ''+_this.find("cite").text()+''; title += ''; element.tabAdd(tabFilter, { title : title, content :"