Global.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. globalVersion = function () {
  2. return '1.0.1';
  3. };
  4. companyInfo = {
  5. url: 'http://bobox360.com/',
  6. main: 'BOBO',
  7. year: new Date().getFullYear(),
  8. };
  9. thisglobal = function () {
  10. return 123
  11. };
  12. headapi = process.env.NODE_ENV === 'development' ? '/api/' : '../';
  13. // login
  14. globalCompany = function () {
  15. let globalCompany = {
  16. name: 'xxx',
  17. tel: '400-000-0000',
  18. app: '设备管理总后台',
  19. url: 'xxx.xxx.com'
  20. };
  21. return globalCompany
  22. };
  23. // 获取周数据
  24. globalWeeks = function () {
  25. let arr = [];
  26. let t = 0;
  27. for (var i = 0; i < 53; i++) {
  28. t = i+1 < 10 ? '0' + (i + 1) : i + 1;
  29. arr.push(t );
  30. }
  31. return arr;
  32. };
  33. globaroundYear = function () {
  34. let currentyear = new Date().getFullYear();
  35. let arr = [currentyear - 1, currentyear, currentyear + 1]
  36. return arr;
  37. };
  38. // 星期转换成中文数字
  39. weekdayTurnC = function (getDay) {
  40. switch (parseInt(getDay)) {
  41. case 1:
  42. return '一';
  43. break;
  44. case 2:
  45. return '二';
  46. break;
  47. case 3:
  48. return '三';
  49. break;
  50. case 4:
  51. return '四';
  52. break;
  53. case 5:
  54. return '五';
  55. break;
  56. case 6:
  57. return '六';
  58. break;
  59. case 0:
  60. return '天';
  61. break;
  62. }
  63. };
  64. // 获取当前第几周
  65. globalGetCurrentWeeks = function (a, b, c) {
  66. //date1是当前日期
  67. //date2是当年第一天
  68. //d是当前日期是今年第多少天
  69. //用d + 当前年的第一天的周差距的和在除以7就是本年第几周
  70. let date1 = new Date(a, parseInt(b) - 1, c), date2 = new Date(a, 0, 1),
  71. d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
  72. let res = Math.ceil((d + ((date2.getDay() + 1) - 1)) / 7);
  73. res = res < 10 ? '0' + res : res;
  74. return res
  75. };
  76. globalgetcurrent = function () {
  77. let date = new Date();
  78. let seperator1 = "-";
  79. let year = date.getFullYear();
  80. let month = date.getMonth() + 1;
  81. let strDate = date.getDate();
  82. if (month >= 1 && month <= 9) {
  83. month = "0" + month;
  84. }
  85. if (strDate >= 0 && strDate <= 9) {
  86. strDate = "0" + strDate;
  87. }
  88. var currentdate = year + '年' + month + '月' + strDate + '日';
  89. return currentdate;
  90. };
  91. // 第一周转换为日期
  92. globalWeeksTurnDate = function (year, weeks) {
  93. var date = new Date(year, "0", "1");
  94. var time = date.getTime(); // 获取当前星期几,0:星期一
  95. var _week = date.getDay(); //当这一年的1月1日为周日时则本年有54周,否则没有54周,没有则去除第54周的提示
  96. if (_week != 0) {//一年53周情况
  97. if (weeks == 54) {
  98. return '今年没有54周';
  99. }
  100. var cnt = 0;// 获取距离周末的天数
  101. if (_week == 0) {
  102. cnt = 7;
  103. } else if (_week == 1) {
  104. cnt = 6;
  105. } else if (_week == 2) {
  106. cnt = 5;
  107. } else if (_week == 3) {
  108. cnt = 4;
  109. } else if (_week == 4) {
  110. cnt = 3;
  111. } else if (_week == 5) {
  112. cnt = 2;
  113. } else if (_week == 6) {
  114. cnt = 1;
  115. }
  116. cnt += 1;//加1表示以星期一为一周的第一天 // 将这个长整形时间加上第N周的时间偏移
  117. time += cnt * 24 * 3600000; //第2周开始时间
  118. var nextYear = new Date(parseInt(year, 10) + 1, "0", "1");
  119. var nextWeek = nextYear.getDay();
  120. var lastcnt = 0;//获取最后一周开始时间到周末的天数
  121. if (nextWeek == 0) {
  122. lastcnt = 6;
  123. } else if (nextWeek == 1) {
  124. lastcnt = 0;
  125. } else if (nextWeek == 2) {
  126. lastcnt = 1;
  127. } else if (nextWeek == 3) {
  128. lastcnt = 2;
  129. } else if (nextWeek == 4) {
  130. lastcnt = 3;
  131. } else if (nextWeek == 5) {
  132. lastcnt = 4;
  133. } else if (nextWeek == 6) {
  134. lastcnt = 5;
  135. }
  136. if (weeks == 1) {//第1周特殊处理 // 为日期对象 date 重新设置成时间 time
  137. var start = date.Format("MM/dd");
  138. date.setTime(time - 24 * 3600000);
  139. var _end = date.Format("MM/dd");
  140. return start + "-" + _end;
  141. } else if (weeks == 53) {//第53周特殊处理
  142. var start = time + (weeks - 2) * 7 * 24 * 3600000; //第53周开始时间
  143. var end = time + (weeks - 2) * 7 * 24 * 3600000 + lastcnt * 24 * 3600000 - 24 * 3600000; //第53周结束时间
  144. date.setTime(start);
  145. var _start = date.Format("MM/dd");
  146. date.setTime(end);
  147. var _end = date.Format("MM/dd");
  148. return _start + "-" + _end;
  149. } else {
  150. var start = time + (weeks - 2) * 7 * 24 * 3600000; //第n周开始时间
  151. var end = time + (weeks - 1) * 7 * 24 * 3600000 - 24 * 3600000; //第n周结束时间
  152. date.setTime(start);
  153. var _start = date.Format("MM/dd");
  154. date.setTime(end);
  155. var _end = date.Format("MM/dd");
  156. return _start + "-" + _end;
  157. }
  158. } else {//一年54周情况
  159. var cnt = 0;// 获取距离周末的天数
  160. if (_week == 0 && weeks == 1) {//第一周
  161. cnt = 0;
  162. } else if (_week == 0) {
  163. cnt = 7;
  164. } else if (_week == 1) {
  165. cnt = 6;
  166. } else if (_week == 2) {
  167. cnt = 5;
  168. } else if (_week == 3) {
  169. cnt = 4;
  170. } else if (_week == 4) {
  171. cnt = 3;
  172. } else if (_week == 5) {
  173. cnt = 2;
  174. } else if (_week == 6) {
  175. cnt = 1;
  176. }
  177. cnt += 1;//加1表示以星期一为一周的第一天
  178. // 将这个长整形时间加上第N周的时间偏移
  179. time += 24 * 3600000; //第2周开始时间
  180. var nextYear = new Date(parseInt(year, 10) + 1, "0", "1");
  181. var nextWeek = nextYear.getDay();
  182. var lastcnt = 0;//获取最后一周开始时间到周末的天数
  183. if (nextWeek == 0) {
  184. lastcnt = 6;
  185. } else if (nextWeek == 1) {
  186. lastcnt = 0;
  187. } else if (nextWeek == 2) {
  188. lastcnt = 1;
  189. } else if (nextWeek == 3) {
  190. lastcnt = 2;
  191. } else if (nextWeek == 4) {
  192. lastcnt = 3;
  193. } else if (nextWeek == 5) {
  194. lastcnt = 4;
  195. } else if (nextWeek == 6) {
  196. lastcnt = 5;
  197. }
  198. if (weeks == 1) {//第1周特殊处理
  199. var start = date.Format("yyyy-MM-dd");
  200. date.setTime(time - 24 * 3600000);
  201. alert(start + '--' + date);
  202. return _start + "--" + date;
  203. } else if (weeks == 54) {//第54周特殊处理
  204. var start = time + (weeks - 2) * 7 * 24 * 3600000; //第54周开始时间
  205. var end = time + (weeks - 2) * 7 * 24 * 3600000 + lastcnt * 24 * 3600000 - 24 * 3600000; //第53周结束时间
  206. date.setTime(start);
  207. var _start = date.Format("yyyy-MM-dd");
  208. date.setTime(end);
  209. var _end = date.Format("yyyy-MM-dd");
  210. return _start + "--" + _end;
  211. } else {
  212. var start = time + (weeks - 2) * 7 * 24 * 3600000; //第n周开始时间
  213. var end = time + (weeks - 1) * 7 * 24 * 3600000 - 24 * 3600000; //第n周结束时间
  214. date.setTime(start);
  215. var _start = date.Format("yyyy-MM-dd");
  216. date.setTime(end);
  217. var _end = date.Format("yyyy-MM-dd");
  218. return _start + "--" + _end;
  219. }
  220. }
  221. };
  222. Date.prototype.Format = function (fmt) { //author: meizz
  223. var o = {
  224. "M+": this.getMonth() + 1, //月份
  225. "d+": this.getDate(), //日
  226. "h+": this.getHours(), //小时
  227. "m+": this.getMinutes(), //分
  228. "s+": this.getSeconds(), //秒
  229. "q+": Math.floor((this.getMonth() + 3) / 3), //季度
  230. "S": this.getMilliseconds() //毫秒
  231. };
  232. if (/(y+)/.test(fmt))
  233. fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  234. for (var k in o)
  235. if (new RegExp("(" + k + ")").test(fmt))
  236. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  237. return fmt;
  238. };
  239. // 获取周最后一天
  240. globalWeekEndDay = function (year, weeks) {
  241. var date = new Date(year, "0", "1");
  242. var time = date.getTime(); // 获取当前星期几,0:星期一
  243. var _week = date.getDay(); //当这一年的1月1日为周日时则本年有54周,否则没有54周,没有则去除第54周的提示
  244. if (_week != 0) {//一年53周情况
  245. if (weeks == 54) {
  246. return '今年没有54周';
  247. }
  248. var cnt = 0;// 获取距离周末的天数
  249. if (_week == 0) {
  250. cnt = 7;
  251. } else if (_week == 1) {
  252. cnt = 6;
  253. } else if (_week == 2) {
  254. cnt = 5;
  255. } else if (_week == 3) {
  256. cnt = 4;
  257. } else if (_week == 4) {
  258. cnt = 3;
  259. } else if (_week == 5) {
  260. cnt = 2;
  261. } else if (_week == 6) {
  262. cnt = 1;
  263. }
  264. cnt += 1;//加1表示以星期一为一周的第一天 // 将这个长整形时间加上第N周的时间偏移
  265. time += cnt * 24 * 3600000; //第2周开始时间
  266. var nextYear = new Date(parseInt(year, 10) + 1, "0", "1");
  267. var nextWeek = nextYear.getDay();
  268. var lastcnt = 0;//获取最后一周开始时间到周末的天数
  269. if (nextWeek == 0) {
  270. lastcnt = 6;
  271. } else if (nextWeek == 1) {
  272. lastcnt = 0;
  273. } else if (nextWeek == 2) {
  274. lastcnt = 1;
  275. } else if (nextWeek == 3) {
  276. lastcnt = 2;
  277. } else if (nextWeek == 4) {
  278. lastcnt = 3;
  279. } else if (nextWeek == 5) {
  280. lastcnt = 4;
  281. } else if (nextWeek == 6) {
  282. lastcnt = 5;
  283. }
  284. if (weeks == 1) {//第1周特殊处理 // 为日期对象 date 重新设置成时间 time
  285. var start = date.Format("MM/dd");
  286. date.setTime(time - 24 * 3600000);
  287. var _end = date.Format("-MM-dd");
  288. return year + _end;
  289. } else if (weeks == 53) {//第53周特殊处理
  290. var start = time + (weeks - 2) * 7 * 24 * 3600000; //第53周开始时间
  291. var end = time + (weeks - 2) * 7 * 24 * 3600000 + lastcnt * 24 * 3600000 - 24 * 3600000; //第53周结束时间
  292. date.setTime(start);
  293. var _start = date.Format("MM/dd");
  294. date.setTime(end);
  295. var _end = date.Format("-MM-dd");
  296. return year + _end;
  297. } else {
  298. var start = time + (weeks - 2) * 7 * 24 * 3600000; //第n周开始时间
  299. var end = time + (weeks - 1) * 7 * 24 * 3600000 - 24 * 3600000; //第n周结束时间
  300. date.setTime(start);
  301. var _start = date.Format("MM/dd");
  302. date.setTime(end);
  303. var _end = date.Format("-MM-dd");
  304. return year + _end;
  305. }
  306. } else {//一年54周情况
  307. var cnt = 0;// 获取距离周末的天数
  308. if (_week == 0 && weeks == 1) {//第一周
  309. cnt = 0;
  310. } else if (_week == 0) {
  311. cnt = 7;
  312. } else if (_week == 1) {
  313. cnt = 6;
  314. } else if (_week == 2) {
  315. cnt = 5;
  316. } else if (_week == 3) {
  317. cnt = 4;
  318. } else if (_week == 4) {
  319. cnt = 3;
  320. } else if (_week == 5) {
  321. cnt = 2;
  322. } else if (_week == 6) {
  323. cnt = 1;
  324. }
  325. cnt += 1;//加1表示以星期一为一周的第一天
  326. // 将这个长整形时间加上第N周的时间偏移
  327. time += 24 * 3600000; //第2周开始时间
  328. var nextYear = new Date(parseInt(year, 10) + 1, "0", "1");
  329. var nextWeek = nextYear.getDay();
  330. var lastcnt = 0;//获取最后一周开始时间到周末的天数
  331. if (nextWeek == 0) {
  332. lastcnt = 6;
  333. } else if (nextWeek == 1) {
  334. lastcnt = 0;
  335. } else if (nextWeek == 2) {
  336. lastcnt = 1;
  337. } else if (nextWeek == 3) {
  338. lastcnt = 2;
  339. } else if (nextWeek == 4) {
  340. lastcnt = 3;
  341. } else if (nextWeek == 5) {
  342. lastcnt = 4;
  343. } else if (nextWeek == 6) {
  344. lastcnt = 5;
  345. }
  346. if (weeks == 1) {//第1周特殊处理
  347. var start = date.Format("yyyy-MM-dd");
  348. date.setTime(time - 24 * 3600000);
  349. alert(start + '--' + date);
  350. return _start + "--" + date;
  351. } else if (weeks == 54) {//第54周特殊处理
  352. var start = time + (weeks - 2) * 7 * 24 * 3600000; //第54周开始时间
  353. var end = time + (weeks - 2) * 7 * 24 * 3600000 + lastcnt * 24 * 3600000 - 24 * 3600000; //第53周结束时间
  354. date.setTime(start);
  355. var _start = date.Format("yyyy-MM-dd");
  356. date.setTime(end);
  357. var _end = date.Format("yyyy-MM-dd");
  358. return _start + "--" + _end;
  359. } else {
  360. var start = time + (weeks - 2) * 7 * 24 * 3600000; //第n周开始时间
  361. var end = time + (weeks - 1) * 7 * 24 * 3600000 - 24 * 3600000; //第n周结束时间
  362. date.setTime(start);
  363. var _start = date.Format("yyyy-MM-dd");
  364. date.setTime(end);
  365. var _end = date.Format("yyyy-MM-dd");
  366. return _start + "--" + _end;
  367. }
  368. }
  369. };
  370. // 获取周最后一天
  371. globalMonEndDay = function (year, mons) {
  372. let date = year + '-' + mons
  373. let endDate = new Date(date); //date 是需要传递的时间如:2018-08
  374. let month = endDate.getMonth();
  375. let nextMonth = ++month;
  376. let nextMonthFirstDay = new Date(endDate.getFullYear(), nextMonth, 1);
  377. let oneDay = 1000 * 60 * 60 * 24;
  378. let dateString = new Date(nextMonthFirstDay - oneDay);
  379. let dateYar = dateString.toLocaleDateString(); //toLocaleDateString() 返回 如:2018/8/31
  380. var end = dateYar.replace(new RegExp('/', 'g'), "-");
  381. return end
  382. };
  383. // 设备状态
  384. globalQuipState = function () {
  385. let option = [
  386. {
  387. value: '',
  388. label: '全部'
  389. }, {
  390. value: '0',
  391. label: '新入库'
  392. }, {
  393. value: '1',
  394. label: '未售'
  395. }, {
  396. value: '2',
  397. label: '未售'
  398. }, {
  399. value: '3',
  400. label: '已售'
  401. }, {
  402. value: '4',
  403. label: '维修'
  404. }, {
  405. value: '5',
  406. label: '报废'
  407. }, {
  408. value: '6',
  409. label: '已售未入'
  410. }
  411. ];
  412. return option
  413. };
  414. // 操作员
  415. globalOperatorList = function () {
  416. let option = [
  417. {
  418. value: '',
  419. label: '全部'
  420. }, {
  421. value: '0',
  422. label: '高瑟'
  423. }, {
  424. value: '1',
  425. label: '林克'
  426. }, {
  427. value: '2',
  428. label: '小智'
  429. },
  430. ];
  431. return option
  432. };
  433. // 产品线状态
  434. globalLinestatusOpt = function () {
  435. let option = [
  436. {
  437. value: '',
  438. label: '全部'
  439. }, {
  440. value: '0',
  441. label: '禁用'
  442. }, {
  443. value: '1',
  444. label: '启用'
  445. }, {
  446. value: '44',
  447. label: '删除'
  448. },
  449. ];
  450. return option
  451. };
  452. // 开始时间
  453. globalBt = function () {
  454. const et = new Date();
  455. const bt = new Date();
  456. bt.setTime(bt.getTime() - 3600 * 1000 * 24 * 7);
  457. return [bt, et];
  458. };
  459. // 格式化时间
  460. globalfmtDate = function (datetime, length) {
  461. if ((datetime == '') || (datetime == undefined))
  462. return '';
  463. if ((datetime == '1900-01-01') || (datetime == '1900-01-01 00:00:00.000'))
  464. return '';
  465. length = !length ? 10 : length;//缺省参数
  466. return (datetime != null) ? datetime.substr(0, length) : '';
  467. };
  468. //格式化日期 年月日
  469. globaltime2String = function (time) {
  470. let datetime = new Date();
  471. datetime.setTime(time);
  472. let year = datetime.getFullYear();
  473. let month = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1;
  474. let date = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate();
  475. return year + "-" + month + "-" + date;
  476. };
  477. // 获取当前时间
  478. globalcurrent = function () {
  479. let date = new Date();
  480. let seperator1 = "-";
  481. let year = date.getFullYear();
  482. let month = date.getMonth() + 1;
  483. let strDate = date.getDate();
  484. if (month >= 1 && month <= 9) {
  485. month = "0" + month;
  486. }
  487. if (strDate >= 0 && strDate <= 9) {
  488. strDate = "0" + strDate;
  489. }
  490. let thisdata = year + seperator1 + month + seperator1 + strDate;
  491. return thisdata;
  492. };
  493. // 校验内容长度
  494. globalValid = function (data, mins, maxs, text, that) {
  495. let thisVal = data;
  496. let thisLeng = thisVal.length;
  497. let min = parseInt(mins);
  498. let max = parseInt(maxs);
  499. let dispalyMin = min + 1;
  500. let title = '警告';
  501. if (thisVal == '') {
  502. Toast(text + '不能为空!');
  503. return false
  504. } else if (thisLeng <= min) {
  505. Toast(text + '最少' + dispalyMin + '字符!');
  506. return false
  507. } else if (thisLeng > max) {
  508. Toast(text + '超出限制数量!');
  509. return false
  510. } else {
  511. return true
  512. }
  513. };
  514. // 每页选项
  515. pageOptions = function () {
  516. let option = [
  517. {
  518. value: 10,
  519. label: '10'
  520. }, {
  521. value: 25,
  522. label: '25'
  523. }, {
  524. value: 50,
  525. label: '50'
  526. }, {
  527. value: 100,
  528. label: '100'
  529. },
  530. ];
  531. return option
  532. };
  533. // 手机号码格式
  534. globalCheckPhone = function (val) {
  535. let re = /^1[3|4|5|7|8|9][0-9]\d{8}$/;
  536. if (val.search(re) == -1) {
  537. return false;
  538. } else {
  539. return true;
  540. }
  541. };
  542. // session 检测
  543. globalCheckSession = function (val, that) {
  544. if (val == '<script>top.window.location="http://det/?act=login"</script>') {
  545. that.$router.push({path: '/login'});
  546. }
  547. };
  548. // 每页选项
  549. HdOptions = function () {
  550. let option = [
  551. {
  552. value: '',
  553. label: '全部'
  554. },
  555. {
  556. value: '1',
  557. label: '硬件驱动'
  558. }, {
  559. value: '2',
  560. label: '配置文件'
  561. },
  562. ];
  563. return option
  564. };