| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- /**
- * @name: vip-admin 后台模板主入口
- * @author: 随丶
- */
- // 配置
- layui.config({
- base: './frame/static/js/' // 模块目录
- }).extend({ // 模块别名
- vip_nav: 'vip_nav'
- , vip_tab: 'vip_tab'
- , vip_table: 'vip_table'
- });
- // 主入口方法
- layui.use(['layer', 'element', 'util'], function () {
- // 操作对象
- var device = layui.device()
- , element = layui.element
- , layer = layui.layer
- , util = layui.util
- , $ = layui.jquery
- , cardIdx = 0
- , cardLayId = 0
- , side = $('.my-side')
- , body = $('.my-body')
- , footer = $('.my-footer');
- //阻止IE7以下访问
- if (device.ie && device.ie < 8) {
- layer.alert('如果您非得使用ie浏览vip-admin 后台模板,那么请使用ie8+');
- }
- // 导航栏收缩
- function navHide(t, st) {
- var time = t ? t : 50;
- st ? localStorage.log = 1 : localStorage.log = 0;
- side.animate({'left': -200}, time);
- body.animate({'left': 0}, time);
- footer.animate({'left': 0}, time);
- }
- // 导航栏展开
- function navShow(t, st) {
- var time = t ? t : 50;
- st ? localStorage.log = 0 : localStorage.log = 1;
- side.animate({'left': 0}, time);
- body.animate({'left': 200}, time);
- footer.animate({'left': 200}, time);
- }
- // 监听导航栏收缩
- $('.btn-nav').on('click', function () {
- if (localStorage.log == 0) {
- navShow(50);
- } else {
- navHide(50);
- }
- });
- // 根据导航栏text获取lay-id
- function getTitleId(card, title) {
- var id = -1;
- $(document).find(".layui-tab[lay-filter=" + card + "] ul li").each(function () {
- if (title === $(this).find('span').html()) {
- id = $(this).attr('lay-id');
- }
- });
- return id;
- }
- // 添加TAB选项卡
- window.addTab = function (elem, tit, url) {
- var card = 'card'; // 选项卡对象
- var title = tit ? tit : elem.children('a').html(); // 导航栏text
- var src = url ? url : elem.children('a').attr('href-url'); // 导航栏跳转URL
- var id = new Date().getTime(); // ID
- var flag = getTitleId(card, title);
- $('#iframe').attr('src',src);
- return; // 是否有该选项卡存在
- // 大于0就是有该选项卡了
- if (flag > 0) {
- id = flag;
- } else {
- if (src) {
- //新增
- element.tabAdd(card, {
- title: '<span>' + title + '</span>'
- , content: '<iframe src="' + src + '" frameborder="0"></iframe>'
- , id: id
- });
- // 关闭弹窗
- layer.closeAll();
- }
- }
- // 切换相应的ID tab
- element.tabChange(card, id);
- // 提示信息
- // layer.msg(title);
- };
- // 监听顶部左侧导航
- element.on('nav(side-top-left)', function (elem) {
- // 添加tab方法
- window.addTab(elem);
- });
- // 监听顶部右侧导航
- element.on('nav(side-top-right)', function (elem) {
- // 修改skin
- if ($(this).attr('data-skin')) {
- localStorage.skin = $(this).attr('data-skin');
- skin();
- } else {
- // 添加tab方法
- window.addTab(elem);
- }
- });
- // 监听导航(side-main)点击切换页面
- element.on('nav(side-main)', function (elem) {
- // 添加tab方法
- window.addTab(elem);
- });
- // 删除选项卡
- window.delTab = function (layId) {
- // 删除
- element.tabDelete('card', layId);
- };
- // 删除所有选项卡
- window.delAllTab = function () {
- // 选项卡对象
- layui.each($('.my-body .layui-tab-title > li'), function (k, v) {
- var layId = $(v).attr('lay-id');
- if (layId > 1) {
- // 删除
- element.tabDelete('card', layId);
- }
- });
- };
- // 获取当前选中选项卡lay-id
- window.getThisTabID = function () {
- // 当前选中的选项卡id
- return $(document).find('body .my-body .layui-tab-card > .layui-tab-title .layui-this').attr('lay-id');
- };
- // 双击关闭相应选项卡
- $(document).on('dblclick', '.my-body .layui-tab-card > .layui-tab-title li', function () {
- // 欢迎页面以外,删除选项卡
- if ($(this).index() > 0) {
- element.tabDelete('card', $(this).attr('lay-id'));
- } else {
- layer.msg('欢迎页面不能关闭')
- }
- });
- // 选项卡右键事件阻止
- $(document).on("contextmenu", '.my-body .layui-tab-card > .layui-tab-title li', function () {
- return false;
- });
- // 选项卡右键事件
- $(document).on("mousedown", '.my-body .layui-tab-card > .layui-tab-title li', function (e) {
- // 判断是右键点击事件并且不是欢迎页面选项卡
- if (3 == e.which && $(this).index() > 0) {
- // 赋值
- cardIdx = $(this).index();
- cardLayId = $(this).attr('lay-id');
- // 选择框
- layer.tips($('.my-dblclick-box').html(), $(this), {
- skin: 'dblclick-tips-box',
- tips: 3,
- time: false
- });
- }
- });
- // 点击body关闭tips
- $(document).on('click', 'html', function () {
- layer.closeAll('tips');
- });
- // 右键提示框菜单操作-刷新页面
- $(document).on('click', '.card-refresh', function () {
- // 窗体对象
- var ifr = $(document).find('.my-body .layui-tab-content .layui-tab-item iframe').eq(cardIdx);
- // 刷新当前页
- ifr.attr('src', ifr.attr('src'));
- // 切换到当前选项卡
- element.tabChange('card', cardLayId);
- });
- // 右键提示框菜单操作-关闭页面
- $(document).on('click', '.card-close', function () {
- // 删除
- window.delTab(cardLayId);
- });
- // 右键提示框菜单操作-关闭所有页面
- $(document).on('click', '.card-close-all', function () {
- // 删除
- window.delAllTab();
- });
- // 打赏
- $('.pay').on('click', function () {
- layer.open({
- type: 1,
- title: false, // 标题不显示
- closeBtn: false, // 关闭按钮不显示
- shadeClose: true, // 点击遮罩关闭
- area: ['auto', 'auto'], // 宽高
- content: $('.my-pay-box') // 弹出内容
- });
- });
- // 皮肤
- function skin() {
- var skin = localStorage.skin ? localStorage.skin : 0;
- var body = $('body');
- body.removeClass('skin-0');
- body.removeClass('skin-1');
- body.removeClass('skin-2');
- body.addClass('skin-' + skin);
- }
- // 工具
- function _util() {
- var bar = $('.layui-fixbar');
- // 分辨率小于1023 使用内部工具组件
- if ($(window).width() < 1023) {
- util.fixbar({
- bar1: ''
- , css: {left: 10, bottom: 54}
- , click: function (type) {
- if (type === 'bar1') {
- //iframe层
- layer.open({
- type: 1, // 类型
- title: false, // 标题
- offset: 'l', // 定位 左边
- closeBtn: 0, // 关闭按钮
- anim: 0, // 动画
- shadeClose: true, // 点击遮罩关闭
- shade: 0.8, // 半透明
- area: ['150px', '100%'], // 区域
- skin: 'my-mobile', // 样式
- content: $('body .my-side').html() // 内容
- });
- }
- element.init();
- }
- });
- bar.removeClass('layui-hide');
- bar.addClass('layui-show');
- } else {
- bar.removeClass('layui-show');
- bar.addClass('layui-hide');
- }
- };
- // 自适应
- $(window).on('resize', function () {
- if ($(window).width() > 1023) {
- navShow(10);
- } else {
- navHide(10);
- }
- _util();
- });
- // 监听控制content高度
- function init() {
- // 起始判断-收缩/展开
- if (!localStorage.log) {
- if ($(window).width() > 1023) {
- if (localStorage.log == 0) {
- navHide(10);
- } else {
- navShow(10);
- }
- } else {
- navHide(10);
- }
- } else {
- if (localStorage.log == 0) {
- navHide(10);
- } else {
- navShow(10);
- }
- }
- // 工具
- _util();
- // skin
- skin();
- // 选项卡高度
- cardTitleHeight = $(document).find(".layui-tab[lay-filter='card'] ul.layui-tab-title").height();
- // 需要减去的高度
- height = $(window).height() - $('.layui-header').height() - cardTitleHeight - $('.layui-footer').height();
- // 设置高度
- $(document).find(".layui-tab[lay-filter='card'] div.layui-tab-content").height(height - 2);
- }
- // 初始化
- init();
- });
|