global.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. /*全局自适应高度*/
  2. /*全局自适应高度*/
  3. function autoFlashHeight(){
  4. var cHeader = $(".c-header").height();
  5. var sBar = $(".sjs-bar").height();
  6. var sBart = $(".sjs-bart").height();
  7. var sBarz = $(".side-bar").height();
  8. var pBarz = $(".toolsbar-f").height();
  9. var bdtopc = $(".body-height-top").height();
  10. var bcontent = $(".bcontent-wrap").height();
  11. $(".sjs-height-0").height($(window).height()-cHeader-110);
  12. $(".sjs-height-1").height($(window).height()-cHeader-bcontent-110);
  13. $(".sjs-height-2").height($(window).height()-cHeader-sBarz-110);
  14. $(".sjs-height-3").height($(window).height()-cHeader-sBar-510);
  15. $(".sjs-height-4").height($(window).height()-cHeader-pBarz-110);
  16. $(".sjs-height-5").height($(window).height()-cHeader-sBart-555);
  17. $(".sjs-height-6").height($(window).height()-cHeader-bdtopc-156);
  18. $(".sjs-height-7").height($(window).height()-cHeader-sBar-110);
  19. $(".sp-wrap").height(bcontent-40);
  20. };
  21. $(window).resize(autoFlashHeight);
  22. /*全局自适应高度结束*/
  23. $(function(){
  24. /*侧滑*/
  25. $(".open-sidebar").click(function(){
  26. $(".slide-sidebar").animate({width:"800"}).addClass("open");
  27. });
  28. $("body").click(function(event){
  29. var e = event || window.event; //浏览器兼容性
  30. if(!$(event.target).is('a')) {
  31. var elem = event.target || e.srcElement;
  32. while (elem) { //循环判断至跟节点,防止点击的是div子元素
  33. if (elem.className == "open-sidebar" || elem.className == 'slide-sidebar open') {
  34. return false;
  35. }
  36. elem = elem.parentNode;
  37. }
  38. $(".slide-sidebar").animate({width:"0"}).removeClass("open")// 关闭处理
  39. }
  40. });
  41. /*侧滑*/
  42. /*工具提示*/
  43. $(function () {
  44. $('[data-toggle="tooltip"]').tooltip()
  45. });
  46. /*侧栏菜单*/
  47. $(".bg-nav > li > a").click(function() {
  48. var self = $(this);
  49. var subMenu = $(this).siblings('ul.sub-menu');
  50. if(subMenu.length > 0) {
  51. if(subMenu.is(":visible")) {
  52. self.find('.menu-arrow').removeClass('fa-angle-up').addClass('fa-angle-down');
  53. subMenu.slideUp('fast');
  54. self.parent().removeClass('active');
  55. }else{
  56. self.parent().addClass('active');
  57. self.find('.menu-arrow').removeClass('fa-angle-down').addClass('fa-angle-up');
  58. subMenu.slideDown('fast');
  59. }
  60. }
  61. });
  62. // 数据提交
  63. $("#submit-form").click(function() {
  64. $("#save-form").submit();
  65. });
  66. });
  67. /**
  68. * 提示框
  69. *
  70. * @param string message
  71. * @param string type
  72. * @param string icon
  73. * @return void
  74. */
  75. function toast(message, type, icon)
  76. {
  77. var toast = $(".toast");
  78. toast.addClass(type);
  79. toast.children('.message').html(message);
  80. var iconClass = 'fa-' + icon;
  81. toast.children('.icon').addClass(iconClass);
  82. toast.fadeIn(500);
  83. setTimeout(function() {
  84. toast.fadeOut('fast');
  85. toast.children('.message').text('');
  86. toast.children('.icon').removeClass(iconClass);
  87. }, 3000);
  88. }
  89. /**
  90. * 动态请求数据
  91. * @param {String} url - 请求链接
  92. * @param data - 提交数据
  93. * @param {function} successCallback - 返回成功回调
  94. * @param {function} errorCallBack - 返回失败回调
  95. */
  96. const postData = function (url, data, successCallback, errorCallBack) {
  97. $.ajax({
  98. type:"POST",
  99. url: url,
  100. data: {'data': JSON.stringify(data)},
  101. dataType: 'json',
  102. cache: false,
  103. timeout: 5000,
  104. beforeSend: function(xhr) {
  105. let csrfToken = Cookies.get('csrfToken');
  106. xhr.setRequestHeader('x-csrf-token', csrfToken);
  107. },
  108. success: function(result){
  109. if (result.err === 0) {
  110. if (successCallback) {
  111. successCallback(result.data);
  112. }
  113. } else {
  114. toast('error: ' + result.msg, 'error', 'exclamation-circle');
  115. if (errorCallBack) {
  116. errorCallBack(result.msg);
  117. }
  118. }
  119. },
  120. error: function(jqXHR, textStatus, errorThrown){
  121. toast('error ' + textStatus + " " + errorThrown, 'error', 'exclamation-circle');
  122. if (errorCallBack) {
  123. errorCallBack();
  124. }
  125. }
  126. });
  127. };
  128. /**
  129. * 动态请求数据
  130. * @param {String} url - 请求链接
  131. * @param data - 提交数据
  132. * @param {function} successCallback - 返回成功回调
  133. * @param {function} errorCallBack - 返回失败回调
  134. */
  135. const postDataWithFile = function (url, formData, successCallback, errorCallBack) {
  136. $.ajax({
  137. type:"POST",
  138. url: url,
  139. data: formData,
  140. dataType: 'json',
  141. cache: false,
  142. // 告诉jQuery不要去设置Content-Type请求头
  143. contentType: false,
  144. // 告诉jQuery不要去处理发送的数据
  145. processData: false,
  146. timeout: 5000,
  147. beforeSend: function(xhr) {
  148. let csrfToken = Cookies.get('csrfToken');
  149. xhr.setRequestHeader('x-csrf-token', csrfToken);
  150. },
  151. success: function(result){
  152. if (result.err === 0) {
  153. if (successCallback) {
  154. successCallback(result.data);
  155. }
  156. } else {
  157. toast('error: ' + result.message, 'error', 'exclamation-circle');
  158. if (errorCallBack) {
  159. errorCallBack();
  160. }
  161. }
  162. },
  163. error: function(jqXHR, textStatus, errorThrown){
  164. toast('error ' + textStatus + " " + errorThrown, 'error', 'exclamation-circle');
  165. if (errorCallBack) {
  166. errorCallBack();
  167. }
  168. }
  169. });
  170. };
  171. /**
  172. * 获取url中参数
  173. * @param variable
  174. * @returns {*}
  175. */
  176. function getQueryVariable(variable) {
  177. console.log(window.location.pathname);
  178. var query = window.location.search.substring(1);
  179. var vars = query.split("&");
  180. for (var i=0;i<vars.length;i++) {
  181. var pair = vars[i].split("=");
  182. if(pair[0] == variable){return pair[1];}
  183. }
  184. return(false);
  185. }