layui.config({
base: '/themes/admin_themes/module/'
}).define(['element'], function(exports){
var MOD_NAME = 'tab';
var element = layui.element;
var tab = {
//在这里给active绑定几项事件,后面可通过active调用这些事件
tabAdd: function(url,id,name) {
//新增一个Tab项 传入三个参数,分别对应其标题,tab页面的地址,还有一个规定的id,是标签中data-id的属性值
//关于tabAdd的方法所传入的参数可看layui的开发文档中基础方法部分
element.tabAdd('gougu-admin-tab', {
title: ''+name,
content: '',
id: id //规定好的id
});
this.tabChange(id);
var thetabs = $('.layui-tab-title').find('li');
if(thetabs.length>10){
layer.tips('点击LOGO快速关闭TAB',$('[ittab-home]'));
}
// FrameWH(); //计算ifram层的大小
},
tabChange: function(id) {
//根据传入的id传入到指定的tab项,并滚动定位
element.tabChange('gougu-admin-tab', id);
var $tabTitle = $('.layui-tab-title');
var autoLeft = 0;
$tabTitle.children("li").each(function() {
if ($(this).hasClass('layui-this')) {
return false;
} else {
autoLeft += $(this).outerWidth();
}
});
$tabTitle.animate({
scrollLeft: autoLeft - $tabTitle.width() / 3
}, 200);
},
tabDelete: function (id) {
element.tabDelete('gougu-admin-tab', id);//删除
},
tabDeleteAll: function (ids) {
//删除所有
$.each(ids, function (i,item) {
//ids是一个数组,里面存放了多个id,调用tabDelete方法分别删除
element.tabDelete('gougu-admin-tab', item);
})
},
//子页面打开新的窗口
sonAdd: function(url,name) {
var id=new Date().getTime();
this.tabAdd(url,id,name);
},
//子页面关闭窗口
sonDelete: function(id) {
$('.layui-tab .layui-tab-title .layui-this i').click();//框架页面删除tab
},
tabRoll: function(d) {
var $tabTitle = $('.layui-tab-title');
var left = $tabTitle.scrollLeft();
if ('left' === d) {
$tabTitle.animate({
scrollLeft: left - 360
}, 200);
} else {
$tabTitle.animate({
scrollLeft: left + 360
}, 200);
}
}
};
layui.tab=tab;
//关闭全部tab,只保留首页
$("[ittab-home]").on('click', function(){
var thetabs = $('.layui-tab-title').find('li'),ids=[];
var thisid=$('.layui-this').attr('lay-id');
for(var i=0;i 0){
for (var a = 0; a < ids.length; a++) {
if(ids[a] != 0){
element.tabDelete('gougu-admin-tab', ids[a]);
}
}
}
return false;
})
//左右滚动菜单
$("#right_button").click(function() {
tab.tabRoll("right");
})
$("#left_button").click(function() {
tab.tabRoll("left");
})
//当点击有site-menu-active属性的标签时,即左侧菜单栏中内容 ,触发点击事件
$('.site-menu-active').on('click', function() {
var dataid = $(this);
var src=dataid.data("src"),id=dataid.data("id"),title=dataid.data("title");
//这时会判断右侧.layui-tab-title属性下的有lay-id属性的li的数目,即已经打开的tab项数目
$('.site-menu-active').removeClass('layui-this');
dataid.addClass('layui-this');
if ($(".layui-tab-title li[lay-id]").length <= 0) {
//如果比零小,则直接打开新的tab项
tab.tabAdd(src, id,title);
} else {
//否则判断该tab项是否以及存在
var isData = false; //初始化一个标志,为false说明未打开该tab项 为true则说明已有
$.each($(".layui-tab-title li[lay-id]"), function () {
//如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到,则说明该tab项已经打开
if ($(this).attr("lay-id") == id) {
isData = true;
$('[data-frameid="'+id+'"]').attr('src',src);
//最后不管是否新增tab,最后都转到要打开的选项页面上
tab.tabChange(id);
}
})
if (isData == false) {
//标志为false 新增一个tab项
tab.tabAdd(src, id,title);
}
}
});
//菜单点击操作
$(document).ready(function(){
$(".ittab-menulist-2").click(function(){
$(this).next("div").slideToggle(200).siblings(".ittab-menulist-3:visible").stop(true, true).slideUp(200);
$(this).siblings(".ittab-menulist-2").find('i').removeClass("layui-icon-triangle-d");
$(this).find('i').toggleClass("layui-icon-triangle-d");
});
});
//右上角刷新
$("[ittab-refresh]").on('click', function(){
if($(this).hasClass("refreshThis")){
$("[ittab-loading]").show();
$(this).removeClass("refreshThis");
var iframe = $(".layui-tab-item.layui-show").find("iframe")[0];
if(iframe){
var src = parent.document.getElementById(iframe.id).contentWindow.location.href ? parent.document.getElementById(iframe.id).contentWindow.location.href : iframe.src;
document.getElementById(iframe.id).src=src;
}
setTimeout(function(){
$("[ittab-loading]").hide();
},500)
setTimeout(function(){
$("[ittab-refresh]").attr("class","refreshThis");
},1000)
}else{
layer.tips("每秒只可刷新一次",this, {
tips: 1
});
}
return false;
})
//清除缓存
$("[ittab-del-cache]").on('click', function(e){
var that = $(this);
if(that.attr('class') === 'clearThis'){
layer.tips('正在努力清理中...',this);
return false;
}
layer.tips('正在清理系统缓存...',this);
that.attr('class','clearThis');
$.ajax({
url:"/admin/api/cache_clear",
success:function(res){
if(res.code == 1){
setTimeout(function(){
that.attr('class','');
layer.tips(res.msg,that);
},1000)
} else {
layer.tips(res.msg,that);
}
}
})
})
function FrameWH() {
var h = $(window).height() -41- 10 - 60 -10-44 -10;
$("iframe").css("height",h+"px");
}
$(window).resize(function () {
//FrameWH();
})
exports('gougucms', {});
});