Açıklama Yok

huayi.http.js 22KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620
  1. var helper = {};
  2. helper.http = {
  3. newXMLHttp: function () {
  4. var XMLHttp = null;
  5. if (window.XMLHttpRequest) {
  6. XMLHttp = new XMLHttpRequest();
  7. }
  8. if (XMLHttp == null && window.ActiveXObject) {
  9. var clsids = ["MSXML2.XMLHttp.7.0", "MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp.2.0", "MSXML2.XMLHttp.1.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
  10. for (var i = 0; i < clsids.length && XMLHttp == null; i++) {
  11. try {
  12. XMLHttp = new ActiveXObject(clsids[i]);
  13. } catch (e) {
  14. }
  15. }
  16. }
  17. return XMLHttp;
  18. },
  19. get: function (URL, func) {
  20. try {
  21. var XMLHttp = this.newXMLHttp();
  22. if (typeof (func) != "function") {
  23. XMLHttp.open("GET", URL, false);
  24. XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
  25. XMLHttp.send(null);
  26. var result = XMLHttp.status;
  27. var responseText = XMLHttp.responseText;
  28. if (result == 200) {
  29. return responseText;
  30. } else {
  31. return result;
  32. }
  33. } else {
  34. XMLHttp.onreadystatechange = function () {
  35. if (XMLHttp.readyState == 4) {
  36. if (XMLHttp.status == 200) {
  37. var responseText = XMLHttp.responseText;
  38. func(responseText);
  39. } else {
  40. func(false);
  41. }
  42. }
  43. };
  44. XMLHttp.open("GET", URL, true);
  45. XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
  46. XMLHttp.send(null);
  47. }
  48. } catch (e) {
  49. }
  50. },
  51. post: function (URL, data, func) {
  52. try {
  53. var XMLHttp = this.newXMLHttp();
  54. if (typeof (func) != "function") {
  55. XMLHttp.open("POST", URL, false);
  56. XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  57. XMLHttp.send(data);
  58. var result = XMLHttp.status;
  59. var responseText = XMLHttp.responseText;
  60. if (result == 200) {
  61. return responseText;
  62. } else {
  63. return false;
  64. }
  65. } else {
  66. XMLHttp.onreadystatechange = function () {
  67. if (XMLHttp.readyState == 4) {
  68. if (XMLHttp.status == 200) {
  69. var responseText = XMLHttp.responseText;
  70. func(responseText);
  71. } else {
  72. func(false);
  73. }
  74. }
  75. };
  76. XMLHttp.open("POST", URL, true);
  77. XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
  78. XMLHttp.send(data);
  79. }
  80. } catch (e) {
  81. }
  82. }
  83. };
  84. helper.cookies = {
  85. del: function (name) {
  86. var exp = new Date();
  87. exp.setTime(exp.getTime() - 1);
  88. var cval = helper.cookies.get(name);
  89. if (cval != null)
  90. document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
  91. },
  92. set: function (name, value, remember) {
  93. if (remember == true) {
  94. var Days = 30;
  95. var exp = new Date();
  96. exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
  97. document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString();
  98. }
  99. else {
  100. document.cookie = name + "=" + escape(value) + ";path=/";
  101. }
  102. },
  103. setday: function (name, value, remember) {
  104. var Days = remember;
  105. var exp = new Date();
  106. exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
  107. document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString();
  108. },
  109. setdomain: function (name, value, remember) {
  110. var domain = window.location.host.split(".");
  111. if (remember == true) {
  112. var Days = 30;
  113. var exp = new Date();
  114. exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
  115. document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=." + domain[domain.length - 2] + "." + domain[domain.length - 1];
  116. }
  117. else {
  118. document.cookie = name + "=" + escape(value) + ";path=/" + ";domain=." + domain[1] + "." + domain[2];
  119. }
  120. },
  121. get: function (name) {
  122. var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  123. if (arr = document.cookie.match(reg)) {
  124. return unescape(arr[2]);
  125. } else {
  126. return '';
  127. }
  128. }
  129. };
  130. /*
  131. 获取URL中指定的参数
  132. 例如:
  133. URL:test.com/test.aspx?test=t
  134. var t=help.request.queryString("test");
  135. 得到t
  136. */
  137. helper.request = {
  138. queryString:
  139. function (item) {
  140. locationSearch = "";
  141. var tmpLocationArr = location.href.split("?");
  142. if (tmpLocationArr.length > 1) locationSearch = "?" + tmpLocationArr[1];
  143. var svalue = locationSearch.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"));
  144. var Qvalue = svalue ? svalue[1] : svalue;
  145. if (Qvalue == null) {
  146. return "";
  147. } else {
  148. return Qvalue.trim();
  149. }
  150. },
  151. queryurl:
  152. function (url, item) {
  153. locationSearch = "";
  154. var tmpLocationArr = url.split("?");
  155. if (tmpLocationArr.length > 1) locationSearch = "?" + tmpLocationArr[1];
  156. var svalue = locationSearch.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"));
  157. var Qvalue = svalue ? svalue[1] : svalue;
  158. if (Qvalue == null) {
  159. return "";
  160. } else {
  161. return Qvalue.trim();
  162. }
  163. }
  164. };
  165. helper.pager = {
  166. //分页
  167. PageList1: function (strFunName) {
  168. /***总页数***/
  169. var intPageCount = parseInt((parseInt(intRecordCount) + parseInt(intPageSize) - 1) / parseInt(intPageSize));
  170. if (intPageCount <= 1) {
  171. return "";
  172. }
  173. /***页码距***/
  174. var intPageCurrent = 10;
  175. /***起始页码***/
  176. var intStartPage = (parseInt((parseInt(intPageIndex) + intPageCurrent - 1) / intPageCurrent) - 1) * intPageCurrent + 1;
  177. /***结束页码***/
  178. var intEndPage = intStartPage + intPageCurrent - 1;
  179. if (intPageIndex % intPageCurrent == 0) {
  180. intStartPage++;
  181. intEndPage++;
  182. }
  183. if (intPageIndex % intPageCurrent - 1 == 0 && intPageIndex != 1) {
  184. intStartPage--;
  185. intEndPage--;
  186. }
  187. if (intEndPage >= intPageCount) {
  188. intEndPage = intPageCount;
  189. }
  190. /***上一页,下一页***/
  191. var intUpPage = parseInt(intPageIndex) - 1;
  192. var intDownPage = parseInt(intPageIndex) + 1;
  193. var strUpPage = "<a href=\"#\" onclick=\"" + strFunName + "(" + intUpPage + ")\" >上一页</a>";
  194. var strDownPage = "<a href=\"#\" onclick=\"" + strFunName + "(" + intDownPage + ")\">下一页</a>";
  195. if (intUpPage < 1) {
  196. //intUpPage = 1;
  197. strUpPage = "";
  198. }
  199. if (intPageIndex >= intPageCount) {
  200. //intDownPage = intPageCount;
  201. strDownPage = "";
  202. }
  203. /***生成页码列表***/
  204. var strPageList = strUpPage;
  205. for (var i = intStartPage; i <= intEndPage; i++) {
  206. if (intPageIndex == i) {
  207. /***当前页码***/
  208. strPageList += "<a style=\"background-image:url(../images/bg/menublue22.jpg); background-position:bottom; background-repeat:repeat-x; padding:1px 6px;border-radius: 4px 4px 4px 4px; margin-right:3px; border:1px solid #aeb2b1;\" >" + i + "</a>";
  209. }
  210. else {
  211. strPageList += "<a href=\"#\" onclick=\"" + strFunName + "(" + i + ");\">" + i + "</a>";
  212. }
  213. }
  214. strPageList += strDownPage;
  215. //直接跳转
  216. strPageList += "总页数:" + intPageCount + "&nbsp;&nbsp;/&nbsp;&nbsp;";
  217. strPageList += "<input type=\"text\" onkeyup=\"this.value=this.value.replace(/\\D/g,'')\" id=\"tb_index\" />";
  218. strPageList += "&nbsp;&nbsp;<a style=\"cursor:pointer;\" onclick=\"javascript:helper.pager.checkPageValue()\">跳转</a>";
  219. return strPageList;
  220. },
  221. checkPageValue: function () {
  222. var intPageIndexNext = document.getElementById('tb_index').value;
  223. if (parseInt(intPageIndexNext) == 0) {
  224. document.getElementById('tb_index').value = "1";
  225. $.jBox.alert('输入页面不能为0', '提示');
  226. return;
  227. }
  228. if (intPageIndexNext == "") {
  229. document.getElementById('tb_index').value = "1";
  230. $.jBox.alert('输入页面不能为空', '提示');
  231. return;
  232. }
  233. if (intPageIndexNext.length != 0) {
  234. var intPageCount = parseInt((parseInt(intRecordCount) + parseInt(intPageSize) - 1) / parseInt(intPageSize));
  235. if (intPageIndexNext <= intPageCount) {
  236. intPageIndex = intPageIndexNext;
  237. loadlist();
  238. }
  239. else {
  240. document.getElementById('tb_index').value = intPageCount;
  241. $.jBox.alert('输入页面不能大于总页数', '提示');
  242. }
  243. }
  244. else {
  245. document.getElementById('tb_index').value = "1";
  246. }
  247. },
  248. loadJS: function (url) {
  249. var domScript = document.createElement('script');
  250. domScript.type = "text/javascript";
  251. domScript.src = url;
  252. domScript.onload = domScript.onreadystatechange = function () {
  253. if (!this.readyState || 'loaded' === this.readyState || 'complete' === this.readyState) {
  254. this.onload = this.onreadystatechange = null;
  255. this.parentNode.removeChild(this);
  256. }
  257. };
  258. document.getElementsByTagName('head')[0].appendChild(domScript);
  259. }
  260. };
  261. helper.masklayer = {
  262. layer: null,
  263. showcount: 0,
  264. show: function () {
  265. this.layer = document.getElementById("masklayer");
  266. if (!this.layer) {
  267. this.layer = document.createElement("div");
  268. this.layer.id = "masklayer";
  269. this.layer.className = "masklayer";
  270. /*this.layer.style.position = "absolute";
  271. this.layer.style.top = "0";
  272. this.layer.style.left = "0";
  273. this.layer.style.zIndex = 1000;
  274. var width = Math.max(
  275. Math.max(document.body.clientWidth, document.documentElement.clientWidth),
  276. Math.max(document.body.scrollWidth, document.documentElement.scrollWidth)
  277. );
  278. var height = Math.max(
  279. Math.max(document.body.clientHeight, document.documentElement.clientHeight),
  280. Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)
  281. );
  282. this.layer.style.width = width + "px";
  283. this.layer.style.height = height + "px";*/
  284. this.layer.innerHTML = "<iframe src='/blank.html' style='width:100%;height:100%;background-color:#fff;"
  285. + "filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity: 0;opacity: 0;"
  286. + "position:absolute;z-index:999;top:0;left:0;' frameborder='0'></iframe>"
  287. + "<div style='width:100%;height:100%;position:absolute;top:0;left:0;z-index:1000;background:#000;"
  288. + "filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity: 0.2;opacity: 0.2;'></div>";
  289. document.body.appendChild(this.layer);
  290. }
  291. this.showcount++;
  292. },
  293. hide: function () {
  294. if (--this.showcount == 0) {
  295. if (this.layer && this.layer.parentNode) {
  296. this.layer.parentNode.removeChild(this.layer);
  297. }
  298. }
  299. },
  300. moveToCenter: function (e, x, y) {
  301. if (e.style.display == "none") e.style.display = "";
  302. var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
  303. var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
  304. if (x > 0) { x += scrollLeft; } else x = parseInt((document.documentElement.clientWidth - e.clientWidth) / 2) + scrollLeft;
  305. if (y > 0) { y += scrollTop; } else y = parseInt((document.documentElement.clientHeight - e.clientHeight) / 2) + scrollTop;
  306. x = x < 0 ? 0 : x;
  307. y = y < 50 ? 50 : y;
  308. e.style.left = x + "px";
  309. e.style.top = y + "px";
  310. }
  311. };
  312. helper.filter = {
  313. Transcoding: function (content) {
  314. content = content.replace(/∞L/g, "<");
  315. content = content.replace(/∞R/g, ">");
  316. content = content.replace(/∞∴/g, "'");
  317. content = content.replace(/∞≡/g, "#");
  318. content = content.replace(/∞※/g, "\"");
  319. return content;
  320. }
  321. };
  322. function str2asc(strstr) {
  323. return ("0" + strstr.charCodeAt(0).toString(16)).slice(-2);
  324. }
  325. helper.url = {
  326. getpara: function (name) {
  327. var val;
  328. paras = window.location.search;
  329. paras = paras.substr(1);
  330. paraarray = paras.split("&");
  331. for (i = 0; i < paraarray.length; i++) {
  332. temp = paraarray[i].split("=");
  333. if (temp[0] == name) {
  334. val = temp[1];
  335. break;
  336. }
  337. }
  338. if (val == null || val == "") {
  339. return "";
  340. } else {
  341. return val;
  342. }
  343. }
  344. };
  345. helper.sys = {
  346. getElementsByClassName: function (pnode, className) {
  347. var nodes = pnode.getElementsByTagName('*');
  348. var elements = new Array();
  349. for (var i = 0; i < nodes.length; i++) {
  350. if (nodes[i].className == className) {
  351. elements[elements.length] = nodes[i];
  352. }
  353. }
  354. return elements;
  355. },
  356. removeElement: function (element) {
  357. if (element && element.parentNode) {
  358. element.parentNode.removeChild(element);
  359. return true;
  360. }
  361. else {
  362. return false;
  363. }
  364. }
  365. ,
  366. Return: function (url) {
  367. top.location.href=url;
  368. }
  369. };
  370. helper.DateFormat = {
  371. d2s:
  372. function (postdate) {
  373. var second = 1000;
  374. var minutes = second * 60;
  375. var hours = minutes * 60;
  376. var days = hours * 24;
  377. var months = days * 30;
  378. var twomonths = days * 365;
  379. var myDate = new Date(Date.parse(postdate));
  380. if (isNaN(myDate)) {
  381. myDate = new Date(postdate.replace(/-/g, "/"));
  382. }
  383. var nowtime = new Date();
  384. var longtime = nowtime.getTime() - myDate.getTime();
  385. var showtime = 0;
  386. if (longtime > months * 2) {
  387. return postdate;
  388. }
  389. else if (longtime > months) {
  390. return "1个月前";
  391. }
  392. else if (longtime > days * 7) {
  393. return ("1周前");
  394. }
  395. else if (longtime > days) {
  396. return (Math.floor(longtime / days) + "天前");
  397. }
  398. else if (longtime > hours) {
  399. return (Math.floor(longtime / hours) + "小时前");
  400. }
  401. else if (longtime > minutes) {
  402. return (Math.floor(longtime / minutes) + "分钟前");
  403. }
  404. else if (longtime > second) {
  405. return (Math.floor(longtime / second) + "秒前");
  406. } else {
  407. return ("刚刚");
  408. }
  409. },
  410. getPreMonth:
  411. /**
  412. * 获取上一个月
  413. *
  414. * @date 格式为yyyy-mm-dd的日期,如:2014-01-25
  415. */
  416. function (date) {
  417. var arr = date.split('-');
  418. var year = arr[0]; //获取当前日期的年份
  419. var month = arr[1]; //获取当前日期的月份
  420. var day = arr[2]; //获取当前日期的日
  421. var days = new Date(year, month, 0);
  422. days = days.getDate(); //获取当前日期中月的天数
  423. var year2 = year;
  424. var month2 = parseInt(month) - 1;
  425. if (month2 == 0) {
  426. year2 = parseInt(year2) - 1;
  427. month2 = 12;
  428. }
  429. var day2 = day;
  430. var days2 = new Date(year2, month2, 0);
  431. days2 = days2.getDate();
  432. if (day2 > days2) {
  433. day2 = days2;
  434. }
  435. if (month2 < 10) {
  436. month2 = '0' + month2;
  437. }
  438. var t2 = year2 + '-' + month2 + '-' + day2;
  439. return t2;
  440. },
  441. getNextMonth:
  442. /**
  443. * 获取下一个月
  444. *
  445. * @date 格式为yyyy-mm-dd的日期,如:2014-01-25
  446. */
  447. function (date) {
  448. var arr = date.split('-');
  449. var year = arr[0]; //获取当前日期的年份
  450. var month = arr[1]; //获取当前日期的月份
  451. var day = arr[2]; //获取当前日期的日
  452. var days = new Date(year, month, 0);
  453. days = days.getDate(); //获取当前日期中的月的天数
  454. var year2 = year;
  455. var month2 = parseInt(month) + 1;
  456. if (month2 == 13) {
  457. year2 = parseInt(year2) + 1;
  458. month2 = 1;
  459. }
  460. var day2 = day;
  461. var days2 = new Date(year2, month2, 0);
  462. days2 = days2.getDate();
  463. if (day2 > days2) {
  464. day2 = days2;
  465. }
  466. if (month2 < 10) {
  467. month2 = '0' + month2;
  468. }
  469. var t2 = year2 + '-' + month2 + '-' + day2;
  470. return t2;
  471. },
  472. getNowDate: function () {
  473. var NowDate;
  474. var myDate = new Date();
  475. myDate.getYear(); //获取当前年份(2位)
  476. var YY = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
  477. var MM = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
  478. var DD = myDate.getDate(); //获取当前日(1-31)
  479. myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
  480. myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
  481. myDate.getHours(); //获取当前小时数(0-23)
  482. myDate.getMinutes(); //获取当前分钟数(0-59)
  483. myDate.getSeconds(); //获取当前秒数(0-59)
  484. myDate.getMilliseconds(); //获取当前毫秒数(0-999)
  485. myDate.toLocaleDateString(); //获取当前日期
  486. var mytime = myDate.toLocaleTimeString(); //获取当前时间
  487. myDate.toLocaleString(); //获取日期与时间
  488. NowDate = YY + "-" + MM + "-" + DD;
  489. return NowDate;
  490. }
  491. ,
  492. getFirstDayInCurrentMonth: function () {
  493. var NowDate;
  494. var myDate = new Date();
  495. myDate.getYear(); //获取当前年份(2位)
  496. var YY = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
  497. var MM = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
  498. var DD = myDate.getDate(); //获取当前日(1-31)
  499. NowDate = YY + "-" + MM + "-1";
  500. return NowDate;
  501. },
  502. getFormatTime: function (longTime) {
  503. var time = parseFloat(longTime);
  504. if (time != null && time != "") {
  505. if (time < 60) {
  506. var s = time;
  507. time = s + '秒';
  508. } else if (time > 60 && time < 3600) {
  509. var m = parseInt(time / 60);
  510. var s = parseInt(time % 60);
  511. time = m + "分钟" + s + "秒";
  512. } else if (time >= 3600 && time < 86400) {
  513. var h = parseInt(time / 3600);
  514. var m = parseInt(time % 3600 / 60);
  515. var s = parseInt(time % 3600 % 60 % 60);
  516. time = h + "小时" + m + "分钟" + s + "秒";
  517. } else if (time >= 86400) {
  518. var d = parseInt(time / 86400);
  519. var h = parseInt(time % 86400 / 3600);
  520. var m = parseInt(time % 86400 % 3600 / 60);
  521. var s = parseInt(time % 86400 % 3600 % 60 % 60);
  522. time = d + '天' + h + "小时" + m + "分钟" + s + "秒";
  523. }
  524. }
  525. return time;
  526. }
  527. };
  528. helper.string = {
  529. stringbuilder: function () {
  530. this.arr = new Array();
  531. this.append = function (str) {
  532. this.arr.push(str);
  533. };
  534. this.tostring = function () {
  535. return this.arr.join('');
  536. };
  537. }
  538. };
  539. //helper.init = {
  540. // setajax: function (isload) { /// 配置AJAX
  541. // $(document).on("ajaxStart", function () {
  542. // if (isload) {
  543. // //加载框显示
  544. // layer.load(2);
  545. // }
  546. // }).on("ajaxSuccess", function (e, jqXHR, s, data) {
  547. // try {
  548. // if (s.type == "POST") {
  549. // if (typeof (data)!='object') {
  550. // data = $.parseJSON(data);
  551. // }
  552. // }
  553. // if (s.type == "GET") {
  554. // data = data
  555. // }
  556. // if (data.state.toLowerCase() == "notoken") {
  557. // top.window.location.href = "/login.html";
  558. // return;
  559. // }
  560. // if (data.state.toLowerCase() == "unauthorized") {
  561. // layer.confirm(data.message, {
  562. // btn: ['确定'] //按钮
  563. // });
  564. // }
  565. // if (data.state.toLowerCase() == "error") {
  566. // layer.confirm(data.message, {
  567. // btn: ['确定'] //按钮
  568. // });
  569. // }
  570. // } catch (e) {
  571. // if (isload) {
  572. // //加载框消失
  573. // layer.closeAll('loading');
  574. // }
  575. // }
  576. // }).on("ajaxStop", function () {
  577. // if (isload) {
  578. // //加载框消失
  579. // layer.closeAll('loading');
  580. // }
  581. // })
  582. // }
  583. //}
  584. //
  585. //helper.init.setajax(1);