| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547 | 
							- /*
 
-  * @Author: https://github.com/WangEn
 
-  * @Author: https://gitee.com/lovetime/
 
-  * @Date:   2018-01-01
 
-  * @lastModify 2018-3-27 15:00:35
 
-  * +----------------------------------------------------------------------
 
-  * | Weadmin [ 后台管理模板 ]
 
-  * | 基于Layui http://www.layui.com/
 
-  * +----------------------------------------------------------------------
 
-  */
 
- layui.define(['jquery', 'form', 'layer', 'element'], function (exports) {
 
-     var $ = layui.jquery,
 
-         form = layui.form,
 
-         layer = layui.layer,
 
-         element = layui.element;
 
-     var menu = [];
 
-     var curMenu;
 
-     /*
 
-      * @todo 初始化加载完成执行方法
 
-      * 打开或刷新后执行
 
-      */
 
-     $(function () {
 
-         /*
 
-          * @todo 读取本地存储中记录的已打开的tab项
 
-          * 刷新后,读取记录,打开原来已打开的tab项
 
-          */
 
-         /*
 
-          * @todo table事件
 
-          */
 
-         tableCheck = {
 
-             init: function () {
 
-                 $(".layui-form-checkbox").click(function (event) {
 
-                     if ($(this).hasClass('layui-form-checked')) {
 
-                         $(this).removeClass('layui-form-checked');
 
-                         if ($(this).hasClass('header')) {
 
-                             $(".layui-form-checkbox").removeClass('layui-form-checked');
 
-                         }
 
-                     } else {
 
-                         $(this).addClass('layui-form-checked');
 
-                         if ($(this).hasClass('header')) {
 
-                             $(".layui-form-checkbox").addClass('layui-form-checked');
 
-                         }
 
-                     }
 
-                 });
 
-             },
 
-             getData: function () {
 
-                 var obj = $(".layui-form-checked").not('.header');
 
-                 var arr = [];
 
-                 obj.each(function (index, el) {
 
-                     arr.push(obj.eq(index).attr('data-id'));
 
-                 });
 
-                 return arr;
 
-             }
 
-         }
 
-         //开启表格多选
 
-         tableCheck.init();
 
-         //延时加载
 
-         setTimeout(function () {
 
-             if (sessionStorage.getItem("menu")) {
 
-                 menu = JSON.parse(sessionStorage.getItem("menu"));
 
-                 for (var i = 0; i < menu.length; i++) {
 
-                     tab.tabAdd(menu[i].title, menu[i].url, menu[i].id);
 
-                 }
 
-             } else {
 
-                 return false;
 
-             }
 
-             if (sessionStorage.getItem("curMenu")) {
 
-                 $('.layui-tab-title').find('layui-this').removeClass('layui-class');
 
-                 curMenu = JSON.parse(sessionStorage.getItem("curMenu"));
 
-                 id = curMenu.id;
 
-                 if (id) { //因为默认桌面首页不存在lay-id,所以要对此判断
 
-                     $('.layui-tab-title li[lay-id="' + id + '"]').addClass('layui-this');
 
-                     tab.tabChange(id);
 
-                 } else {
 
-                     $(".layui-tab-title li").eq(0).addClass('layui-this'); //未生效
 
-                     $('.layui-tab-content iframe').eq(0).parent().addClass('layui-show');
 
-                 }
 
-             } else {
 
-                 $(".layui-tab-title li").eq(0).addClass('layui-this'); //未生效
 
-                 $('.layui-tab-content iframe').eq(0).parent().addClass('layui-show');
 
-             }
 
-         }, 100);
 
-         //点击tab标题时,触发reloadTab函数
 
-         // $('#tabName').on('click','li',function(){
 
-         // 	reloadTab(this);
 
-         // });
 
-         //初始化加载结束
 
-     });
 
-     /*
 
-      * @todo 左侧导航菜单的显示和隐藏
 
-      */
 
-     // $('.container .left_open i').click(function(event) {
 
-     $('.container').on('click', '.left_open i', function (event) {
 
-         if ($('.left-nav').css('left') == '0px') {
 
-             //此处左侧菜单是显示状态,点击隐藏
 
-             $('.left-nav').animate({
 
-                 left: '-321px'
 
-             }, 100);
 
-             $('.page-content').animate({
 
-                 left: '0px'
 
-             }, 100);
 
-             $('.page-content-bg').hide();
 
-         } else {
 
-             //此处左侧菜单是隐藏状态,点击显示
 
-             $('.left-nav').animate({
 
-                 left: '0px'
 
-             }, 100);
 
-             $('.page-content').animate({
 
-                 left: '321px'
 
-             }, 100);
 
-             //点击显示后,判断屏幕宽度较小时显示遮罩背景
 
-             if ($(window).width() < 768) {
 
-                 $('.page-content-bg').show();
 
-             }
 
-         }
 
-     });
 
-     //点击遮罩背景,左侧菜单隐藏
 
-     $('.page-content-bg').click(function (event) {
 
-         $('.left-nav').animate({
 
-             left: '-321px'
 
-         }, 100);
 
-         $('.page-content').animate({
 
-             left: '0px'
 
-         }, 100);
 
-         $(this).hide();
 
-     });
 
-     /*
 
-      * @todo 左侧菜单事件
 
-      * 如果有子级就展开,没有就打开frame
 
-      */
 
-     $('body').on('click', '.left-nav #nav li', function (event) {
 
-         if ($(this).children('.sub-menu').length) {
 
-             if ($(this).hasClass('open')) {
 
-                 $(this).removeClass('open');
 
-                 $(this).find('.nav_right').html('');
 
-                 $(this).children('.sub-menu').stop().slideUp();
 
-                 $(this).siblings().children('.sub-menu').slideUp();
 
-             } else {
 
-                 $(this).addClass('open');
 
-                 $(this).children('a').find('.nav_right').html('');
 
-                 $(this).children('.sub-menu').stop().slideDown();
 
-                 $(this).siblings().children('.sub-menu').stop().slideUp();
 
-                 $(this).siblings().find('.nav_right').html('');
 
-                 $(this).siblings().removeClass('open');
 
-             }
 
-         } else {
 
-             var url = $(this).children('a').attr('_href');
 
-             var title = $(this).find('cite').html();
 
-             // var index = $('.left-nav #nav li').index($(this));
 
-             var index = $(this).attr('id');
 
-             // for (var i = 0; i < $('.weIframe').length; i++) {
 
-             //     if ($('.weIframe').eq(i).attr('tab-id') == index + 1) {
 
-             //         tab.tabChange(index + 1);
 
-             //         event.stopPropagation();
 
-             //         return;
 
-             //     }
 
-             // }
 
-             for (var i = 0; i < $('.weIframe').length; i++) {
 
-                 if ($('.weIframe').eq(i).attr('tab-id') == index) {
 
-                     tab.tabChange(index);
 
-                     event.stopPropagation();
 
-                     return;
 
-                 }
 
-             }
 
-             // tab.tabAdd(title, url, index + 1);
 
-             tab.tabAdd(title, url, index);
 
-             // tab.tabChange(index + 1);
 
-             tab.tabChange(index);
 
-         }
 
-         event.stopPropagation(); //不触发任何前辈元素上的事件处理函数
 
-     });
 
-     /*
 
-      * @todo tab触发事件:增加、删除、切换
 
-      */
 
-     var tab = {
 
-         tabAdd: function (title, url, id) {
 
-             //判断当前id的元素是否存在于tab中
 
-             var li = $("#WeTabTip li[lay-id=" + id + "]").length;
 
-             //console.log(li);
 
-             if (li > 0) {
 
-                 //tab已经存在,直接切换到指定Tab项
 
-                 //console.log(">0");
 
-                 element.tabChange('wenav_tab', id); //切换到:用户管理
 
-             } else {
 
-                 //该id不存在,新增一个Tab项
 
-                 //console.log("<0");
 
-                 element.tabAdd('wenav_tab', {
 
-                     title: title,
 
-                     content: '<iframe tab-id="' + id + '" frameborder="0" src="' + url + '" scrolling="yes" class="weIframe"></iframe>',
 
-                     id: id,
 
-                 });
 
-                 //当前窗口内容
 
-                 setStorageMenu(title, url, id);
 
-             }
 
-             CustomRightClick(id); //绑定右键菜单
 
-             FrameWH(); //计算框架高度
 
-         },
 
-         tabDelete: function (id) {
 
-             element.tabDelete("wenav_tab", id); //删除
 
-             removeStorageMenu(id);
 
-         },
 
-         tabChange: function (id) {
 
-             //切换到指定Tab项
 
-             element.tabChange('wenav_tab', id);
 
-         },
 
-         tabDeleteAll: function (ids) { //删除所有
 
-             $.each(ids, function (i, item) {
 
-                 element.tabDelete("wenav_tab", item);
 
-             })
 
-             sessionStorage.removeItem('menu');
 
-         }
 
-     };
 
-     /*
 
-      * @todo 监听右键事件,绑定右键菜单
 
-      * 先取消默认的右键事件,再绑定菜单,触发不同的点击事件
 
-      */
 
-     function CustomRightClick(id) {
 
-         //取消右键
 
-         $('.layui-tab-title li').on('contextmenu', function () {
 
-             return false;
 
-         })
 
-         $('.layui-tab-title,.layui-tab-title li').on('click', function () {
 
-             $('.rightMenu').hide();
 
-         });
 
-         //桌面点击右击
 
-         $('.layui-tab-title li').on('contextmenu', function (e) {
 
-             var aid = $(this).attr("lay-id"); //获取右键时li的lay-id属性
 
-             var popupmenu = $(".rightMenu");
 
-             popupmenu.find("li").attr("data-id", aid);
 
-             //console.log("popopmenuId:" + popupmenu.find("li").attr("data-id"));
 
-             l = ($(document).width() - e.clientX) < popupmenu.width() ? (e.clientX - popupmenu.width()) : e.clientX;
 
-             t = ($(document).height() - e.clientY) < popupmenu.height() ? (e.clientY - popupmenu.height()) : e.clientY;
 
-             popupmenu.css({
 
-                 left: l,
 
-                 top: t
 
-             }).show();
 
-             //alert("右键菜单")
 
-             return false;
 
-         });
 
-     }
 
-     $("#rightMenu li").click(function () {
 
-         var type = $(this).attr("data-type");
 
-         var layId = $(this).attr("data-id")
 
-         if (type == "current") {
 
-             //console.log("close this:" + layId);
 
-             tab.tabDelete(layId);
 
-         } else if (type == "all") {
 
-             //console.log("closeAll");
 
-             var tabtitle = $(".layui-tab-title li");
 
-             var ids = new Array();
 
-             $.each(tabtitle, function (i) {
 
-                 ids[i] = $(this).attr("lay-id");
 
-             })
 
-             tab.tabDeleteAll(ids);
 
-         } else if (type == "fresh") {
 
-             //console.log("fresh:" + layId);
 
-             tab.tabChange($(this).attr("data-id"));
 
-             var othis = $('.layui-tab-title').find('>li[lay-id="' + layId + '"]'),
 
-                 index = othis.parent().children('li').index(othis),
 
-                 parents = othis.parents('.layui-tab').eq(0),
 
-                 item = parents.children('.layui-tab-content').children('.layui-tab-item'),
 
-                 src = item.eq(index).find('iframe').attr("src");
 
-             item.eq(index).find('iframe').attr("src", src);
 
-         } else if (type == "other") {
 
-             var thisId = layId;
 
-             $('.layui-tab-title').find('li').each(function (i, o) {
 
-                 var layId = $(o).attr('lay-id');
 
-                 if (layId != thisId && layId != 0) {
 
-                     tab.tabDelete(layId);
 
-                 }
 
-             });
 
-         }
 
-         $('.rightMenu').hide();
 
-     });
 
-     /*
 
-      * @todo 重新计算iframe高度
 
-      */
 
-     function FrameWH() {
 
-         var h = $(window).height() - 90;
 
-         // console.log(h);
 
-         $("iframe[tab-id]").css("height", h + "px");
 
-     }
 
-     $(window).resize(function () {
 
-         FrameWH();
 
-     });
 
-     window.TopTabMenu = function (title, url, id) {
 
-         tab.tabAdd(title, url, id);
 
-         tab.tabChange(id);
 
-     }
 
-     /*
 
-      * @todo 弹出层,弹窗方法
 
-      * layui.use 加载layui.define 定义的模块,当外部 js 或 onclick调用 use 内部函数时,需要在 use 中定义 window 函数供外部引用
 
-      * http://blog.csdn.net/xcmonline/article/details/75647144
 
-      */
 
-     /*
 
-         参数解释:
 
-         title   标题
 
-         url     请求的url
 
-         id      需要操作的数据id
 
-         w       弹出层宽度(缺省调默认值)
 
-         h       弹出层高度(缺省调默认值)
 
-     */
 
-     window.WeAdminShow = function (title, url, w, h) {
 
-         if (title == null || title == '') {
 
-             title = false;
 
-         }
 
-         ;
 
-         if (url == null || url == '') {
 
-             url = "404.html";
 
-         }
 
-         ;
 
-         if (w == null || w == '') {
 
-             w = ($(window).width() * 0.9);
 
-         }
 
-         ;
 
-         if (h == null || h == '') {
 
-             h = ($(window).height() - 50);
 
-         }
 
-         ;
 
-         layer.open({
 
-             type: 2,
 
-             area: [w + 'px', h + 'px'],
 
-             fix: false, //不固定
 
-             maxmin: true,
 
-             shadeClose: true,
 
-             shade: 0.4,
 
-             title: title,
 
-             content: url
 
-         });
 
-     }
 
-     /*弹出层+传递ID参数*/
 
-     window.WeAdminEdit = function (title, url, id, w, h) {
 
-         if (title == null || title == '') {
 
-             title = false;
 
-         }
 
-         ;
 
-         if (url == null || url == '') {
 
-             url = "404.html";
 
-         }
 
-         ;
 
-         if (w == null || w == '') {
 
-             w = ($(window).width() * 0.9);
 
-         }
 
-         ;
 
-         if (h == null || h == '') {
 
-             h = ($(window).height() - 50);
 
-         }
 
-         ;
 
-         layer.open({
 
-             type: 2,
 
-             area: [w + 'px', h + 'px'],
 
-             fix: false, //不固定
 
-             maxmin: true,
 
-             shadeClose: true,
 
-             shade: 0.4,
 
-             title: title,
 
-             content: url,
 
-             success: function (layero, index) {
 
-                 //向iframe页的id=house的元素传值  // 参考 https://yq.aliyun.com/ziliao/133150
 
-                 var body = layer.getChildFrame('body', index);
 
-                 body.contents().find("#dataId").val(id);
 
-                 console.log(id);
 
-             },
 
-             error: function (layero, index) {
 
-                 alert("aaa");
 
-             }
 
-         });
 
-     }
 
-     /**
 
-      *@todo tab监听:点击tab项对应的关闭按钮事件
 
-      */
 
-     $('.layui-tab-close').click(function (event) {
 
-         $('.layui-tab-title li').eq(0).find('i').remove();
 
-     });
 
-     /**
 
-      *@todo tab切换监听
 
-      * tab切换监听不能写字初始化加载$(function())方法内,否则不执行
 
-      */
 
-     element.on('tab(wenav_tab)', function (data) {
 
-         // console.log(this, $(this).attr('lay-id')); //当前Tab标题所在的原始DOM元素
 
-         $('.left-nav #nav li').removeClass('active open');
 
-         $('.left-nav #nav .sub-menu').stop().slideUp();
 
-         $('.left-nav #nav li .nav_right').html('');
 
-         $('#' + $(this).attr('lay-id')).addClass('active').parents('li').addClass('open');
 
-         $('.left-nav #nav li.open > a .nav_right').html('')
 
-         var open_li = $('.left-nav #nav li.open');
 
-         // open_li.find('.nav_right').html('');
 
-         open_li.children('.sub-menu').stop().slideDown('normal', function () {
 
-             $(this).attr('style', 'display:block;');
 
-         });
 
-         $('#' + $(this).attr('lay-id')).siblings().find('.nav_right').html('');
 
-         setStorageCurMenu();
 
-     });
 
-     /*
 
-      * @todo 监听layui Tab项的关闭按钮,改变本地存储
 
-      */
 
-     element.on('tabDelete(wenav_tab)', function (data) {
 
-         var layId = $(this).parent('li').attr('lay-id');
 
-         // console.log(layId);
 
-         removeStorageMenu(layId);
 
-     });
 
-     /**
 
-      *@todo 本地存储 localStorage
 
-      * 为了保持统一,将sessionStorage更换为存储周期更长的localStorage
 
-      */
 
-     //本地存储记录所有打开的窗口
 
-     function setStorageMenu(title, url, id) {
 
-         var menu = JSON.parse(sessionStorage.getItem('menu'));
 
-         if (menu) {
 
-             var deep = false;
 
-             for (var i = 0; i < menu.length; i++) {
 
-                 if (menu[i].id == id) {
 
-                     deep = true;
 
-                     menu[i].title = title;
 
-                     menu[i].url = url;
 
-                     menu[i].id = id;
 
-                 }
 
-             }
 
-             if (!deep) {
 
-                 menu.push({
 
-                     title: title,
 
-                     url: url,
 
-                     id: id
 
-                 })
 
-             }
 
-         } else {
 
-             var menu = [{
 
-                 title: title,
 
-                 url: url,
 
-                 id: id
 
-             }]
 
-         }
 
-         sessionStorage.setItem('menu', JSON.stringify(menu));
 
-     }
 
-     //本地存储记录当前打开窗口
 
-     function setStorageCurMenu() {
 
-         var curMenu = sessionStorage.getItem('curMenu');
 
-         var text = $('.layui-tab-title').find('.layui-this').text();
 
-         text = text.split('ဆ')[0];
 
-         var url = $('.layui-tab-content').find('.layui-show').find('.weIframe').attr('src');
 
-         var id = $('.layui-tab-title').find('.layui-this').attr('lay-id');
 
-         //console.log(text);
 
-         curMenu = {
 
-             title: text,
 
-             url: url,
 
-             id: id
 
-         }
 
-         if (url.indexOf("?") != -1) {
 
-             sessionStorage.setItem('fileClassName', parse_url(url)[0])
 
-         }
 
-         sessionStorage.setItem('curMenu', JSON.stringify(curMenu));
 
-     }
 
-     // 获取url参数
 
-     function parse_url(_url) {
 
-         var name, value, info = [];
 
-         var str = _url
 
-         var num = str.indexOf("?");
 
-         str = str.substr(num + 1);
 
-         var arr = str.split("&");
 
-         for (var i = 0; i < arr.length; i++) {
 
-             num = arr[i].indexOf("=");
 
-             if (num > 0) {
 
-                 name = arr[i].substring(0, num);
 
-                 value = arr[i].substr(num + 1);
 
-                 this[name] = value;
 
-                 info.push(value)
 
-             }
 
-         }
 
-         return info
 
-     }
 
-     //本地存储中移除删除的元素
 
-     function removeStorageMenu(id) {
 
-         var menu = JSON.parse(sessionStorage.getItem('menu'));
 
-         //var curMenu = JSON.parse(localStorage.getItem('curMenu'));
 
-         if (menu) {
 
-             var deep = false;
 
-             for (var i = 0; i < menu.length; i++) {
 
-                 if (menu[i].id == id) {
 
-                     deep = true;
 
-                     menu.splice(i, 1);
 
-                 }
 
-             }
 
-         } else {
 
-             return false;
 
-         }
 
-         sessionStorage.setItem('menu', JSON.stringify(menu));
 
-     }
 
-     /**
 
-      *@todo 模拟登录
 
-      * 判断初次登录时,跳转到登录页
 
-      */
 
-     var login = localStorage.getItem('login');
 
-     $('.loginout').click(function () {
 
-         login = 0;
 
-         localStorage.setItem('login', login);
 
-     });
 
-     $('.loginin').click(function () {
 
-         login = 1;
 
-         localStorage.setItem('login', login);
 
-     });
 
-     /*
 
-      *Tab加载后刷新
 
-      * 判断是刷新后第一次点击时,刷新frame子页面
 
-      * */
 
-     window.reloadTab = function (which) {
 
-         var len = $('.layui-tab-title').children('li').length;
 
-         var layId = $(which).attr('lay-id');
 
-         var i = 1;
 
-         if ($(which).attr('data-bit')) {
 
-             return false; //判断页面打开后第一次点击,执行刷新
 
-         } else {
 
-             $(which).attr('data-bit', i);
 
-             var frame = $('.weIframe[tab-id=' + layId + ']');
 
-             frame.attr('src', frame.attr('src'));
 
-             console.log("reload:" + $(which).attr('data-bit'));
 
-         }
 
-     }
 
-     /**
 
-      *@todo Frame内部的按钮点击打开其他frame的tab
 
-      */
 
-     exports('admin', {});
 
- });
 
 
  |