tool.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. function isNull(exp){
  2. if(!exp || typeof exp=="undefined" || exp.length==0){
  3. return true;
  4. }else{
  5. return false;
  6. }
  7. }
  8. function confirm(okStr,cancelStr,tip,content,unitNo){
  9. $.messager.defaults = { ok: okStr, cancel: cancelStr };
  10. $.messager.confirm(tip, content,function (data) {
  11. if (data) {
  12. }else {
  13. if(isNull(unitNo)){
  14. showMsg("提示", "未获取到此单位的编号,操作失败!", 5000);
  15. }else{
  16. $.ajax({
  17. type: 'POST',
  18. url: "updateUnitTip",
  19. data: {
  20. "unitNo":unitNo
  21. },
  22. dataType:'text',
  23. success: function (data) {
  24. var pData = $.parseJSON(data);
  25. switch (pData.result) {
  26. case 0:
  27. showMsg("提示","操作失败",5000);
  28. break;
  29. case 1:
  30. showMsg("提示","操作成功",2000);
  31. break;
  32. }
  33. }
  34. });
  35. }
  36. }
  37. });
  38. }
  39. function showMsg(title,msg,out){
  40. $.messager.show({
  41. title: title,
  42. msg: msg,
  43. timeout:out
  44. });
  45. }
  46. function showProgress(title,msg,text){
  47. $.messager.progress({
  48. title: title,
  49. msg: msg,
  50. text: text
  51. });
  52. }
  53. function checkedbox(name){
  54. var arr=new Array();
  55. var checkbox=document.getElementsByName(name);
  56. for(var i=0;i<checkbox.length;i++){
  57. if(checkbox[i].checked==true){
  58. arr.push(checkbox[i].value);
  59. }
  60. }
  61. return arr;
  62. }
  63. function getCheckTree(id){
  64. var nodes = $("#"+id).tree('getChecked', ['checked']);
  65. var arr=new Array();
  66. for(var i=0; i<nodes.length; i++){
  67. if(nodes[i].checked==true){
  68. if(nodes[i].id.length==1){
  69. arr.push("0"+nodes[i].id);
  70. }else if(nodes[i].id.length==2){
  71. arr.push(nodes[i].id+"0000");
  72. }else if(nodes[i].id.length==4){
  73. arr.push(nodes[i].id+"00");
  74. }else{
  75. arr.push(nodes[i].id);
  76. }
  77. }
  78. }
  79. return arr;
  80. }
  81. function getCheckTreeName(id){
  82. var nodes = $("#"+id).tree('getChecked', ['checked']);
  83. var arr=new Array();
  84. for(var i=0; i<nodes.length; i++){
  85. if(nodes[i].checked==true){
  86. arr.push(nodes[i].text);
  87. }
  88. }
  89. return arr;
  90. }
  91. function isCarNo(str) {//验证车牌号
  92. return /(^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领]{1}[A-Z0-9]{6}$)|(^[A-Z]{2}[A-Z0-9]{2}[A-Z0-9\u4E00-\u9FA5]{1}[A-Z0-9]{4}$)|(^[\u4E00-\u9FA5]{1}[A-Z0-9]{5}[挂学警军港澳]{1}$)|(^[A-Z]{2}[0-9]{5}$)|(^(08|38){1}[A-Z0-9]{4}[A-Z0-9挂学警军港澳]{1}$)/.test(str);
  93. //return /(^[\u4E00-\u9FA5]{1}[A-Z0-9]{6}$)|(^[A-Z]{2}[A-Z0-9]{2}[A-Z0-9\u4E00-\u9FA5]{1}[A-Z0-9]{4}$)|(^[\u4E00-\u9FA5]{1}[A-Z0-9]{5}[挂学警军港澳]{1}$)|(^[A-Z]{2}[0-9]{5}$)|(^(08|38){1}[A-Z0-9]{4}[A-Z0-9挂学警军港澳]{1}$)/.test(str);
  94. }
  95. function isCarNo1(str){
  96. return /(^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$)/.test(str);
  97. }
  98. /**
  99. * 获取上一个月
  100. *
  101. * @date 格式为yyyy-mm-dd的日期,如:2014-01-25
  102. */
  103. function getPreMonth(date) {
  104. var arr = date.split('-');
  105. var year = arr[0]; //获取当前日期的年份
  106. var month = arr[1]; //获取当前日期的月份
  107. var day = arr[2]; //获取当前日期的日
  108. var days = new Date(year, month, 0);
  109. days = days.getDate(); //获取当前日期中月的天数
  110. var year2 = year;
  111. var month2 = parseInt(month) - 1;
  112. if (month2 == 0) {//如果是1月份,则取上一年的12月份
  113. year2 = parseInt(year2) - 1;
  114. month2 = 12;
  115. }
  116. var day2 = day;
  117. var days2 = new Date(year2, month2, 0);
  118. days2 = days2.getDate();
  119. if (day2 > days2) {//如果原来日期大于上一月的日期,则取当月的最大日期。比如3月的30日,在2月中没有30
  120. day2 = days2;
  121. }
  122. if (month2 < 10) {
  123. month2 = '0' + month2;//月份填补成2位。
  124. }
  125. var date11 = new Date();
  126. var hor = date11.getHours()>9?date11.getHours():"0"+date11.getHours();
  127. var min = date11.getMinutes()>9?date11.getMinutes():"0"+date11.getMinutes();
  128. var sec = date11.getSeconds()>9?date11.getSeconds():"0"+date11.getSeconds();
  129. var t2 = year2 + '-' + month2 + '-' + day2+" "+hor+":"+min+":"+sec;
  130. return t2;
  131. }
  132. /**
  133. * 获取上一个月
  134. *
  135. * @date 格式为yyyy-mm-dd的日期,如:2014-01-25
  136. */
  137. function getPreMonth1(date) {
  138. var arr = date.split('-');
  139. var year = arr[0]; //获取当前日期的年份
  140. var month = arr[1]; //获取当前日期的月份
  141. var day = arr[2]; //获取当前日期的日
  142. var days = new Date(year, month, 0);
  143. days = days.getDate(); //获取当前日期中月的天数
  144. var year2 = year;
  145. var month2 = parseInt(month) - 1;
  146. if (month2 == 0) {//如果是1月份,则取上一年的12月份
  147. year2 = parseInt(year2) - 1;
  148. month2 = 12;
  149. }
  150. var day2 = day;
  151. var days2 = new Date(year2, month2, 0);
  152. days2 = days2.getDate();
  153. if (day2 > days2) {//如果原来日期大于上一月的日期,则取当月的最大日期。比如3月的30日,在2月中没有30
  154. day2 = days2;
  155. }
  156. if (month2 < 10) {
  157. month2 = '0' + month2;//月份填补成2位。
  158. }
  159. var hor = "00";
  160. var min = "00";
  161. var sec = "00";
  162. var t2 = year2 + '-' + month2 + '-' + day2+" "+hor+":"+min+":"+sec;
  163. return t2;
  164. }
  165. function getPreMonth2(date) {
  166. var arr = date.split('-');
  167. var year = arr[0]; //获取当前日期的年份
  168. var month = arr[1]; //获取当前日期的月份
  169. var day = arr[2]; //获取当前日期的日
  170. var days = new Date(year, month, 0);
  171. days = days.getDate(); //获取当前日期中月的天数
  172. var year2 = year;
  173. var month2 = parseInt(month) - 1;
  174. if (month2 == 0) {//如果是1月份,则取上一年的12月份
  175. year2 = parseInt(year2) - 1;
  176. month2 = 12;
  177. }
  178. var day2 = day;
  179. var days2 = new Date(year2, month2, 0);
  180. days2 = days2.getDate();
  181. if (day2 > days2) {//如果原来日期大于上一月的日期,则取当月的最大日期。比如3月的30日,在2月中没有30
  182. day2 = days2;
  183. }
  184. if (month2 < 10) {
  185. month2 = '0' + month2;//月份填补成2位。
  186. }
  187. var hor = "00";
  188. var min = "00";
  189. var sec = "00";
  190. day2 = "01";
  191. var t2 = year2 + '-' + month2 + '-' + day2+" "+hor+":"+min+":"+sec;
  192. return t2;
  193. }
  194. function getNowDay(date) {
  195. var arr = date.split('-');
  196. var year = arr[0]; //获取当前日期的年份
  197. var month = arr[1]; //获取当前日期的月份
  198. var day = arr[2]; //获取当前日期的日
  199. var days = new Date(year, month, 0);
  200. days = days.getDate(); //获取当前日期中月的天数
  201. var year2 = year;
  202. var month2 = parseInt(month) - 0;
  203. if (month2 == 0) {//如果是1月份,则取上一年的12月份
  204. year2 = parseInt(year2) - 1;
  205. month2 = 12;
  206. }
  207. var day2 = day;
  208. var days2 = new Date(year2, month2, 0);
  209. days2 = days2.getDate();
  210. if (day2 > days2) {//如果原来日期大于上一月的日期,则取当月的最大日期。比如3月的30日,在2月中没有30
  211. day2 = days2;
  212. }
  213. if (month2 < 10) {
  214. month2 = '0' + month2;//月份填补成2位。
  215. }
  216. var date11 = new Date();
  217. var hor = date11.getHours()>9?date11.getHours():"0"+date11.getHours();
  218. var min = date11.getMinutes()>9?date11.getMinutes():"0"+date11.getMinutes();
  219. var sec = date11.getSeconds()>9?date11.getSeconds():"0"+date11.getSeconds();
  220. var t2 = year2 + '-' + month2 + '-' + day2;
  221. return t2;
  222. }
  223. function getBeforeDate(number) {
  224. const num = number;
  225. const date = new Date();
  226. let year = date.getFullYear();
  227. let mon = date.getMonth() + 1;
  228. let day = date.getDate();
  229. if (day <= num) {
  230. if (mon > 1) {
  231. mon = mon - 1;
  232. } else {
  233. year = year - 1;
  234. mon = 12;
  235. }
  236. }
  237. date.setDate(date.getDate() - num);
  238. year = date.getFullYear();
  239. mon = date.getMonth() + 1;
  240. day = date.getDate();
  241. const s = year + '-' + (mon < 10 ? ('0' + mon) : mon) + '-' + (day < 10 ? ('0' + day) : day);
  242. return s;
  243. }
  244. function compareDate(date1,date2){
  245. var oDate1 = new Date(date1);
  246. var oDate2 = new Date(date2);
  247. if(oDate1.getTime() >= oDate2.getTime()){
  248. return true;
  249. } else {
  250. return false;
  251. }
  252. }
  253. function fnKeyUp(){
  254. this.value=this.value.toUpperCase();
  255. }
  256. function getDateAA(aa,dat){
  257. // var date1 = new Date(),
  258. // time1=date1.getFullYear()+"-"+(date1.getMonth()+1)+"-"+date1.getDate();//time1表示当前时间
  259. var date2 = new Date(dat);
  260. date2.setDate(date2.getDate()+aa);
  261. var time2 = date2.getFullYear()+"-"+(date2.getMonth()+1)+"-"+date2.getDate();
  262. return time2;
  263. }
  264. /**
  265. * 加密(需要先加载aes.min.js文件)
  266. * @param word
  267. * @returns {*}
  268. */
  269. function aesMinEncrypt(word){
  270. var _word = CryptoJS.enc.Utf8.parse(word),
  271. _key = CryptoJS.enc.Utf8.parse("hizimahzb2021Key"),
  272. _iv = CryptoJS.enc.Utf8.parse("hizimahzb2Key_Iv");
  273. var encrypted = CryptoJS.AES.encrypt(_word, _key, {
  274. iv: _iv,
  275. mode: CryptoJS.mode.CBC,
  276. padding: CryptoJS.pad.Pkcs7
  277. });
  278. return encrypted.toString();
  279. }
  280. /**
  281. * 解密(需要先加载aes.min.js文件)
  282. * @param word
  283. * @returns {*}
  284. */
  285. function aesDecrypt(word) {
  286. var _key = CryptoJS.enc.Utf8.parse("hizimahzb2021Key"),
  287. _iv = CryptoJS.enc.Utf8.parse("hizimahzb2Key_Iv");
  288. var decrypted = CryptoJS.AES.decrypt(word, _key, {
  289. iv: _iv,
  290. mode: CryptoJS.mode.CBC,
  291. padding: CryptoJS.pad.Pkcs7
  292. });
  293. return decrypted.toString(CryptoJS.enc.Utf8);
  294. }
  295. function addstr(ps){
  296. if(ps.length<16){
  297. ps = ps.padEnd(16, '0');
  298. }else if(ps.length>16&&ps.length>32){
  299. ps = ps.padEnd(32, '0');
  300. }else if(ps.length>32&&ps.length>48){
  301. ps = ps.padEnd(48, '0');
  302. }else if(ps.length>48&&ps.length>60){
  303. ps = ps.padEnd(60, '0');
  304. }
  305. return ps;
  306. }
  307. function encrypt(word){
  308. //这里传入自己定义的密钥,后端解密时也需要使用一样的密钥
  309. var key = CryptoJS.enc.Utf8.parse("abcdeabcde123456");
  310. var srcs = CryptoJS.enc.Utf8.parse(word);
  311. var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
  312. return encrypted.toString();
  313. }