utils.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. const qs = require('qs');
  2. const $ = require("jquery");
  3. var Utils = require('./rePromise');
  4. const baseUrl = "http://192.168.2.241: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':'mukuaiControl.html?from=1',
  20. 'YH-ZKK-TMQXZB_XQ':'tiaomuControl.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. "YH-JCSJWH-ZKLXWH":'assertType.html',
  33. };
  34. //重写assign方法
  35. if (typeof Object.assign != 'function') {
  36. Object.assign = function (target) {
  37. 'use strict';
  38. if (target == null) {
  39. throw new TypeError('Cannot convert undefined or null to object');
  40. }
  41. target = Object(target);
  42. for (var index = 1; index < arguments.length; index++) {
  43. var source = arguments[index];
  44. if (source != null) {
  45. for (var key in source) {
  46. if (Object.prototype.hasOwnProperty.call(source, key)) {
  47. target[key] = source[key];
  48. }
  49. }
  50. }
  51. }
  52. return target;
  53. };
  54. }
  55. window.console = window.console || (function () {
  56. var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile
  57. = c.clear = c.exception = c.trace = c.assert = function () { };
  58. return c;
  59. })();
  60. const getUrlArgObject = function getQueryString(name) {
  61. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  62. var reg_rewrite = new RegExp("(^|/)" + name + "/([^/]*)(/|$)", "i");
  63. var r = window.location.search.substr(1).match(reg);
  64. var q = window.location.pathname.substr(1).match(reg_rewrite);
  65. if (r != null) {
  66. return decodeURIComponent(r[2]);
  67. } else if (q != null) {
  68. return decodeURIComponent(q[2]);
  69. } else {
  70. return null;
  71. }
  72. }
  73. const getUrlArgObjectNew = function(name,srcUrl) {
  74. if(srcUrl.indexOf("?") == -1){
  75. return ""
  76. }
  77. var r = srcUrl.split("?")[1].split("&"),obj={};
  78. for(let i = 0;i < r.length;i++){
  79. let tmp = r[i].split("=")
  80. obj[tmp[0]] = tmp[1]
  81. }
  82. return obj[name]
  83. }
  84. const post = function (url, data) {
  85. const token = getCookie('accessToken')
  86. if(!token&&window.location.href.indexOf('login')==-1){
  87. window.location.href = "../login.html"
  88. }
  89. let need = window.location.href.indexOf('localhost')!=-1
  90. return new Utils((resolve, reject) => {
  91. $.ajax({
  92. method: 'post',
  93. url: (need?baseUrl:'')+url,
  94. async:true,
  95. cache: false,
  96. contentType: false,
  97. processData: false,
  98. data: JSON.stringify(data),
  99. contentType: "application/json; charset=UTF-8",
  100. beforeSend: function (xmlHttp) {
  101. xmlHttp.setRequestHeader("If-Modified-Since", "0");
  102. xmlHttp.setRequestHeader("Cache-Control", "no-cache");
  103. xmlHttp.setRequestHeader("Authorization",token?"Bearer "+token:'')
  104. },
  105. success: function (res) {
  106. resolve({ data: res });
  107. },
  108. error: function (error) {
  109. if(error.status===403||error.status===401){
  110. const wd = window.parent.window||window;
  111. wd.location.href = "../login.html";
  112. }
  113. reject(error);
  114. },
  115. });
  116. });
  117. }
  118. //判断浏览器是否为Ie8
  119. const isIe8 = function () {
  120. var DEFAULT_VERSION = 8.0;
  121. var ua = navigator.userAgent.toLowerCase();
  122. var isIE = ua.indexOf("msie") > -1;
  123. var safariVersion;
  124. if (isIE) {
  125. safariVersion = ua.match(/msie ([\d.]+)/)[1];
  126. }
  127. if (safariVersion <= DEFAULT_VERSION) {
  128. return true
  129. }
  130. }
  131. const setCookie = function(name,value){
  132. let Days = 30;
  133. let exp = new Date();
  134. exp.setTime(exp.getTime() + Days*24*60*60*1000);
  135. document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
  136. }
  137. //读取cookies
  138. const getCookie =function(name){
  139. let arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
  140. if(arr=document.cookie.match(reg))
  141. return unescape(arr[2]);
  142. else
  143. return null;
  144. }
  145. //删除cookies
  146. const delCookie = function(name){
  147. let exp = new Date();
  148. exp.setTime(exp.getTime() - 1);
  149. let cval=getCookie(name);
  150. if(cval!=null)
  151. document.cookie= name + "="+cval+";expires="+exp.toGMTString();
  152. };
  153. //弹窗关闭事件
  154. $(".modal .close").click(function(){
  155. $(".modal").hide();
  156. });
  157. //计算容器高度
  158. function setBoxHeight(){
  159. const ht=window.innerHeight;
  160. $(".content-box,.flaw-table").height((ht-55)+'px');
  161. $(".content-ht").height((ht-120)+"px");
  162. }
  163. setBoxHeight();
  164. $(window).resize(function(){
  165. setBoxHeight();
  166. });
  167. //判断有无某一权限
  168. function hasData(data){
  169. let lis = JSON.parse(getCookie("codeLis"))||[]
  170. if(lis.indexOf(data)>-1){//有权限
  171. return true
  172. }
  173. return false;
  174. }
  175. //定位对应明细菜单
  176. function focusMenuItem(code){
  177. const ele = $(parent.document).find(".menu .page[code="+code+"]");
  178. const parEle = ele.parents(".list-1");
  179. if(!parEle.is(".list-1-show")){
  180. parEle.click();
  181. }
  182. //console.log($(parent.document).find(".menu .page[code='YH-ZKK-GMKQXZB_XQ']"))
  183. ele.click();
  184. }
  185. function emptyBox(name){
  186. let str = `<tr><td colspan="18" style="text-align: center;color: #aaa">
  187. <img style="margin-top:50px;width:100px;" src="${require('../images/empty1.png')}" />
  188. <p style="margin-top:20px;margin-bottom:30px;color:#ccc;position:relative;left:5px;">${name||'暂无数据~'}</p>
  189. </td></tr>`
  190. return str
  191. }
  192. function picEmptyData(dom,str){
  193. let empty = `<div class="emptyBoxHome">
  194. <img src="${require('../images/emptyHome.png')}">
  195. <p>${str||"暂无数据~"}</p>
  196. </div>
  197. `
  198. $(dom).css({"position":"relative","display":"block"}).html(empty)
  199. }
  200. module.exports = {
  201. pageMap,
  202. post,
  203. getUrlArgObject,
  204. getUrlArgObjectNew,
  205. isIe8,
  206. setCookie,
  207. getCookie,
  208. delCookie,
  209. setBoxHeight,
  210. hasData,
  211. focusMenuItem,
  212. emptyBox,
  213. picEmptyData
  214. };