Sin descripción
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ey_laydate_time_linkage.js 5.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. layui.use('laydate', function() {
  2. var laydate = layui.laydate;
  3. var myDate = new Date;
  4. var year = myDate.getFullYear(); //获取当前年
  5. var mon = myDate.getMonth() + 1; //获取当前月
  6. var day = myDate.getDate(); //获取当前日
  7. var mark_time = year + "-" + mon + "-" + day;//当前日期
  8. var mark = [];
  9. mark[mark_time] = '';
  10. var max_date = '9999-12-12';
  11. if ($('#eYLaydateTimeLinkage').data('max_date')) {
  12. max_date = $('#eYLaydateTimeLinkage').data('max_date');
  13. }
  14. laydate.render({
  15. elem : '#eYLaydateTimeLinkage', //指定元素
  16. range: '~',
  17. value: '',
  18. btns : ['clear', 'confirm', 'weeks', 'month'],
  19. mark: mark,
  20. max: max_date,
  21. ready: function(date) {
  22. $('.laydate-day-mark').removeClass('laydate-day-mark').parent().addClass('today_laydate_mark');
  23. // 更改 weeks 名字
  24. $(".laydate-btns-weeks").html('近7天');
  25. // 更改 month 名字
  26. $(".laydate-btns-month").html('近30天');
  27. // 日期初始化
  28. var _thisid = this.elem;
  29. var d = new Date();
  30. date.year = d.getFullYear();
  31. date.month = (d.getMonth() + 1);
  32. date.date = d.getDate();
  33. // 近七天时间选择
  34. $(".laydate-btns-weeks").on('click', function() {
  35. // 当前日期处理
  36. if (date.month < 10) {
  37. if (date.date < 10) {
  38. var end = date.year + '-0' + date.month + '-0' + date.date;
  39. } else {
  40. var end = date.year + '-0' + date.month + '-' + date.date;
  41. }
  42. } else {
  43. if (date.date < 10) {
  44. var end = date.year + '-' + date.month + '-0' + date.date;
  45. } else {
  46. var end = date.year + '-' + date.month + '-' + date.date;
  47. }
  48. }
  49. // 组装时间返回
  50. var start = new Date(d.getTime() - (7 * 24 * 60 * 60 * 1000)).toLocaleDateString()
  51. var da = start.replace(/\//g, '-') + ' ~ ' + end;
  52. _thisid.val(da);
  53. $("#layui-laydate1").remove();
  54. });
  55. // 近一个月时间选择
  56. $(".laydate-btns-month").on('click', function() {
  57. // 当前日期处理
  58. if (date.month < 10) {
  59. if (date.date < 10) {
  60. var end = date.year + '-0' + date.month + '-0' + date.date;
  61. } else {
  62. var end = date.year + '-0' + date.month + '-' + date.date;
  63. }
  64. } else {
  65. if (date.date < 10) {
  66. var end = date.year + '-' + date.month + '-0' + date.date;
  67. } else {
  68. var end = date.year + '-' + date.month + '-' + date.date;
  69. }
  70. }
  71. // 组装时间返回
  72. var state = getDay(date, 1);
  73. var da = state + ' ~ ' + end;
  74. _thisid.val(da);
  75. $("#layui-laydate1").remove();
  76. });
  77. // data为传递的结束时间,number表示往前推几个月,3个月3,1年12
  78. function getDay(dats, number) {
  79. var data = new Array(); //定义数组
  80. var data = dats;
  81. var year = data.year, //获取年份
  82. month = data.month, //获取月份
  83. date = data.date; //获取日期
  84. if (number == 12) {
  85. // 推一年
  86. if(month < 10) {
  87. if (date < 10) {
  88. s = year - 1 + '-0' + month + '-0' + date;
  89. } else {
  90. s = year - 1 + '-0' + month + '-' + date;
  91. }
  92. } else {
  93. if (date < 10) {
  94. s = year - 1 + '-' + month + '-0' + date;
  95. } else {
  96. s = year - 1 + '-' + month + '-' + date;
  97. }
  98. }
  99. } else {
  100. var month = month - number;
  101. // 假如是2月份,推3个月,会出现跨年情况
  102. if (month <= 0) {
  103. month = 12 + month;
  104. if (month < 10) {
  105. if (date < 10) {
  106. s = year - 1 + '-0' + month + '-0' + date;
  107. } else {
  108. s = year - 1 + '-0' + month + '-' + date;
  109. }
  110. } else {
  111. if (date < 10) {
  112. s = year - 1 + '-' + month + '-0' + date;
  113. } else {
  114. s = year - 1 + '-' + month + '-' + date;
  115. }
  116. }
  117. } else if (month < 10) {
  118. if (date < 10) {
  119. s = year + '-0' + month + '-0' + date;
  120. } else {
  121. s = year + '-0' + month + '-' + date;
  122. }
  123. } else {
  124. if (date < 10) {
  125. s = year + '-' + month + '-0' + date;
  126. } else {
  127. s = year + '-' + month + '-' + date;
  128. }
  129. }
  130. }
  131. return s;
  132. }
  133. $(".laydate-prev-m").eq(0).trigger('click');
  134. }
  135. ,done: function(value, date, endDate){
  136. var callback = $('#eYLaydateTimeLinkage').data('callback');
  137. eval(callback);
  138. }
  139. });
  140. });