utils.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. const qs = require('qs');
  2. const $ = require("jquery");
  3. var Utils = require('./rePromise');
  4. const baseUrl = "http://192.168.2.236:5858"
  5. //页面映射
  6. const pageMap={
  7. 'YH-KZT':'console.html',
  8. 'YH-KZTKS':'deptConsole.html',
  9. 'YH-JCSJWH-MKSJWH':'moduleManager.html',
  10. 'YH-JCSJWH-TMSJWH':'itemManager.html',
  11. 'YH-BLZK-ZKPF':'qcList.html',
  12. 'YH-BLZK-ZKPFKS':'qcListDept.html',
  13. 'YH-BLZK-ZKPFGR':'qcListPerson.html',
  14. 'YH-TJFX':'statistics.html',
  15. 'YH-QXGL-YHGL':'userManager.html',
  16. 'YH-QXGL-JSGL':'roleManager.html',
  17. 'YH-KSZR-GMKQXZB_XQ':'mukuai.html?from=2',
  18. 'YH-KSZR-TMQXZB_XQ':'tiaomu.html?from=2',
  19. 'YH-ZKK-GMKQXZB_XQ':'mukuai.html?from=1',
  20. 'YH-ZKK-TMQXZB_XQ':'tiaomu.html?from=1',
  21. 'YH-YCSJJK':'abnormal.html',
  22. 'YH-ZKK-KSPJZYTS_XQ':'dayDetail.html',
  23. 'YH-ZKK-KSPJZYHF_XQ':'payDetail.html',
  24. 'YH-ZKK-GKSQXZB':'deptScoreDetailControl.html',
  25. "YH-ZKK-GKSZKPJF_XQ":'deptScoreDetailControl.html',
  26. 'YH-JCSJWH':'deptScoreDetailControl.html',
  27. "YH-ZKK-GKSQXZB_XQ":'deptScoreDetailControl.html',
  28. "YH-KSZR-KSQXZB_XQ":'deptScoreDetail.html',
  29. "YH-ZKK-GKSJJBLZB_XQ":'jiaji.html',
  30. "YH-ZKK-BASYHGLZB_XQ":'partDetailControl.html',
  31. "YH-KSZR-BASYHGLZB_XQ":'partDetail.html',
  32. };
  33. //重写assign方法
  34. if (typeof Object.assign != 'function') {
  35. Object.assign = function (target) {
  36. 'use strict';
  37. if (target == null) {
  38. throw new TypeError('Cannot convert undefined or null to object');
  39. }
  40. target = Object(target);
  41. for (var index = 1; index < arguments.length; index++) {
  42. var source = arguments[index];
  43. if (source != null) {
  44. for (var key in source) {
  45. if (Object.prototype.hasOwnProperty.call(source, key)) {
  46. target[key] = source[key];
  47. }
  48. }
  49. }
  50. }
  51. return target;
  52. };
  53. }
  54. window.console = window.console || (function () {
  55. var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile
  56. = c.clear = c.exception = c.trace = c.assert = function () { };
  57. return c;
  58. })();
  59. const getUrlArgObject = function getQueryString(name) {
  60. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  61. var reg_rewrite = new RegExp("(^|/)" + name + "/([^/]*)(/|$)", "i");
  62. var r = window.location.search.substr(1).match(reg);
  63. var q = window.location.pathname.substr(1).match(reg_rewrite);
  64. if (r != null) {
  65. return decodeURIComponent(r[2]);
  66. } else if (q != null) {
  67. return decodeURIComponent(q[2]);
  68. } else {
  69. return null;
  70. }
  71. }
  72. const getUrlArgObjectNew = function(name,srcUrl) {
  73. if(srcUrl.indexOf("?") == -1){
  74. return ""
  75. }
  76. var r = srcUrl.split("?")[1].split("&"),obj={};
  77. for(let i = 0;i < r.length;i++){
  78. let tmp = r[i].split("=")
  79. obj[tmp[0]] = tmp[1]
  80. }
  81. return obj[name]
  82. }
  83. const post = function (url, data) {
  84. const token = getCookie('accessToken')
  85. if(!token&&window.location.href.indexOf('login')==-1){
  86. window.location.href = "../login.html"
  87. }
  88. let need = window.location.href.indexOf('localhost')==-1
  89. return new Utils((resolve, reject) => {
  90. $.ajax({
  91. method: 'post',
  92. url: need?baseUrl:''+url,
  93. async:true,
  94. cache: false,
  95. contentType: false,
  96. processData: false,
  97. data: JSON.stringify(data),
  98. contentType: "application/json; charset=UTF-8",
  99. beforeSend: function (xmlHttp) {
  100. xmlHttp.setRequestHeader("If-Modified-Since", "0");
  101. xmlHttp.setRequestHeader("Cache-Control", "no-cache");
  102. xmlHttp.setRequestHeader("Authorization",token?"Bearer "+token:'')
  103. },
  104. success: function (res) {
  105. resolve({ data: res });
  106. },
  107. error: function (error) {
  108. if(error.status===403||error.status===401){
  109. const wd = window.parent.window||window;
  110. wd.location.href = "../login.html";
  111. }
  112. reject(error);
  113. },
  114. });
  115. });
  116. }
  117. //判断浏览器是否为Ie8
  118. const isIe8 = function () {
  119. var DEFAULT_VERSION = 8.0;
  120. var ua = navigator.userAgent.toLowerCase();
  121. var isIE = ua.indexOf("msie") > -1;
  122. var safariVersion;
  123. if (isIE) {
  124. safariVersion = ua.match(/msie ([\d.]+)/)[1];
  125. }
  126. if (safariVersion <= DEFAULT_VERSION) {
  127. return true
  128. }
  129. }
  130. const setCookie = function(name,value){
  131. let Days = 30;
  132. let exp = new Date();
  133. exp.setTime(exp.getTime() + Days*24*60*60*1000);
  134. document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
  135. }
  136. //读取cookies
  137. const getCookie =function(name){
  138. let arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
  139. if(arr=document.cookie.match(reg))
  140. return unescape(arr[2]);
  141. else
  142. return null;
  143. }
  144. //删除cookies
  145. const delCookie = function(name){
  146. let exp = new Date();
  147. exp.setTime(exp.getTime() - 1);
  148. let cval=getCookie(name);
  149. if(cval!=null)
  150. document.cookie= name + "="+cval+";expires="+exp.toGMTString();
  151. };
  152. //弹窗关闭事件
  153. $(".modal .close").click(function(){
  154. $(".modal").hide();
  155. });
  156. //计算容器高度
  157. function setBoxHeight(){
  158. const ht=window.innerHeight;
  159. //$(".main-part").height((ht-60)+'px');
  160. $(".content-ht").height((ht-126)+"px");
  161. }
  162. setBoxHeight();
  163. $(window).resize(function(){
  164. setBoxHeight();
  165. });
  166. //判断有无某一权限
  167. function hasData(data){
  168. let lis = JSON.parse(getCookie("codeLis"))
  169. if(lis.indexOf(data)>-1){//有权限
  170. return true
  171. }
  172. return false;
  173. }
  174. module.exports = {
  175. pageMap,
  176. post,
  177. getUrlArgObject,
  178. getUrlArgObjectNew,
  179. isIe8,
  180. setCookie,
  181. getCookie,
  182. delCookie,
  183. setBoxHeight,
  184. hasData
  185. };