index.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. /** index.js */
  2. var tab;
  3. layui.config({
  4. base: '/Content/plugins/layui/lay/extend/',
  5. version:new Date().getTime()
  6. }).use(['element', 'layer', 'navbar', 'tab'], function() {
  7. var //element = layui.element,
  8. $ = layui.jquery,
  9. layer = layui.layer,
  10. navbar = layui.navbar();
  11. tab = layui.tab({
  12. elem: '.admin-nav-card' //设置选项卡容器
  13. ,
  14. //maxSetting: {
  15. // max: 5,
  16. // tipMsg: '只能开5个哇,不能再开了。真的。'
  17. //},
  18. contextMenu:true
  19. });
  20. //iframe自适应
  21. $(window).on('resize', function() {
  22. var $content = $('.admin-nav-card .layui-tab-content');
  23. $content.height($(this).height() - 147);
  24. $content.find('iframe').each(function() {
  25. $(this).height($content.height());
  26. });
  27. }).resize();
  28. //设置navbar
  29. navbar.set({
  30. spreadOne: true,
  31. elem: '#admin-navbar-side',
  32. cached: true,
  33. data: window.navs
  34. /*cached:true,
  35. url: 'datas/nav.json'*/
  36. });
  37. //渲染navbar
  38. navbar.render();
  39. //监听点击事件
  40. navbar.on('click(side)', function(data) {
  41. tab.tabAdd(data.field);
  42. });
  43. $('.admin-side-toggle').on('click', function() {
  44. var sideWidth = $('#admin-side').width();
  45. if(sideWidth === 200) {
  46. $('#admin-body').animate({
  47. left: '0'
  48. }); //admin-footer
  49. $('#admin-footer').animate({
  50. left: '0'
  51. });
  52. $('#admin-side').animate({
  53. width: '0'
  54. });
  55. } else {
  56. $('#admin-body').animate({
  57. left: '200px'
  58. });
  59. $('#admin-footer').animate({
  60. left: '200px'
  61. });
  62. $('#admin-side').animate({
  63. width: '200px'
  64. });
  65. }
  66. });
  67. $('.admin-side-full').on('click', function() {
  68. var docElm = document.documentElement;
  69. //W3C
  70. if(docElm.requestFullscreen) {
  71. docElm.requestFullscreen();
  72. }
  73. //FireFox
  74. else if(docElm.mozRequestFullScreen) {
  75. docElm.mozRequestFullScreen();
  76. }
  77. //Chrome等
  78. else if(docElm.webkitRequestFullScreen) {
  79. docElm.webkitRequestFullScreen();
  80. }
  81. //IE11
  82. else if(elem.msRequestFullscreen) {
  83. elem.msRequestFullscreen();
  84. }
  85. layer.msg('按Esc即可退出全屏');
  86. });
  87. //锁屏
  88. $(document).on('keydown', function() {
  89. var e = window.event;
  90. if(e.keyCode === 76 && e.altKey) {
  91. //alert("你按下了alt+l");
  92. isDelete($, layer);
  93. }
  94. });
  95. $('#lock').on('click', function() {
  96. isDelete($, layer);
  97. });
  98. //手机设备的简单适配
  99. var treeMobile = $('.site-tree-mobile'),
  100. shadeMobile = $('.site-mobile-shade');
  101. treeMobile.on('click', function() {
  102. $('body').addClass('site-mobile');
  103. });
  104. shadeMobile.on('click', function() {
  105. $('body').removeClass('site-mobile');
  106. });
  107. });
  108. var isShowLock = false;
  109. function isDelete($, layer) {
  110. if(isShowLock)
  111. return;
  112. //自定页
  113. layer.open({
  114. title: false,
  115. type: 1,
  116. closeBtn: 0,
  117. anim: 6,
  118. //content: $('#lock-temp').html(),
  119. content: ['lock.jsp', 'no'],
  120. shade: [0.9, '#393D49'],
  121. success: function(layero, lockIndex) {
  122. isShowLock = true;
  123. //给显示用户名赋值
  124. layero.find('div#lockUserName').text($("#main_user").html());
  125. layero.find('input[name=lockPwd]').on('focus', function() {
  126. var $this = $(this);
  127. if($this.val() === '输入密码解锁..') {
  128. $this.val('').attr('type', 'password');
  129. }
  130. })
  131. .on('blur', function() {
  132. var $this = $(this);
  133. if($this.val() === '' || $this.length === 0) {
  134. $this.attr('type', 'text').val('输入密码解锁..');
  135. }
  136. });
  137. //在此处可以写一个请求到服务端删除相关身份认证,因为考虑到如果浏览器被强制刷新的时候,身份验证还存在的情况
  138. //do something...
  139. //e.g.
  140. /*
  141. $.post(url,params,callback,'json');
  142. */
  143. //绑定解锁按钮的点击事件
  144. var unlock;
  145. layero.find('button#unlock').on('click', function() {
  146. var $lockBox = $('div#lock-box');
  147. var userName = $lockBox.find('div#lockUserName').text();
  148. var pwd = $lockBox.find('input[name=lockPwd]').val();
  149. if(pwd === '输入密码解锁..' || pwd.length === 0) {
  150. layer.msg('请输入密码..', {
  151. icon: 2,
  152. time: 1000
  153. });
  154. return;
  155. }
  156. unlock(userName, pwd);
  157. });
  158. /**
  159. * 解锁操作方法
  160. * @param {String} 用户名
  161. * @param {String} 密码
  162. */
  163. unlock = function(un, pwd) {
  164. //这里可以使用ajax方法解锁
  165. $.post('api/xx',{username:un,password:pwd},function(data){
  166. //验证成功
  167. if(data.success){
  168. //关闭锁屏层
  169. isShowLock = false;
  170. layer.close(lockIndex);
  171. }else{
  172. layer.msg('密码输入错误..',{icon:2,time:1000});
  173. }
  174. },'json');
  175. //isShowLock = false;
  176. //演示:默认输入密码都算成功
  177. //关闭锁屏层
  178. //layer.close(lockIndex);
  179. };
  180. }
  181. });
  182. };