base.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. import crypto from "crypto";
  2. //个位数字补零
  3. export function numberB0(n) {
  4. return n < 10 ? "0" + n : n;
  5. }
  6. /**
  7. * 通过传入的时间戳获取所需的一个标准格式的日期
  8. * 参数:
  9. * time: 时间戳
  10. * tag: 0,今天;1,明天,-1,昨天
  11. * type: 输出格式,date:标准日期1999-01-10;datetime:标准日期时间:1999-01-10 10:10:10。
  12. * 返回:1999-01-10
  13. */
  14. export function getBzDate(time, tag, type = "date") {
  15. let dateTime = new Date(time).getTime() + 3600*1000*24*tag;
  16. let newDate = new Date(dateTime);
  17. switch(type){
  18. case "date":
  19. return newDate.getFullYear() + "-" + numberB0((newDate.getMonth() + 1)) + "-" + numberB0(newDate.getDate());
  20. break;
  21. case "datetime":
  22. return newDate.getFullYear() + "-" + numberB0((newDate.getMonth() + 1)) + "-" + numberB0(newDate.getDate()) + " " + numberB0(newDate.getHours()) + ":" + numberB0(newDate.getMinutes()) + ":" + numberB0(newDate.getSeconds());
  23. break;
  24. default:
  25. return newDate.getFullYear() + "-" + numberB0((newDate.getMonth() + 1)) + "-" + numberB0(newDate.getDate());
  26. }
  27. }
  28. /**
  29. * 传入[开始日期, 结束日期]
  30. * 返回格式[2020-10-01 00:00:00, 2020-10-01 23:59:59]
  31. * tag: 1,补时分秒
  32. * 2,补分秒
  33. * 3,补秒
  34. * */
  35. export function dateQjChange(list, tag) {
  36. if (list[0] === "" || list[0] === null) return list;
  37. let d1 = new Date(list[0]);
  38. let d2 = new Date(list[1]);
  39. if (tag === undefined) {
  40. tag = 1;
  41. }
  42. switch (tag) {
  43. case 1:
  44. return [
  45. d1.getFullYear() +
  46. "-" +
  47. numberB0(d1.getMonth() + 1) +
  48. "-" +
  49. numberB0(d1.getDate()) +
  50. " 00:00:00",
  51. d2.getFullYear() +
  52. "-" +
  53. numberB0(d2.getMonth() + 1) +
  54. "-" +
  55. numberB0(d2.getDate()) +
  56. " 23:59:59",
  57. ];
  58. case 2:
  59. return [
  60. d1.getFullYear() +
  61. "-" +
  62. numberB0(d1.getMonth() + 1) +
  63. "-" +
  64. numberB0(d1.getDate()) +
  65. " " +
  66. numberB0(d1.getHours()) +
  67. ":00:00",
  68. d2.getFullYear() +
  69. "-" +
  70. numberB0(d2.getMonth() + 1) +
  71. "-" +
  72. numberB0(d2.getDate()) +
  73. " " +
  74. numberB0(d2.getHours()) +
  75. ":59:59",
  76. ];
  77. break;
  78. case 3:
  79. return [
  80. d1.getFullYear() +
  81. "-" +
  82. numberB0(d1.getMonth() + 1) +
  83. "-" +
  84. numberB0(d1.getDate()) +
  85. " " +
  86. numberB0(d1.getHours()) +
  87. ":" +
  88. numberB0(d1.getMinutes()) +
  89. ":00",
  90. d2.getFullYear() +
  91. "-" +
  92. numberB0(d2.getMonth() + 1) +
  93. "-" +
  94. numberB0(d2.getDate()) +
  95. " " +
  96. numberB0(d2.getHours()) +
  97. ":" +
  98. numberB0(d2.getMinutes()) +
  99. ":59",
  100. ];
  101. break;
  102. }
  103. }
  104. //金额分割符,4位分割(仅数字)
  105. export function getNewNum(nStr) {
  106. nStr += "";
  107. var x = nStr.split(".");
  108. var x1 = x[0];
  109. var x2 = x.length > 1 ? "." + x[1] : "";
  110. var rgx = /(\d+)(\d{4})/;
  111. while (rgx.test(x1)) {
  112. x1 = x1.replace(rgx, "$1" + "," + "$2");
  113. }
  114. return x1 + x2;
  115. }
  116. /*
  117. * Ant和element-ui 级联相同bug - 底层存在children的时候会显示空模块的问题,此方法可以完成任意级别的递归找children。
  118. * data:原型数据
  119. * */
  120. export function cascaderBugRepair(data) {
  121. if (data == null) return false;
  122. let nums = data.length;
  123. for (var i = 0; i < nums; i++) {
  124. if (data[i].children.length <= 0) {
  125. delete data[i].children;
  126. } else {
  127. if (data[i].children.length > 0) {
  128. data[i].children = cascaderBugRepair(data[i].children);
  129. }
  130. }
  131. }
  132. return data;
  133. }
  134. export default {
  135. getBzDate,
  136. cascaderBugRepair,
  137. getNewNum,
  138. dateQjChange,
  139. numberB0,
  140. };