You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
5.0 KiB
154 lines
5.0 KiB
/** index.js By Beginner Emain:zheng_jinfan@126.com HomePage:http://www.zhengjinfan.cn */
|
|
|
|
var tab;
|
|
|
|
layui.config({
|
|
base: '/static/admin/js/',
|
|
//version: new Date().getTime()
|
|
version: false
|
|
}).use(['element', 'layer', 'navbar', 'tab'], function () {
|
|
var element = layui.element, $ = layui.jquery,layer = layui.layer,navbar = layui.navbar();
|
|
tab = layui.tab({
|
|
elem: '.admin-nav-card', //设置选项卡容器
|
|
maxSetting: {
|
|
max: 8,
|
|
tipMsg: '为了系统的流畅度,只能同时打开8个选项卡。'
|
|
},
|
|
contextMenu: true,
|
|
onSwitch: function (data) {
|
|
},
|
|
closeBefore: function (obj) { //tab 关闭之前触发的事件
|
|
if (obj.title === 'BTable') {
|
|
layer.confirm('确定要关闭' + obj.title + '吗?', { icon: 3, title: '系统提示' }, function (index) {
|
|
//因为confirm是非阻塞的,所以这里关闭当前tab需要调用一下deleteTab方法
|
|
tab.deleteTab(obj.tabId);
|
|
layer.close(index);
|
|
});
|
|
//返回true会直接关闭当前tab
|
|
return false;
|
|
}else if(obj.title==='表单'){
|
|
layer.confirm('未保存的数据可能会丢失哦,确定要关闭吗?', { icon: 3, title: '系统提示' }, function (index) {
|
|
tab.deleteTab(obj.tabId);
|
|
layer.close(index);
|
|
});
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
});
|
|
//iframe自适应
|
|
$(window).on('resize', function () {
|
|
var $content = $('.admin-nav-card .layui-tab-content');
|
|
$content.height($(this).height() - 147);
|
|
$content.find('iframe').each(function () {
|
|
$(this).height($content.height());
|
|
});
|
|
}).resize();
|
|
|
|
//设置navbar
|
|
navbar.set({
|
|
spreadOne: true,
|
|
elem: '#admin-navbar-side',
|
|
cached: true,
|
|
data: navs
|
|
});
|
|
//渲染navbar
|
|
navbar.render();
|
|
//监听点击事件
|
|
navbar.on('click(side)', function (data) {
|
|
tab.tabAdd(data.field);
|
|
});
|
|
//清除缓存
|
|
$('#clearCached').on('click', function () {
|
|
navbar.cleanCached();
|
|
layer.alert('清除完成!', { icon: 1, title: '系统提示' }, function () {
|
|
location.reload();//刷新
|
|
});
|
|
});
|
|
|
|
$('.admin-side-toggle').on('click', function () {
|
|
var sideWidth = $('#admin-side').width();
|
|
if (sideWidth === 200) {
|
|
$('#admin-body').animate({
|
|
left: '0'
|
|
}); //admin-footer
|
|
$('#admin-footer').animate({
|
|
left: '0'
|
|
});
|
|
$('#admin-side').animate({
|
|
width: '0'
|
|
});
|
|
} else {
|
|
$('#admin-body').animate({
|
|
left: '200px'
|
|
});
|
|
$('#admin-footer').animate({
|
|
left: '200px'
|
|
});
|
|
$('#admin-side').animate({
|
|
width: '200px'
|
|
});
|
|
}
|
|
});
|
|
$('.admin-side-full').on('click', function () {
|
|
if (localStorage.full == 0) {
|
|
localStorage.full=1;
|
|
var docElm = document.documentElement;
|
|
//W3C
|
|
if (docElm.requestFullscreen) {
|
|
docElm.requestFullscreen();
|
|
}
|
|
//FireFox
|
|
else if (docElm.mozRequestFullScreen) {
|
|
docElm.mozRequestFullScreen();
|
|
}
|
|
//Chrome等
|
|
else if (docElm.webkitRequestFullScreen) {
|
|
docElm.webkitRequestFullScreen();
|
|
}
|
|
//IE11
|
|
else if (elem.msRequestFullscreen) {
|
|
elem.msRequestFullscreen();
|
|
}
|
|
layer.msg('按Esc即可退出全屏');
|
|
} else {
|
|
localStorage.full=0;
|
|
if(document.exitFullscreen) {
|
|
document.exitFullscreen();
|
|
} else if(document.mozCancelFullScreen) {
|
|
document.mozCancelFullScreen();
|
|
} else if(document.webkitExitFullscreen) {
|
|
document.webkitExitFullscreen();
|
|
}
|
|
}
|
|
});
|
|
|
|
// 监听顶部右侧导航
|
|
element.on('nav(side-top-right)', function (elem) {
|
|
// 修改skin
|
|
if ($(this).parent('dd').attr('data-skin')) {
|
|
document.cookie="skin="+$(this).parent('dd').attr('data-skin');
|
|
skin();
|
|
}
|
|
});
|
|
// 皮肤
|
|
function skin() {
|
|
var arr = document.cookie.match("(^| )skin=([^;]*)(;|$)");
|
|
var skin = arr != null?arr[2]:"0";
|
|
var body = $('body');
|
|
body.removeClass('skin-0');
|
|
body.removeClass('skin-1');
|
|
body.removeClass('skin-2');
|
|
body.addClass('skin-' + skin);
|
|
}
|
|
skin();
|
|
//手机设备的简单适配
|
|
var treeMobile = $('.site-tree-mobile'),
|
|
shadeMobile = $('.site-mobile-shade');
|
|
treeMobile.on('click', function () {
|
|
$('body').addClass('site-mobile');
|
|
});
|
|
shadeMobile.on('click', function () {
|
|
$('body').removeClass('site-mobile');
|
|
});
|
|
});
|