/** * 首页加载完后,取消加载中状态 */ $(window).load(function () { $("#loading").fadeOut(); }); var isFullScreen = false; var App = function () { var setFullScreen = function () { var de = document.documentElement; if (de.requestFullscreen) { de.requestFullscreen(); } else if (de.mozRequestFullScreen) { de.mozRequestFullScreen(); } else if (de.webkitRequestFullScreen) { de.webkitRequestFullScreen(); } else { App.alert({message: "该浏览器不支持全屏!", type: "danger"}); } }; //退出全屏 判断浏览器种类 var exitFullScreen = function () { // 判断各种浏览器,找到正确的方法 var exitMethod = document.exitFullscreen || //W3C document.mozCancelFullScreen || //Chrome等 document.webkitExitFullscreen || //FireFox document.webkitExitFullscreen; //IE11 if (exitMethod) { exitMethod.call(document); } else if (typeof window.ActiveXObject !== "undefined") {//for Internet Explorer var wscript = new ActiveXObject("WScript.Shell"); if (wscript !== null) { wscript.SendKeys("{F11}"); } } }; return { init: function () { }, handleFullScreen: function () { if (isFullScreen) { exitFullScreen(); isFullScreen = false; } else { setFullScreen(); isFullScreen = true; } } }; }; $(function () { $(".collapseMenu").on("click", function () { var p = $("#index_layout").iLayout("panel", "west")[0].clientWidth; if (p > 0) { $('#index_layout').iLayout('collapse', 'west'); $(this).children('span').removeClass('fa-chevron-circle-left').addClass('fa-chevron-circle-right'); } else { $('#index_layout').iLayout('expand', 'west'); $(this).children('span').removeClass('fa-chevron-circle-right').addClass('fa-chevron-circle-left'); } }); // 首页tabs选项卡 var index_tabs = $('#index_tabs').iTabs({ fit: true, tools: [{ iconCls: 'fa fa-home', handler: function () { $('#index_tabs').iTabs('select', 0); } }, { iconCls: 'fa fa-refresh', handler: function () { var refresh_tab = $('#index_tabs').iTabs('getSelected'); var refresh_iframe = refresh_tab.find('iframe')[0]; refresh_iframe.contentWindow.location.href = refresh_iframe.src; //$('#index_tabs').trigger(TOPJUI.eventType.initUI.base); //var index = $('#index_tabs').iTabs('getTabIndex', $('#index_tabs').iTabs('getSelected')); //console.log(index); //$('#index_tabs').iTabs('getTab', index).iPanel('refresh'); } }, { iconCls: 'fa fa-close', handler: function () { var index = $('#index_tabs').iTabs('getTabIndex', $('#index_tabs').iTabs('getSelected')); var tab = $('#index_tabs').iTabs('getTab', index); if (tab.iPanel('options').closable) { $('#index_tabs').iTabs('close', index); } } },{ iconCls: 'fa fa-arrows-alt', handler: function () { App().handleFullScreen(); } }], //监听右键事件,创建右键菜单 onContextMenu: function (e, title, index) { e.preventDefault(); if (index >= 0) { $('#mm').iMenu('show', { left: e.pageX, top: e.pageY }).data("tabTitle", title); } } }); //tab右键菜单 $("#mm").iMenu({ onClick: function (item) { tabMenuOprate(this, item.name); } }); // 初始化accordion $("#RightAccordion").iAccordion({ fit: true, border: false }); // 绑定横向导航菜单点击事件 $(".systemName").on("click", function (e) { //generateMenu(e.currentTarget.dataset.menuid, e.target.textContent); //IE9及以下不兼容data-menuid属性 //generateMenu(e.target.getAttribute('data-menuid'), e.target.textContent); generateMenu($(this).attr("id"), $(this).attr("title")); $(".systemName").removeClass("selected"); $(this).addClass("selected"); }); // 主页打开初始化时显示第一个系统的菜单 $('.systemName').eq('0').trigger('click'); // 显示系统首页 /*setTimeout(function () { var indexTab = []; indexTab.iconCls = "icon-house"; indexTab.text = "系统门户"; var portal = $.getUrlParam("portal"); if (portal == "system" || portal == null) portal = "system"; indexTab.url = "html/portal/index.html"; indexTab.closable = false; indexTab.border = false; addTab(indexTab); }, 1);*/ $("#themeStyle").iDialog({ title: '设置主题风格' }); $("#setThemes").on('click', function () { $("#themeStyle").iDialog('open'); }); // 保存主题 $(".topjuiTheme").on("click", function () { var theme = $('input[name="themes"]:checked').val(); var menu = $('input[name="menustyle"]:checked').val(); var topmenu = $('input[name="topmenu"]').is(':checked'); changeTheme(theme); }); //初始化完成 }); /** * Tab菜单操作 * @param menu * @param type * @returns */ function tabMenuOprate(menu, type) { var allTabs = $('#index_tabs').iTabs('tabs'); var allTabtitle = []; $.each(allTabs, function (i, n) { var opt = $(n).iPanel('options'); if (opt.closable) allTabtitle.push(opt.title); }); var curTabTitle = $(menu).data("tabTitle"); var curTabIndex = $('#index_tabs').iTabs("getTabIndex", $('#index_tabs').iTabs("getTab", curTabTitle)); switch (type) { case "1"://关闭当前 if (curTabIndex > 0) { $('#index_tabs').iTabs("close", curTabTitle); return false; break; } else { $.iMessager.show({ title: '操作提示', msg: '首页不允许关闭!' }); break; } case "2"://全部关闭 for (var i = 0; i < allTabtitle.length; i++) { $('#index_tabs').iTabs('close', allTabtitle[i]); } break; case "3"://除此之外全部关闭 for (var i = 0; i < allTabtitle.length; i++) { if (curTabTitle != allTabtitle[i]) $('#index_tabs').iTabs('close', allTabtitle[i]); } $('#index_tabs').iTabs('select', curTabTitle); break; case "4"://当前侧面右边 for (var i = curTabIndex; i < allTabtitle.length; i++) { $('#index_tabs').iTabs('close', allTabtitle[i]); } $('#index_tabs').iTabs('select', curTabTitle); break; case "5": //当前侧面左边 for (var i = 0; i < curTabIndex - 1; i++) { $('#index_tabs').iTabs('close', allTabtitle[i]); } $('#index_tabs').iTabs('select', curTabTitle); break; case "6": //刷新 var refresh_tab = $('#index_tabs').iTabs('getSelected'); var refresh_iframe = refresh_tab.find('iframe')[0]; refresh_iframe.contentWindow.location.href = refresh_iframe.src; //$('#index_tabs').trigger(TOPJUI.eventType.initUI.base); break; } } /** * 更换页面风格 * @param topjuiThemeName */ function changeTheme(themeName) {/* 更换主题 */ var $dynamicTheme = $('#dynamicTheme'); var themeHref = $dynamicTheme.attr('href'); var themeHrefNew = themeHref.substring(0, themeHref.indexOf('themes')) + 'themes/default/topjui.' + themeName + '.css'; // 更换主页面风格 $dynamicTheme.attr('href', themeHrefNew); // 更换iframe页面风格 var $iframe = $('iframe'); if ($iframe.length > 0) { for (var i = 1; i < $iframe.length; i++) { var ifr = $iframe[i]; var $iframeDynamicTheme = $(ifr).contents().find('#dynamicTheme'); var iframeThemeHref = $iframeDynamicTheme.attr('href'); var iframeThemeHrefNew = iframeThemeHref.substring(0, iframeThemeHref.indexOf('themes')) + 'themes/default/topjui.' + themeName + '.css'; $iframeDynamicTheme.attr('href', iframeThemeHrefNew); } } $.cookie('topjuiThemeName', themeName, { expires: 70, path: '/' }); }; if ($.cookie('topjuiThemeName')) { changeTheme($.cookie('topjuiThemeName')); }; /** * 生成左侧导航菜单 * @param menuId * @param systemName * @returns */ function generateMenu(menuId, systemName) { if (menuId == "") { $.iMessager.show({title: '操作提示', msg: '还未设置该菜单ID!'}); return; } $(".panel-header .panel-title:first").html(systemName); var allPanel = $("#RightAccordion").iAccordion('panels'); var size = allPanel.length; if (size > 0) { for (i = 0; i < size; i++) { var index = $("#RightAccordion").iAccordion('getPanelIndex', allPanel[i]); $("#RightAccordion").iAccordion('remove', 0); } } //资源菜单url var url = "/customer/resource/listByPid"; //获取资源菜单(只获取左侧第一层菜单) $.post(url, {"parentId": menuId},function (data) { if(data.code!=0){ return false; } data = data.data; //循环添加左侧第一层菜单 $.each(data, function (i, e) { var pid = e.pid; var isSelected = i == 0 ? true : false;//第一个默认选中 $('#RightAccordion').iAccordion('add', { fit: false, title: e.text, content: "", border: false, selected: isSelected, iconCls: e.iconCls }); $.parser.parse(); //获取第二层菜单 $.post(url, {"parentId": e.id}, function (data) { data = data.data; $("#tree" + e.id).tree({ data: data,lines: false,animate: true, onBeforeExpand: function (node, param) { //点击展开第三层菜单 $("#tree" + e.id).tree('options').url = url + "?parentId="+node.id; }, onClick: function (node) { if (node.url) {//如果url非空,则添加至tab,否则还有子菜单 addTab(node); } else { if (node.state == "closed") { $("#tree" + e.id).tree('expand', node.target); } else if (node.state == 'open') { $("#tree" + e.id).tree('collapse', node.target); } } } }); }, 'json'); }); }, "json"); } /** * 打开Tab窗口 * @param params * @returns */ function addTab(params) { var iframe = ''; var t = $('#index_tabs'); var $selectedTab = t.iTabs('getSelected'); var selectedTabOpts = $selectedTab.iPanel('options'); var opts = { id: getRandomNumByDef(), refererTab: {}, title: params.text, closable: typeof(params.closable) != "undefined" ? params.closable : true, iconCls: params.iconCls ? params.iconCls : 'fa fa-file-text-o', content: iframe, //href: params.url, border: params.border || true, fit: true //cls: 'leftBottomBorder' }; if (t.iTabs('exists', opts.title)) { t.iTabs('select', opts.title); } else { var lastMenuClickTime = $.cookie("menuClickTime"); var nowTime = new Date().getTime(); if ((nowTime - lastMenuClickTime) >= 500) { $.cookie("menuClickTime", new Date().getTime()); t.iTabs('add', opts); } else { $.iMessager.show({ title: '温馨提示', msg: '操作过快,请稍后重试!' }); } } }; /** * 增加标签 * @param options * @returns */ function addParentTab(options) { var src, title; src = options.href; title = options.title; var iframe = ''; parent.$('#index_tabs').iTabs("add", { title: title, content: iframe, closable: true, iconCls: 'fa fa-th', border: true }); }; /** * 获取当前状态 * @returns */ function current(){ $.post('/customer/login/current',function (result) { //未登录,直接跳到登录页 if (result.code == 2) { gotoLogin(); } //出问题, 如被抢登录了 if(result.code == 1){ $.iMessager.alert('注意', result.msg, 'messager-warning'); } //正常,显示当前用户代码和用户名 if(result.code == 0){ var data = result.data; $("#CURRENT_USER_CODE").text(data.code); $("#CURRENT_USER_NAME").text(data.name); $("#CURRENT_WAREHOUSE_CODE").val(data.warehouseCode); $("#CURRENT_WAREHOUSE_NAME").text(data.warehouseName); } },'json').error(function(){ //clearInterval(currentInterval); //$.iMessager.alert('注意', '网络断开或服务器发生异常', 'messager-warning'); }); }; current();//刷新时获取状态 var currentInterval= window.setInterval("current()",60000); //60秒获取一次状态 //退出系统 function logout() { $.iMessager.confirm('提示', '确定要退出吗?', function (r) { if (r) { $.iMessager.progress({text: '正在退出中...'}); //调用后台,销毁session $.post('/customer/login/logout',function (result) { gotoLogin(); },'json'); } }); }; //去控制中心登录页 function gotoLogin(){ var loginUrl = localStorage.getItem("loginUrl"); if (loginUrl != null && loginUrl != '') { window.location.href = loginUrl; } else { window.history.go(-1); } } //打开个人信息 function personal() { $('#personalDialog').iDialog({ width:'700', height:'600', title: '个人信息', iconCls:'fa fa-align-justify', cache: true, href: _ctx + '/views/user/customer/customer/personal.html', buttons: [{ text: '关闭', iconCls: 'fa fa-close', btnCls: 'topjui-btn-danger', handler: function () { $("#personalDialog").iDialog('close'); $('#personalDialog').iDialog('clear', true); } }] }); $("#personalDialog").iDialog('open'); }; //打开修改密码窗口 function modifyPwd() { $('#pwdDialog').iDialog({ width:'400', height:'400', title: '修改密码', iconCls:'fa fa-align-justify', href: _ctx + '/views/user/customer/customer/modifyPassword.html', buttons: [{ text: '确定', iconCls: 'fa fa-save', btnCls: 'topjui-btn', handler: function () { if ($("#newPassword").val().length < 6) { $.iMessager.alert('警告', '密码长度不能小于6位', 'messager-warning'); return false; } var formData = $("#pwdDialog").serialize(); $.ajax({ url: '/customer/customer/updPwd', type: 'post', cache: false, data: formData, success: function (data, response, status) { if (data.code == 0) { $.iMessager.show({title: '提示',msg: data.msg}); //右下角提示信息 $("#pwdDialog").iDialog('close').form('reset'); } else { $.iMessager.alert('操作失败!', data.msg, 'messager-error'); //弹窗提示信息 } $("#pwdDialog").iDialog('close'); $('#pwdDialog').iDialog('clear', true); } }); } },{ text: '关闭', iconCls: 'fa fa-close', btnCls: 'topjui-btn-danger', handler: function () { $("#pwdDialog").iDialog('close'); $('#pwdDialog').iDialog('clear', true); } }] }); $("#pwdDialog").iDialog('open'); };