规整代码
parent
6f5d024de0
commit
5303529fb6
|
|
@ -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
|
|
@ -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());
|
||||||
})
|
})
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue