laydatePlus.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. layui.define(['layer'],function(exports){
  2. //提示:模块也可以依赖其它模块,如:layui.define('layer', callback);
  3. let laydate = layui.laydate;
  4. const opts={
  5. "target":'laydateplus',
  6. "callback": null
  7. };
  8. var laydatePlus = function(options){
  9. this.settings = $.extend({}, opts, options);
  10. let me = this;
  11. $('#'+this.settings.target).click(function(){
  12. me.init();
  13. });
  14. };
  15. laydatePlus.prototype = {
  16. init: function () {
  17. var me = this;
  18. let shortcuts = [
  19. {
  20. text: "昨天",
  21. value: function(){
  22. var value = [];
  23. var date1 = new Date();
  24. date1.setDate(date1.getDate() - 1);
  25. date1.setHours(0, 0, 0, 0);
  26. value.push(date1);
  27. var date2 = new Date();
  28. date2.setDate(date2.getDate() - 1);
  29. date2.setHours(23, 59, 59, 999);
  30. value.push(new Date(date2));
  31. return value;
  32. }()
  33. },
  34. {
  35. text: "今天",
  36. value: function(){
  37. var value = [];
  38. var date1 = new Date();
  39. date1.setDate(date1.getDate());
  40. date1.setHours(0, 0, 0, 0);
  41. value.push(date1);
  42. var date2 = new Date();
  43. date2.setDate(date2.getDate());
  44. date2.setHours(23, 59, 59, 999);
  45. value.push(new Date(date2));
  46. return value;
  47. }()
  48. },
  49. {
  50. text: "最近7天",
  51. value: function(){
  52. var value = [];
  53. var date1 = new Date();
  54. date1.setDate(date1.getDate() - 7);
  55. date1.setHours(0, 0, 0, 0);
  56. value.push(date1);
  57. var date2 = new Date();
  58. date2.setHours(23, 59, 59, 999);
  59. value.push(new Date(date2));
  60. return value;
  61. }()
  62. },
  63. {
  64. text: "最近30天",
  65. value: function(){
  66. var value = [];
  67. var date1 = new Date();
  68. date1.setDate(date1.getDate() - 30);
  69. date1.setHours(0, 0, 0, 0);
  70. value.push(date1);
  71. var date2 = new Date();
  72. date2.setHours(23, 59, 59, 999);
  73. value.push(new Date(date2));
  74. return value;
  75. }()
  76. },
  77. {
  78. text: "本周",
  79. value: function(){
  80. var value = [];
  81. var today = new Date();
  82. var date1 = new Date(today.setDate(today.getDate() - today.getDay() + (today.getDay() === 0 ? -6 : 1)));
  83. date1.setHours(0, 0, 0, 0);
  84. value.push(date1);
  85. var date2 = new Date(today.setDate(today.getDate() + 6));
  86. date2.setHours(23, 59, 59, 999);
  87. value.push(new Date(date2));
  88. return value;
  89. }()
  90. },
  91. {
  92. text: "上周",
  93. value: function(){
  94. var value = [];
  95. var today = new Date();
  96. var lastWeek = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);
  97. var date1 = new Date(lastWeek.getFullYear(), lastWeek.getMonth(), lastWeek.getDate() - lastWeek.getDay() + 1);
  98. date1.setHours(0, 0, 0, 0);
  99. value.push(date1);
  100. var date2 = new Date(lastWeek.getFullYear(), lastWeek.getMonth(), lastWeek.getDate() - lastWeek.getDay() + 7);
  101. date2.setHours(23, 59, 59, 999);
  102. value.push(new Date(date2));
  103. return value;
  104. }()
  105. },
  106. {
  107. text: "上个月",
  108. value: function(){
  109. var value = [];
  110. var date1 = new Date();
  111. date1.setMonth(date1.getMonth() - 1);
  112. date1.setDate(1);
  113. date1.setHours(0, 0, 0, 0);
  114. value.push(date1);
  115. var date2 = new Date();
  116. date2.setDate(1);
  117. date2.setHours(0, 0, 0, 0);
  118. date2 = date2.getTime() - 1;
  119. value.push(new Date(date2));
  120. return value;
  121. }()
  122. },
  123. {
  124. text: "这个月",
  125. value: function(){
  126. var value = [];
  127. var date1 = new Date();
  128. date1.setDate(1);
  129. date1.setHours(0, 0, 0, 0);
  130. value.push(date1);
  131. var date2 = new Date();
  132. date2.setMonth(date2.getMonth() + 1);
  133. date2.setDate(1);
  134. date2.setHours(0, 0, 0, 0);
  135. date2 = date2.getTime() - 1;
  136. value.push(new Date(date2));
  137. return value;
  138. }()
  139. },
  140. {
  141. text: "下个月",
  142. value: function(){
  143. var value = [];
  144. var date1 = new Date();
  145. date1.setMonth(date1.getMonth() + 1);
  146. date1.setDate(1);
  147. date1.setHours(0, 0, 0, 0);
  148. value.push(date1);
  149. var date2 = new Date();
  150. date2.setMonth(date2.getMonth() + 2);
  151. date2.setDate(1);
  152. date2.setHours(0, 0, 0, 0);
  153. date2 = date2.getTime() - 1;
  154. value.push(new Date(date2));
  155. return value;
  156. }()
  157. }
  158. ];
  159. // 日期时间范围
  160. laydate.render({
  161. elem: '#'+this.settings.target,
  162. type: 'datetime',
  163. range: '~',
  164. trigger: 'none',
  165. rangeLinked:true,
  166. shortcuts: shortcuts,
  167. show:true
  168. });
  169. }
  170. }
  171. //输出接口
  172. exports('laydatePlus', laydatePlus);
  173. });