规整代码

develop
Jmysy 2020-06-13 23:14:01 +08:00
parent 6f5d024de0
commit 5303529fb6
4 changed files with 2259 additions and 2222 deletions

View File

@ -1,3 +1,4 @@
layui.define(['table', 'jquery', 'element', 'form', 'pearAuth', 'pearTab', 'pearMenu', 'pearNotice', 'pearFrame'], layui.define(['table', 'jquery', 'element', 'form', 'pearAuth', 'pearTab', 'pearMenu', 'pearNotice', 'pearFrame'],
function(exports) { function(exports) {
"use strict"; "use strict";

File diff suppressed because it is too large Load Diff

View File

@ -1,38 +1,38 @@
layui.define(['jquery', 'element'], function (exports) { layui.define(['jquery', 'element'], function(exports) {
"use strict"; "use strict";
var MOD_NAME = 'pearTab', var MOD_NAME = 'pearTab',
$ = layui.jquery, $ = layui.jquery,
element = layui.element; element = layui.element;
var pearTab = function (opt) { var pearTab = function(opt) {
this.option = opt; this.option = opt;
}; };
pearTab.prototype.render = function (opt) { pearTab.prototype.render = function(opt) {
//默认配置值 //默认配置值
var option = { var option = {
elem:opt.elem, elem: opt.elem,
data:opt.data, data: opt.data,
tool:opt.tool, tool: opt.tool,
roll:opt.roll, roll: opt.roll,
index:opt.index, index: opt.index,
width:opt.width, width: opt.width,
height:opt.height, height: opt.height,
tabMax:opt.tabMax tabMax: opt.tabMax
} }
var tab = createTab(option); var tab = createTab(option);
$("#"+option.elem).html(tab); $("#" + option.elem).html(tab);
$(".layui-tab[lay-filter='"+option.elem+"'] .layui-tab-prev").click(function(){ $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-prev").click(function() {
rollPage("left",option); rollPage("left", option);
}) })
$(".layui-tab[lay-filter='"+option.elem+"'] .layui-tab-next").click(function(){ $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-next").click(function() {
rollPage("right",option); rollPage("right", option);
}) })
element.init(); element.init();
@ -41,20 +41,22 @@ layui.define(['jquery', 'element'], function (exports) {
toolEvent(option); toolEvent(option);
$("#"+option.elem).width(opt.width); $("#" + option.elem).width(opt.width);
$("#"+option.elem).height(opt.height); $("#" + option.elem).height(opt.height);
$("#"+option.elem).css({position:"relative"}); $("#" + option.elem).css({
position: "relative"
});
return new pearTab(option); return new pearTab(option);
} }
pearTab.prototype.click = function(callback){ pearTab.prototype.click = function(callback) {
var elem = this.option.elem; var elem = this.option.elem;
element.on('tab('+this.option.elem+')', function(data){ element.on('tab(' + this.option.elem + ')', function(data) {
var id = $("#"+elem+" .layui-tab-title .layui-this").attr("lay-id"); var id = $("#" + elem + " .layui-tab-title .layui-this").attr("lay-id");
callback(id); callback(id);
@ -62,8 +64,8 @@ layui.define(['jquery', 'element'], function (exports) {
} }
pearTab.prototype.positionTab = function(){ pearTab.prototype.positionTab = function() {
var $tabTitle = $('.layui-tab[lay-filter='+this.option.elem+'] .layui-tab-title'); var $tabTitle = $('.layui-tab[lay-filter=' + this.option.elem + '] .layui-tab-title');
var autoLeft = 0; var autoLeft = 0;
$tabTitle.children("li").each(function() { $tabTitle.children("li").each(function() {
if ($(this).hasClass('layui-this')) { if ($(this).hasClass('layui-this')) {
@ -74,179 +76,195 @@ layui.define(['jquery', 'element'], function (exports) {
}); });
$tabTitle.animate({ $tabTitle.animate({
scrollLeft: autoLeft-$tabTitle.width()/3 scrollLeft: autoLeft - $tabTitle.width() / 3
}, 200); }, 200);
} }
pearTab.prototype.addTab = function (opt) { pearTab.prototype.addTab = function(opt) {
var title = ''; var title = '';
if(opt.close){ if (opt.close) {
title += '<span class="pear-tab-active"></span><span class="able-close">'+opt.title+'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>' title += '<span class="pear-tab-active"></span><span class="able-close">' + opt.title +
'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>'
}else{ } else {
title += '<span class="pear-tab-active"></span><span class="disable-close">'+opt.title+'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>' title += '<span class="pear-tab-active"></span><span class="disable-close">' + opt.title +
'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>'
} }
element.tabAdd(this.option.elem, { element.tabAdd(this.option.elem, {
title: title, title: title,
content: '<iframe id="'+opt.id+'" data-frameid="' + opt.id + '" scrolling="auto" frameborder="0" src="' + opt.url +'" style="width:100%;height:100%;"></iframe>', content: '<iframe id="' + opt.id + '" data-frameid="' + opt.id + '" scrolling="auto" frameborder="0" src="' +
opt.url + '" style="width:100%;height:100%;"></iframe>',
id: opt.id id: opt.id
}); });
element.tabChange(this.option.elem,opt.id); element.tabChange(this.option.elem, opt.id);
} }
var index =0; var index = 0;
pearTab.prototype.addTabOnlyByElem = function(elem,opt,time){ pearTab.prototype.addTabOnlyByElem = function(elem, opt, time) {
var title = ''; var title = '';
if(opt.close){ if (opt.close) {
title += '<span class="pear-tab-active"></span><span class="able-close">'+opt.title+'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>' title += '<span class="pear-tab-active"></span><span class="able-close">' + opt.title +
}else{ '</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>'
title += '<span class="pear-tab-active"></span><span class="disable-close">'+opt.title+'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>' } else {
title += '<span class="pear-tab-active"></span><span class="disable-close">' + opt.title +
'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>'
} }
if ($(".layui-tab[lay-filter='"+elem+"'] .layui-tab-title li[lay-id]").length <= 0) { if ($(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title li[lay-id]").length <= 0) {
if(time!=false && time!=0){ if (time != false && time != 0) {
var load = '<div id="pear-tab-loading'+index+'" class="pear-tab-loading">'+ var load = '<div id="pear-tab-loading' + index + '" class="pear-tab-loading">' +
'<div class="ball-loader">'+ '<div class="ball-loader">' +
'<span></span><span></span><span></span><span></span>'+ '<span></span><span></span><span></span><span></span>' +
'</div>'+ '</div>' +
'</div>' '</div>'
$("#"+elem).find(".pear-tab").append(load); $("#" + elem).find(".pear-tab").append(load);
var pearLoad = $("#"+elem).find("#pear-tab-loading"+index); var pearLoad = $("#" + elem).find("#pear-tab-loading" + index);
pearLoad.css({display:"block"}); pearLoad.css({
display: "block"
});
setTimeout(function(){ setTimeout(function() {
pearLoad.fadeOut(500,function(){ pearLoad.fadeOut(500, function() {
pearLoad.remove(); pearLoad.remove();
}); });
},time); }, time);
index++; index++;
} }
element.tabAdd(elem, { element.tabAdd(elem, {
title: title, title: title,
content: '<iframe id="'+opt.id+'" data-frameid="' + opt.id + '" scrolling="auto" frameborder="0" src="' + opt.url +'" style="width:100%;height:100%;"></iframe>', content: '<iframe id="' + opt.id + '" data-frameid="' + opt.id + '" scrolling="auto" frameborder="0" src="' +
opt.url + '" style="width:100%;height:100%;"></iframe>',
id: opt.id id: opt.id
}); });
}else{ } else {
var isData = false; var isData = false;
$.each($(".layui-tab[lay-filter='"+elem+"'] .layui-tab-title li[lay-id]"), function() { $.each($(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title li[lay-id]"), function() {
if ($(this).attr("lay-id") == opt.id) { if ($(this).attr("lay-id") == opt.id) {
isData = true; isData = true;
} }
}) })
if (isData == false) { if (isData == false) {
if(time!=false && time!=0){ if (time != false && time != 0) {
var load = '<div id="pear-tab-loading'+index+'" class="pear-tab-loading">'+ var load = '<div id="pear-tab-loading' + index + '" class="pear-tab-loading">' +
'<div class="ball-loader">'+ '<div class="ball-loader">' +
'<span></span><span></span><span></span><span></span>'+ '<span></span><span></span><span></span><span></span>' +
'</div>'+ '</div>' +
'</div>' '</div>'
$("#"+elem).find(".pear-tab").append(load); $("#" + elem).find(".pear-tab").append(load);
var pearLoad = $("#"+elem).find("#pear-tab-loading"+index); var pearLoad = $("#" + elem).find("#pear-tab-loading" + index);
pearLoad.css({display:"block"}); pearLoad.css({
display: "block"
setTimeout(function(){
pearLoad.fadeOut(500,function(){
pearLoad.remove();
}); });
},time); setTimeout(function() {
pearLoad.fadeOut(500, function() {
pearLoad.remove();
});
}, time);
index++;
}
element.tabAdd(elem, {
title: title,
content: '<iframe id="' + opt.id + '" data-frameid="' + opt.id + '" scrolling="auto" frameborder="0" src="' +
opt.url + '" style="width:100%;height:100%;"></iframe>',
id: opt.id
});
index++;
} }
}
element.tabAdd(elem, { element.tabChange(elem, opt.id);
title: title,
content: '<iframe id="'+opt.id+'" data-frameid="' + opt.id + '" scrolling="auto" frameborder="0" src="' + opt.url +'" style="width:100%;height:100%;"></iframe>',
id: opt.id
});
}
}
element.tabChange(elem,opt.id);
} }
/** 添 加 唯 一 选 项 卡 */ /** 添 加 唯 一 选 项 卡 */
pearTab.prototype.addTabOnly = function(opt,time){ pearTab.prototype.addTabOnly = function(opt, time) {
var title = ''; var title = '';
if(opt.close){ if (opt.close) {
title += '<span class="pear-tab-active"></span><span class="able-close">'+opt.title+'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>' title += '<span class="pear-tab-active"></span><span class="able-close">' + opt.title +
'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>'
}else{ } else {
title += '<span class="pear-tab-active"></span><span class="disable-close">'+opt.title+'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>' title += '<span class="pear-tab-active"></span><span class="disable-close">' + opt.title +
'</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>'
} }
if ($(".layui-tab[lay-filter='"+this.option.elem+"'] .layui-tab-title li[lay-id]").length <= 0) { if ($(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-title li[lay-id]").length <= 0) {
if(time!=false && time!=0){ if (time != false && time != 0) {
var load = '<div id="pear-tab-loading'+index+'" class="pear-tab-loading">'+ var load = '<div id="pear-tab-loading' + index + '" class="pear-tab-loading">' +
'<div class="ball-loader">'+ '<div class="ball-loader">' +
'<span></span><span></span><span></span><span></span>'+ '<span></span><span></span><span></span><span></span>' +
'</div>'+ '</div>' +
'</div>' '</div>'
$("#"+this.option.elem).find(".pear-tab").append(load); $("#" + this.option.elem).find(".pear-tab").append(load);
var pearLoad = $("#"+this.option.elem).find("#pear-tab-loading"+index); var pearLoad = $("#" + this.option.elem).find("#pear-tab-loading" + index);
pearLoad.css({display:"block"}); pearLoad.css({
display: "block"
});
setTimeout(function(){ setTimeout(function() {
pearLoad.fadeOut(500,function(){ pearLoad.fadeOut(500, function() {
pearLoad.remove(); pearLoad.remove();
}); });
},time); }, time);
index++; index++;
} }
element.tabAdd(this.option.elem, { element.tabAdd(this.option.elem, {
title: title, title: title,
content: '<iframe id="'+opt.id+'" data-frameid="' + opt.id + '" scrolling="auto" frameborder="0" src="' + opt.url +'" style="width:100%;height:100%;"></iframe>', content: '<iframe id="' + opt.id + '" data-frameid="' + opt.id + '" scrolling="auto" frameborder="0" src="' +
id: opt.id opt.url + '" style="width:100%;height:100%;"></iframe>',
}); id: opt.id
});
@ -255,13 +273,13 @@ layui.define(['jquery', 'element'], function (exports) {
var isData = false; var isData = false;
//查询当前选项卡数量 //查询当前选项卡数量
if ($(".layui-tab[lay-filter='"+this.option.elem+"'] .layui-tab-title li[lay-id]").length >= this.option.tabMax) { if ($(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-title li[lay-id]").length >= this.option.tabMax) {
layer.msg("最多打开"+this.option.tabMax+"个标签页"); layer.msg("最多打开" + this.option.tabMax + "个标签页");
return false; return false;
} }
$.each($(".layui-tab[lay-filter='"+this.option.elem+"'] .layui-tab-title li[lay-id]"), function() { $.each($(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-title li[lay-id]"), function() {
if ($(this).attr("lay-id") == opt.id) { if ($(this).attr("lay-id") == opt.id) {
@ -270,191 +288,202 @@ layui.define(['jquery', 'element'], function (exports) {
}) })
if (isData == false) { if (isData == false) {
if(time!=false && time!=0){ if (time != false && time != 0) {
var load = '<div id="pear-tab-loading'+index+'" class="pear-tab-loading">'+ var load = '<div id="pear-tab-loading' + index + '" class="pear-tab-loading">' +
'<div class="ball-loader">'+ '<div class="ball-loader">' +
'<span></span><span></span><span></span><span></span>'+ '<span></span><span></span><span></span><span></span>' +
'</div>'+ '</div>' +
'</div>' '</div>'
$("#"+this.option.elem).find(".pear-tab").append(load); $("#" + this.option.elem).find(".pear-tab").append(load);
var pearLoad = $("#"+this.option.elem).find("#pear-tab-loading"+index); var pearLoad = $("#" + this.option.elem).find("#pear-tab-loading" + index);
pearLoad.css({display:"block"}); pearLoad.css({
display: "block"
});
setTimeout(function(){ setTimeout(function() {
pearLoad.fadeOut(500,function(){ pearLoad.fadeOut(500, function() {
pearLoad.remove(); pearLoad.remove();
}); });
},time); }, time);
index++; index++;
} }
element.tabAdd(this.option.elem, { element.tabAdd(this.option.elem, {
title: title, title: title,
content: '<iframe id="'+opt.id+'" data-frameid="' + opt.id + '" scrolling="auto" frameborder="0" src="' + opt.url +'" style="width:100%;height:100%;"></iframe>', content: '<iframe id="' + opt.id + '" data-frameid="' + opt.id + '" scrolling="auto" frameborder="0" src="' +
opt.url + '" style="width:100%;height:100%;"></iframe>',
id: opt.id id: opt.id
}); });
} }
} }
element.tabChange(this.option.elem,opt.id); element.tabChange(this.option.elem, opt.id);
} }
// 刷 新 指 定 的 选 项 卡 // 刷 新 指 定 的 选 项 卡
pearTab.prototype.refresh = function(time){ pearTab.prototype.refresh = function(time) {
// 刷 新 指 定 的 选 项 卡 // 刷 新 指 定 的 选 项 卡
if(time!=false && time!=0){ if (time != false && time != 0) {
var load = '<div id="pear-tab-loading'+index+'" class="pear-tab-loading">'+ var load = '<div id="pear-tab-loading' + index + '" class="pear-tab-loading">' +
'<div class="ball-loader">'+ '<div class="ball-loader">' +
'<span></span><span></span><span></span><span></span>'+ '<span></span><span></span><span></span><span></span>' +
'</div>'+ '</div>' +
'</div>' '</div>'
$("#"+this.option.elem).find(".pear-tab").append(load); $("#" + this.option.elem).find(".pear-tab").append(load);
var pearLoad = $("#"+this.option.elem).find("#pear-tab-loading"+index); var pearLoad = $("#" + this.option.elem).find("#pear-tab-loading" + index);
pearLoad.css({display:"block"}); pearLoad.css({
display: "block"
});
setTimeout(function(){ setTimeout(function() {
pearLoad.fadeOut(500,function(){ pearLoad.fadeOut(500, function() {
pearLoad.remove(); pearLoad.remove();
}); });
},time); }, time);
index++; index++;
} }
$(".layui-tab[lay-filter='"+this.option.elem+"'] .layui-tab-content .layui-show").find("iframe")[0].contentWindow.location.reload(true); $(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-content .layui-show").find("iframe")[0].contentWindow
.location.reload(true);
} }
// 重写 Tab Delete 删除 源码存在 Bug 所以重写 // 重写 Tab Delete 删除 源码存在 Bug 所以重写
function tabDelete(elem,id){ function tabDelete(elem, id) {
//根据 elem id 来删除指定的 layui title li //根据 elem id 来删除指定的 layui title li
var tabTitle = $(".layui-tab[lay-filter='"+elem+"']").find(".layui-tab-title"); var tabTitle = $(".layui-tab[lay-filter='" + elem + "']").find(".layui-tab-title");
// 删除指定 id 的 title // 删除指定 id 的 title
var removeTab = tabTitle.find("li[lay-id='"+id+"']"); var removeTab = tabTitle.find("li[lay-id='" + id + "']");
// 查 找 下 方 是 否 存 在 li // 查 找 下 方 是 否 存 在 li
var nextNode = removeTab.next("li"); var nextNode = removeTab.next("li");
if(nextNode.length){ if (nextNode.length) {
nextNode.addClass("layui-this"); nextNode.addClass("layui-this");
var currId = nextNode.attr("lay-id"); var currId = nextNode.attr("lay-id");
$("#"+elem+" [id='"+currId+"']").parent().addClass("layui-show"); $("#" + elem + " [id='" + currId + "']").parent().addClass("layui-show");
}else{ } else {
var prevNode = removeTab.prev("li"); var prevNode = removeTab.prev("li");
prevNode.addClass("layui-this"); prevNode.addClass("layui-this");
var currId = prevNode.attr("lay-id"); var currId = prevNode.attr("lay-id");
$("#"+elem+" [id='"+currId+"']").parent().addClass("layui-show"); $("#" + elem + " [id='" + currId + "']").parent().addClass("layui-show");
} }
removeTab.remove(); removeTab.remove();
// 删除 content // 删除 content
var tabContent = $(".layui-tab[lay-filter='"+elem+"']").find("iframe[id='"+id+"']").parent(); var tabContent = $(".layui-tab[lay-filter='" + elem + "']").find("iframe[id='" + id + "']").parent();
tabContent.remove(); tabContent.remove();
} }
function createTab(option){ function createTab(option) {
var type =""; var type = "";
if(option.roll==true){ if (option.roll == true) {
type = "layui-tab-roll"; type = "layui-tab-roll";
} }
if(option.tool!=false){ if (option.tool != false) {
type = "layui-tab-tool"; type = "layui-tab-tool";
} }
if(option.roll==true && option.tool!=false){ if (option.roll == true && option.tool != false) {
type = "layui-tab-rollTool"; type = "layui-tab-rollTool";
} }
var tab = '<div class="pear-tab '+type+' layui-tab" lay-filter="'+option.elem+'" lay-allowClose="true">'; var tab = '<div class="pear-tab ' + type + ' layui-tab" lay-filter="' + option.elem + '" lay-allowClose="true">';
var title = '<ul class="layui-tab-title">'; var title = '<ul class="layui-tab-title">';
var content = '<div class="layui-tab-content">'; 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; var index = 0;
$.each(option.data, function(i,item) { $.each(option.data, function(i, item) {
var TitleItem =''; var TitleItem = '';
if(option.index == index){ if (option.index == index) {
TitleItem += '<li lay-id="'+item.id+'" class="layui-this"><span class="pear-tab-active"></span>'; TitleItem += '<li lay-id="' + item.id + '" class="layui-this"><span class="pear-tab-active"></span>';
}else{ } else {
TitleItem += '<li lay-id="'+item.id+'" ><span class="pear-tab-active"></span>'; TitleItem += '<li lay-id="' + item.id + '" ><span class="pear-tab-active"></span>';
} }
if(item.close){ if (item.close) {
// 当 前 选 项 卡 可 以 关 闭 // 当 前 选 项 卡 可 以 关 闭
TitleItem += '<span class="able-close">'+item.title+'</span>'; TitleItem += '<span class="able-close">' + item.title + '</span>';
}else{ } else {
// 当 前 选 项 卡 不 允 许 关 闭 // 当 前 选 项 卡 不 允 许 关 闭
TitleItem += '<span class="disable-close">'+item.title+'</span>'; TitleItem += '<span class="disable-close">' + item.title + '</span>';
} }
TitleItem += '<i class="layui-icon layui-unselect layui-tab-close">ဆ</i></li>'; TitleItem += '<i class="layui-icon layui-unselect layui-tab-close">ဆ</i></li>';
title += TitleItem; title += TitleItem;
if(option.index == index){ if (option.index == index) {
// 处 理 显 示 内 容 // 处 理 显 示 内 容
content += '<div class="layui-show layui-tab-item"><iframe id="'+item.id+'" data-frameid="' + item.id + '" src="'+item.url+'" frameborder="no" border="0" marginwidth="0" marginheight="0" style="width: 100%;height: 100%;"></iframe></div>' content += '<div class="layui-show layui-tab-item"><iframe id="' + item.id + '" data-frameid="' + item.id +
'" src="' + item.url +
'" frameborder="no" border="0" marginwidth="0" marginheight="0" style="width: 100%;height: 100%;"></iframe></div>'
}else{ } else {
// 处 理 显 示 内 容 // 处 理 显 示 内 容
content += '<div class="layui-tab-item"><iframe id="'+item.id+'" data-frameid="' + item.id + '" src="'+item.url+'" frameborder="no" border="0" marginwidth="0" marginheight="0" style="width: 100%;height: 100%;"></iframe></div>' content += '<div class="layui-tab-item"><iframe id="' + item.id + '" data-frameid="' + item.id + '" src="' +
item.url +
'" frameborder="no" border="0" marginwidth="0" marginheight="0" style="width: 100%;height: 100%;"></iframe></div>'
} }
@ -478,11 +507,11 @@ layui.define(['jquery', 'element'], function (exports) {
tab += content; tab += content;
tab += '</div>'; tab += '</div>';
tab += '' tab += ''
return tab; return tab;
} }
function rollPage(d,option) { function rollPage(d, option) {
var $tabTitle = $('#'+option.elem+' .layui-tab-title'); var $tabTitle = $('#' + option.elem + ' .layui-tab-title');
var left = $tabTitle.scrollLeft(); var left = $tabTitle.scrollLeft();
@ -500,56 +529,56 @@ layui.define(['jquery', 'element'], function (exports) {
} }
} }
function closeEvent(option){ function closeEvent(option) {
$(".layui-tab[lay-filter='"+option.elem+"']").on("click",".layui-tab-close",function(){ $(".layui-tab[lay-filter='" + option.elem + "']").on("click", ".layui-tab-close", function() {
var layid = $(this).parent().attr("lay-id") var layid = $(this).parent().attr("lay-id")
element.tabDelete(option.elem, layid); element.tabDelete(option.elem, layid);
}) })
} }
function toolEvent(option){ function toolEvent(option) {
$("body .layui-tab[lay-filter='"+option.elem+"']").on("click","#closeThis",function(){ $("body .layui-tab[lay-filter='" + option.elem + "']").on("click", "#closeThis", function() {
var currentTab = $(".layui-tab[lay-filter='"+option.elem+"'] .layui-tab-title .layui-this"); var currentTab = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title .layui-this");
if(currentTab.find("span").is(".able-close")){ if (currentTab.find("span").is(".able-close")) {
var currentId = currentTab.attr("lay-id"); var currentId = currentTab.attr("lay-id");
tabDelete(option.elem,currentId); tabDelete(option.elem, currentId);
} }
}) })
$("body .layui-tab[lay-filter='"+option.elem+"']").on("click","#closeOther",function(){ $("body .layui-tab[lay-filter='" + option.elem + "']").on("click", "#closeOther", function() {
var currentId = $(".layui-tab[lay-filter='"+option.elem+"'] .layui-tab-title .layui-this").attr("lay-id"); 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"); var tabtitle = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title li");
$.each(tabtitle, function(i) { $.each(tabtitle, function(i) {
if ($(this).attr("lay-id") != currentId) { if ($(this).attr("lay-id") != currentId) {
if($(this).find("span").is(".able-close")){ if ($(this).find("span").is(".able-close")) {
tabDelete(option.elem,$(this).attr("lay-id")); tabDelete(option.elem, $(this).attr("lay-id"));
} }
} }
}) })
}) })
$("body .layui-tab[lay-filter='"+option.elem+"']").on("click","#closeAll",function(){ $("body .layui-tab[lay-filter='" + option.elem + "']").on("click", "#closeAll", function() {
var currentId = $(".layui-tab[lay-filter='"+option.elem+"'] .layui-tab-title .layui-this").attr("lay-id"); 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"); var tabtitle = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title li");
$.each(tabtitle, function(i) { $.each(tabtitle, function(i) {
if($(this).find("span").is(".able-close")){ if ($(this).find("span").is(".able-close")) {
tabDelete(option.elem,$(this).attr("lay-id")); tabDelete(option.elem, $(this).attr("lay-id"));
} }
}) })
}) })
} }
exports(MOD_NAME,new pearTab()); exports(MOD_NAME, new pearTab());
}) })

View File

@ -52,6 +52,24 @@
</div> </div>
</div> </div>
</div> </div>
<div class="layui-col-md6">
<div class="layui-card" pear-has-permission="permission-add">
<div class="layui-card-header">
有权限卡片 (显示)
</div>
<div class="layui-card-body">
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-card" pear-has-permission="permission-add">
<div class="layui-card-header">
有权限卡片(显示)
</div>
<div class="layui-card-body">
</div>
</div>
</div>
<div class="layui-col-md6"> <div class="layui-col-md6">
<div class="layui-card" pear-has-permission="permission-query"> <div class="layui-card" pear-has-permission="permission-query">
<div class="layui-card-header"> <div class="layui-card-header">