|
|
|
|
@ -8,7 +8,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
var pearTab = function(opt) {
|
|
|
|
|
this.option = opt;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var tabData = new Array();
|
|
|
|
|
var tabDataCurrent = 0;
|
|
|
|
|
|
|
|
|
|
@ -23,28 +23,28 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
width: opt.width,
|
|
|
|
|
height: opt.height,
|
|
|
|
|
tabMax: opt.tabMax,
|
|
|
|
|
session: opt.session?opt.session:false,
|
|
|
|
|
session: opt.session ? opt.session : false,
|
|
|
|
|
closeEvent: opt.closeEvent,
|
|
|
|
|
success: opt.success?opt.success:function(id){}
|
|
|
|
|
success: opt.success ? opt.success : function(id) {}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 初始化,检索 session 是否开启
|
|
|
|
|
if(option.session){
|
|
|
|
|
if (option.session) {
|
|
|
|
|
// 替换 opt.data 数据
|
|
|
|
|
if(sessionStorage.getItem(option.elem+"-pear-tab-data")!=null){
|
|
|
|
|
tabData = JSON.parse(sessionStorage.getItem(option.elem+"-pear-tab-data"));
|
|
|
|
|
option.data = JSON.parse(sessionStorage.getItem(option.elem+"-pear-tab-data"));
|
|
|
|
|
tabDataCurrent = sessionStorage.getItem(option.elem+"-pear-tab-data-current");
|
|
|
|
|
tabData.forEach(function(item,index){
|
|
|
|
|
if(item.id == tabDataCurrent){
|
|
|
|
|
if (sessionStorage.getItem(option.elem + "-pear-tab-data") != null) {
|
|
|
|
|
tabData = JSON.parse(sessionStorage.getItem(option.elem + "-pear-tab-data"));
|
|
|
|
|
option.data = JSON.parse(sessionStorage.getItem(option.elem + "-pear-tab-data"));
|
|
|
|
|
tabDataCurrent = sessionStorage.getItem(option.elem + "-pear-tab-data-current");
|
|
|
|
|
tabData.forEach(function(item, index) {
|
|
|
|
|
if (item.id == tabDataCurrent) {
|
|
|
|
|
option.index = index;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
tabData = opt.data;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var tab = createTab(option);
|
|
|
|
|
$("#" + option.elem).html(tab);
|
|
|
|
|
$(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-prev").click(function() {
|
|
|
|
|
@ -61,9 +61,50 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
position: "relative"
|
|
|
|
|
});
|
|
|
|
|
closeEvent(option);
|
|
|
|
|
|
|
|
|
|
option.success(sessionStorage.getItem(option.elem+"-pear-tab-data-current"));
|
|
|
|
|
// 执行回调
|
|
|
|
|
|
|
|
|
|
option.success(sessionStorage.getItem(option.elem + "-pear-tab-data-current"));
|
|
|
|
|
|
|
|
|
|
$("body .layui-tab[lay-filter='" + option.elem + "']").on("contextmenu", "li", function(e) {
|
|
|
|
|
|
|
|
|
|
// 获取当前元素位置
|
|
|
|
|
var top = e.clientY;
|
|
|
|
|
var left = e.clientX;
|
|
|
|
|
|
|
|
|
|
var currentId = $(this).attr("lay-id");
|
|
|
|
|
|
|
|
|
|
var menu = "<ul><li class='item' id='" + option.elem + "closeThis'>关闭当前</li><li class='item' id='" + option.elem +
|
|
|
|
|
"closeOther'>关闭其他</li><li class='item' id='" + option.elem + "closeAll'>关闭所有</li></ul>"
|
|
|
|
|
|
|
|
|
|
// 初始化
|
|
|
|
|
|
|
|
|
|
layer.open({
|
|
|
|
|
type: 1,
|
|
|
|
|
title: false,
|
|
|
|
|
shade: false,
|
|
|
|
|
skin: 'pear-tab-menu',
|
|
|
|
|
closeBtn: false,
|
|
|
|
|
area: ['100px', '108px'],
|
|
|
|
|
fixed: true,
|
|
|
|
|
offset: [top, left],
|
|
|
|
|
content: menu, //iframe的url,
|
|
|
|
|
success: function(layero, index) {
|
|
|
|
|
menuEvent(option,index);
|
|
|
|
|
console.log("初始化")
|
|
|
|
|
var timer;
|
|
|
|
|
$(layero).on('mouseout', function() {
|
|
|
|
|
timer = setTimeout(function() {
|
|
|
|
|
layer.close(index);
|
|
|
|
|
}, 30)
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$(layero).on('mouseover', function() {
|
|
|
|
|
clearTimeout(timer);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
return new pearTab(option);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -72,7 +113,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
var option = this.option;
|
|
|
|
|
element.on('tab(' + this.option.elem + ')', function(data) {
|
|
|
|
|
var id = $("#" + elem + " .layui-tab-title .layui-this").attr("lay-id");
|
|
|
|
|
sessionStorage.setItem(option.elem+"-pear-tab-data-current",id);
|
|
|
|
|
sessionStorage.setItem(option.elem + "-pear-tab-data-current", id);
|
|
|
|
|
callback(id);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
@ -91,10 +132,10 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
scrollLeft: autoLeft - $tabTitle.width() / 3
|
|
|
|
|
}, 200);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pearTab.prototype.clear = function(){
|
|
|
|
|
sessionStorage.removeItem(this.option.elem+"-pear-tab-data");
|
|
|
|
|
sessionStorage.removeItem(this.option.elem+"-pear-tab-data-current");
|
|
|
|
|
|
|
|
|
|
pearTab.prototype.clear = function() {
|
|
|
|
|
sessionStorage.removeItem(this.option.elem + "-pear-tab-data");
|
|
|
|
|
sessionStorage.removeItem(this.option.elem + "-pear-tab-data-current");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pearTab.prototype.addTab = function(opt) {
|
|
|
|
|
@ -113,28 +154,28 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
id: opt.id
|
|
|
|
|
});
|
|
|
|
|
tabData.push(opt);
|
|
|
|
|
sessionStorage.setItem(this.option.elem+"-pear-tab-data",JSON.stringify(tabData));
|
|
|
|
|
sessionStorage.setItem(this.option.elem+"-pear-tab-data-current",opt.id);
|
|
|
|
|
sessionStorage.setItem(this.option.elem + "-pear-tab-data", JSON.stringify(tabData));
|
|
|
|
|
sessionStorage.setItem(this.option.elem + "-pear-tab-data-current", opt.id);
|
|
|
|
|
element.tabChange(this.option.elem, opt.id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var index = 0;
|
|
|
|
|
|
|
|
|
|
// 根据过滤 filter 标识, 删除执行选项卡
|
|
|
|
|
pearTab.prototype.delTabByElem = function(elem, id, callback){
|
|
|
|
|
var currentTab = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title [lay-id='"+id+"']");
|
|
|
|
|
pearTab.prototype.delTabByElem = function(elem, id, callback) {
|
|
|
|
|
var currentTab = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title [lay-id='" + id + "']");
|
|
|
|
|
if (currentTab.find("span").is(".able-close")) {
|
|
|
|
|
tabDelete(elem, id, callback);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 根据过滤 filter 标识, 删除当前选项卡
|
|
|
|
|
pearTab.prototype.delCurrentTabByElem = function(elem,callback){
|
|
|
|
|
var currentTab = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title .layui-this");
|
|
|
|
|
if (currentTab.find("span").is(".able-close")) {
|
|
|
|
|
var currentId = currentTab.attr("lay-id");
|
|
|
|
|
tabDelete(elem, currentId, callback);
|
|
|
|
|
}
|
|
|
|
|
pearTab.prototype.delCurrentTabByElem = function(elem, callback) {
|
|
|
|
|
var currentTab = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title .layui-this");
|
|
|
|
|
if (currentTab.find("span").is(".able-close")) {
|
|
|
|
|
var currentId = currentTab.attr("lay-id");
|
|
|
|
|
tabDelete(elem, currentId, callback);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 通过过滤 filter 标识, 新增标签页
|
|
|
|
|
@ -173,7 +214,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
id: opt.id
|
|
|
|
|
});
|
|
|
|
|
tabData.push(opt);
|
|
|
|
|
sessionStorage.setItem(elem+"-pear-tab-data",JSON.stringify(tabData));
|
|
|
|
|
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
|
|
|
|
|
} else {
|
|
|
|
|
var isData = false;
|
|
|
|
|
$.each($(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title li[lay-id]"), function() {
|
|
|
|
|
@ -207,11 +248,11 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
id: opt.id
|
|
|
|
|
});
|
|
|
|
|
tabData.push(opt);
|
|
|
|
|
sessionStorage.setItem(elem+"-pear-tab-data",JSON.stringify(tabData));
|
|
|
|
|
|
|
|
|
|
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
sessionStorage.setItem(elem+"-pear-tab-data-current",opt.id);
|
|
|
|
|
sessionStorage.setItem(elem + "-pear-tab-data-current", opt.id);
|
|
|
|
|
element.tabChange(elem, opt.id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -249,8 +290,8 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
id: opt.id
|
|
|
|
|
});
|
|
|
|
|
tabData.push(opt);
|
|
|
|
|
sessionStorage.setItem(this.option.elem+"-pear-tab-data",JSON.stringify(tabData));
|
|
|
|
|
sessionStorage.setItem(this.option.elem+"-pear-tab-data-current",opt.id);
|
|
|
|
|
sessionStorage.setItem(this.option.elem + "-pear-tab-data", JSON.stringify(tabData));
|
|
|
|
|
sessionStorage.setItem(this.option.elem + "-pear-tab-data-current", opt.id);
|
|
|
|
|
} else {
|
|
|
|
|
var isData = false;
|
|
|
|
|
//查询当前选项卡数量
|
|
|
|
|
@ -258,7 +299,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
layer.msg("最多打开" + this.option.tabMax + "个标签页", {
|
|
|
|
|
icon: 2,
|
|
|
|
|
time: 1000,
|
|
|
|
|
shift : 6 //抖动效果
|
|
|
|
|
shift: 6 //抖动效果
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
@ -292,12 +333,12 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
id: opt.id
|
|
|
|
|
});
|
|
|
|
|
tabData.push(opt);
|
|
|
|
|
sessionStorage.setItem(this.option.elem+"-pear-tab-data",JSON.stringify(tabData));
|
|
|
|
|
sessionStorage.setItem(this.option.elem+"-pear-tab-data-current",opt.id);
|
|
|
|
|
sessionStorage.setItem(this.option.elem + "-pear-tab-data", JSON.stringify(tabData));
|
|
|
|
|
sessionStorage.setItem(this.option.elem + "-pear-tab-data-current", opt.id);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
element.tabChange(this.option.elem, opt.id);
|
|
|
|
|
sessionStorage.setItem(this.option.elem+"-pear-tab-data-current",opt.id);
|
|
|
|
|
sessionStorage.setItem(this.option.elem + "-pear-tab-data-current", opt.id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 刷 新 指 定 的 选 项 卡
|
|
|
|
|
@ -310,7 +351,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
'</div>' +
|
|
|
|
|
'</div>'
|
|
|
|
|
|
|
|
|
|
var elem = this.option.elem;
|
|
|
|
|
var elem = this.option.elem;
|
|
|
|
|
$("#" + this.option.elem).find(".pear-tab").append(load);
|
|
|
|
|
var pearLoad = $("#" + this.option.elem).find("#pear-tab-loading" + index);
|
|
|
|
|
pearLoad.css({
|
|
|
|
|
@ -318,9 +359,9 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
});
|
|
|
|
|
index++;
|
|
|
|
|
setTimeout(function() {
|
|
|
|
|
pearLoad.fadeOut(500,function(){
|
|
|
|
|
pearLoad.fadeOut(500, function() {
|
|
|
|
|
pearLoad.remove();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}, time);
|
|
|
|
|
$(".layui-tab[lay-filter='" + elem + "'] .layui-tab-content .layui-show").find("iframe")[0].contentWindow
|
|
|
|
|
.location.reload(true);
|
|
|
|
|
@ -329,8 +370,9 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
.location.reload(true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function tabDelete(elem, id, callback,option) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function tabDelete(elem, id, callback, option) {
|
|
|
|
|
|
|
|
|
|
//根据 elem id 来删除指定的 layui title li
|
|
|
|
|
var tabTitle = $(".layui-tab[lay-filter='" + elem + "']").find(".layui-tab-title");
|
|
|
|
|
@ -338,17 +380,17 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
// 删除指定 id 的 title
|
|
|
|
|
var removeTab = tabTitle.find("li[lay-id='" + id + "']");
|
|
|
|
|
var nextNode = removeTab.next("li");
|
|
|
|
|
if(!removeTab.hasClass("layui-this")){
|
|
|
|
|
if (!removeTab.hasClass("layui-this")) {
|
|
|
|
|
removeTab.remove();
|
|
|
|
|
var tabContent = $(".layui-tab[lay-filter='" + elem + "']").find("iframe[id='" + id + "']").parent();
|
|
|
|
|
tabContent.remove();
|
|
|
|
|
|
|
|
|
|
tabData = JSON.parse(sessionStorage.getItem(elem+"-pear-tab-data"));
|
|
|
|
|
tabDataCurrent = sessionStorage.getItem(elem+"-pear-tab-data-current");
|
|
|
|
|
tabData = tabData.filter(function(item){
|
|
|
|
|
return item.id!=id;
|
|
|
|
|
|
|
|
|
|
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-data"));
|
|
|
|
|
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
|
|
|
|
|
tabData = tabData.filter(function(item) {
|
|
|
|
|
return item.id != id;
|
|
|
|
|
})
|
|
|
|
|
sessionStorage.setItem(elem+"-pear-tab-data",JSON.stringify(tabData));
|
|
|
|
|
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -364,14 +406,14 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
$("#" + elem + " [id='" + currId + "']").parent().addClass("layui-show");
|
|
|
|
|
}
|
|
|
|
|
callback(currId);
|
|
|
|
|
tabData = JSON.parse(sessionStorage.getItem(elem+"-pear-tab-data"));
|
|
|
|
|
tabDataCurrent = sessionStorage.getItem(elem+"-pear-tab-data-current");
|
|
|
|
|
tabData = tabData.filter(function(item){
|
|
|
|
|
return item.id!=id;
|
|
|
|
|
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-data"));
|
|
|
|
|
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
|
|
|
|
|
tabData = tabData.filter(function(item) {
|
|
|
|
|
return item.id != id;
|
|
|
|
|
})
|
|
|
|
|
sessionStorage.setItem(elem+"-pear-tab-data",JSON.stringify(tabData));
|
|
|
|
|
sessionStorage.setItem(elem+"-pear-tab-data-current",currId);
|
|
|
|
|
|
|
|
|
|
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
|
|
|
|
|
sessionStorage.setItem(elem + "-pear-tab-data-current", currId);
|
|
|
|
|
|
|
|
|
|
removeTab.remove();
|
|
|
|
|
// 删除 content
|
|
|
|
|
var tabContent = $(".layui-tab[lay-filter='" + elem + "']").find("iframe[id='" + id + "']").parent();
|
|
|
|
|
@ -382,7 +424,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
function createTab(option) {
|
|
|
|
|
|
|
|
|
|
var type = "";
|
|
|
|
|
var types = option.type+" ";
|
|
|
|
|
var types = option.type + " ";
|
|
|
|
|
if (option.roll == true) {
|
|
|
|
|
type = "layui-tab-roll";
|
|
|
|
|
}
|
|
|
|
|
@ -392,10 +434,12 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
if (option.roll == true && option.tool != false) {
|
|
|
|
|
type = "layui-tab-rollTool";
|
|
|
|
|
}
|
|
|
|
|
var tab = '<div class="pear-tab ' + types + type + ' layui-tab" lay-filter="' + option.elem + '" lay-allowClose="true">';
|
|
|
|
|
var tab = '<div class="pear-tab ' + types + type + ' layui-tab" lay-filter="' + option.elem +
|
|
|
|
|
'" lay-allowClose="true">';
|
|
|
|
|
var title = '<ul class="layui-tab-title">';
|
|
|
|
|
var content = '<div class="layui-tab-content">';
|
|
|
|
|
var control = '<div class="layui-tab-control"><li class="layui-tab-prev layui-icon layui-icon-left"></li><li class="layui-tab-next layui-icon layui-icon-right"></li><li class="layui-tab-tool layui-icon layui-icon-down"><ul class="layui-nav" lay-filter=""><li class="layui-nav-item"><a href="javascript:;"></a><dl class="layui-nav-child">';
|
|
|
|
|
var control =
|
|
|
|
|
'<div class="layui-tab-control"><li class="layui-tab-prev layui-icon layui-icon-left"></li><li class="layui-tab-next layui-icon layui-icon-right"></li><li class="layui-tab-tool layui-icon layui-icon-down"><ul class="layui-nav" lay-filter=""><li class="layui-nav-item"><a href="javascript:;"></a><dl class="layui-nav-child">';
|
|
|
|
|
|
|
|
|
|
// 处 理 选 项 卡 头 部
|
|
|
|
|
var index = 0;
|
|
|
|
|
@ -463,19 +507,65 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
function closeEvent(option) {
|
|
|
|
|
$(".layui-tab[lay-filter='" + option.elem + "']").on("click", ".layui-tab-close", function() {
|
|
|
|
|
var layid = $(this).parent().attr("lay-id");
|
|
|
|
|
tabDelete(option.elem, layid, option.closeEvent,option);
|
|
|
|
|
tabDelete(option.elem, layid, option.closeEvent, option);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function menuEvent(option,index) {
|
|
|
|
|
|
|
|
|
|
$("#" + option.elem + "closeThis").click(function() {
|
|
|
|
|
var currentTab = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title .layui-this");
|
|
|
|
|
|
|
|
|
|
if (currentTab.find("span").is(".able-close")) {
|
|
|
|
|
var currentId = currentTab.attr("lay-id");
|
|
|
|
|
tabDelete(option.elem, currentId, option.closeEvent, option);
|
|
|
|
|
} else {
|
|
|
|
|
layer.msg("当前页面不允许关闭", {
|
|
|
|
|
icon: 3,
|
|
|
|
|
time: 800
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
layer.close(index);
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
$("#" + option.elem + "closeOther").click(function() {
|
|
|
|
|
var currentId = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title .layui-this").attr("lay-id");
|
|
|
|
|
var tabtitle = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title li");
|
|
|
|
|
$.each(tabtitle, function(i) {
|
|
|
|
|
if ($(this).attr("lay-id") != currentId) {
|
|
|
|
|
if ($(this).find("span").is(".able-close")) {
|
|
|
|
|
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent, option);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
layer.close(index);
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
$("#" + option.elem + "closeAll").click(function() {
|
|
|
|
|
var currentId = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title .layui-this").attr("lay-id");
|
|
|
|
|
var tabtitle = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title li");
|
|
|
|
|
$.each(tabtitle, function(i) {
|
|
|
|
|
if ($(this).find("span").is(".able-close")) {
|
|
|
|
|
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent, option);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
layer.close(index);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function toolEvent(option) {
|
|
|
|
|
|
|
|
|
|
$("body .layui-tab[lay-filter='" + option.elem + "']").on("click", "#closeThis", function() {
|
|
|
|
|
var currentTab = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title .layui-this");
|
|
|
|
|
if (currentTab.find("span").is(".able-close")) {
|
|
|
|
|
var currentId = currentTab.attr("lay-id");
|
|
|
|
|
tabDelete(option.elem, currentId, option.closeEvent,option);
|
|
|
|
|
}else{
|
|
|
|
|
layer.msg("当前页面不允许关闭",{icon:3,time:800})
|
|
|
|
|
tabDelete(option.elem, currentId, option.closeEvent, option);
|
|
|
|
|
} else {
|
|
|
|
|
layer.msg("当前页面不允许关闭", {
|
|
|
|
|
icon: 3,
|
|
|
|
|
time: 800
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
@ -485,7 +575,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
$.each(tabtitle, function(i) {
|
|
|
|
|
if ($(this).attr("lay-id") != currentId) {
|
|
|
|
|
if ($(this).find("span").is(".able-close")) {
|
|
|
|
|
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent,option);
|
|
|
|
|
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent, option);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
@ -496,7 +586,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
|
|
|
|
var tabtitle = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title li");
|
|
|
|
|
$.each(tabtitle, function(i) {
|
|
|
|
|
if ($(this).find("span").is(".able-close")) {
|
|
|
|
|
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent,option);
|
|
|
|
|
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent, option);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|