175 lines
4.6 KiB
JavaScript
175 lines
4.6 KiB
JavaScript
layui.define(['layer'],function(exports){
|
||
//提示:模块也可以依赖其它模块,如:layui.define('layer', callback);
|
||
let laydate = layui.laydate;
|
||
const opts={
|
||
"target":'laydateplus',
|
||
"rangeLinked":false,
|
||
"callback": null
|
||
};
|
||
var laydatePlus = function(options){
|
||
this.settings = $.extend({}, opts, options);
|
||
let me = this;
|
||
$('#'+this.settings.target).click(function(){
|
||
me.init();
|
||
});
|
||
};
|
||
laydatePlus.prototype = {
|
||
init: function () {
|
||
var me = this;
|
||
|
||
let shortcuts = [
|
||
{
|
||
text: "昨天",
|
||
value: function(){
|
||
var value = [];
|
||
var date1 = new Date();
|
||
date1.setDate(date1.getDate() - 1);
|
||
date1.setHours(0, 0, 0, 0);
|
||
value.push(date1);
|
||
var date2 = new Date();
|
||
date2.setDate(date2.getDate() - 1);
|
||
date2.setHours(23, 59, 59, 999);
|
||
value.push(new Date(date2));
|
||
return value;
|
||
}()
|
||
},
|
||
{
|
||
text: "今天",
|
||
value: function(){
|
||
var value = [];
|
||
var date1 = new Date();
|
||
date1.setDate(date1.getDate());
|
||
date1.setHours(0, 0, 0, 0);
|
||
value.push(date1);
|
||
var date2 = new Date();
|
||
date2.setDate(date2.getDate());
|
||
date2.setHours(23, 59, 59, 999);
|
||
value.push(new Date(date2));
|
||
return value;
|
||
}()
|
||
},
|
||
{
|
||
text: "最近7天",
|
||
value: function(){
|
||
var value = [];
|
||
var date1 = new Date();
|
||
date1.setDate(date1.getDate() - 7);
|
||
date1.setHours(0, 0, 0, 0);
|
||
value.push(date1);
|
||
var date2 = new Date();
|
||
date2.setHours(23, 59, 59, 999);
|
||
value.push(new Date(date2));
|
||
return value;
|
||
}()
|
||
},
|
||
{
|
||
text: "最近30天",
|
||
value: function(){
|
||
var value = [];
|
||
var date1 = new Date();
|
||
date1.setDate(date1.getDate() - 30);
|
||
date1.setHours(0, 0, 0, 0);
|
||
value.push(date1);
|
||
var date2 = new Date();
|
||
date2.setHours(23, 59, 59, 999);
|
||
value.push(new Date(date2));
|
||
return value;
|
||
}()
|
||
},
|
||
{
|
||
text: "本周",
|
||
value: function(){
|
||
var value = [];
|
||
var today = new Date();
|
||
var date1 = new Date(today.setDate(today.getDate() - today.getDay() + (today.getDay() === 0 ? -6 : 1)));
|
||
date1.setHours(0, 0, 0, 0);
|
||
value.push(date1);
|
||
var date2 = new Date(today.setDate(today.getDate() + 6));
|
||
date2.setHours(23, 59, 59, 999);
|
||
value.push(new Date(date2));
|
||
return value;
|
||
}()
|
||
},
|
||
{
|
||
text: "上周",
|
||
value: function(){
|
||
var value = [];
|
||
var today = new Date();
|
||
var lastWeek = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);
|
||
var date1 = new Date(lastWeek.getFullYear(), lastWeek.getMonth(), lastWeek.getDate() - lastWeek.getDay() + 1);
|
||
date1.setHours(0, 0, 0, 0);
|
||
value.push(date1);
|
||
var date2 = new Date(lastWeek.getFullYear(), lastWeek.getMonth(), lastWeek.getDate() - lastWeek.getDay() + 7);
|
||
date2.setHours(23, 59, 59, 999);
|
||
value.push(new Date(date2));
|
||
return value;
|
||
}()
|
||
},
|
||
{
|
||
text: "上个月",
|
||
value: function(){
|
||
var value = [];
|
||
var date1 = new Date();
|
||
date1.setMonth(date1.getMonth() - 1);
|
||
date1.setDate(1);
|
||
date1.setHours(0, 0, 0, 0);
|
||
value.push(date1);
|
||
var date2 = new Date();
|
||
date2.setDate(1);
|
||
date2.setHours(0, 0, 0, 0);
|
||
date2 = date2.getTime() - 1;
|
||
value.push(new Date(date2));
|
||
return value;
|
||
}()
|
||
},
|
||
{
|
||
text: "这个月",
|
||
value: function(){
|
||
var value = [];
|
||
var date1 = new Date();
|
||
date1.setDate(1);
|
||
date1.setHours(0, 0, 0, 0);
|
||
value.push(date1);
|
||
var date2 = new Date();
|
||
date2.setMonth(date2.getMonth() + 1);
|
||
date2.setDate(1);
|
||
date2.setHours(0, 0, 0, 0);
|
||
date2 = date2.getTime() - 1;
|
||
value.push(new Date(date2));
|
||
return value;
|
||
}()
|
||
},
|
||
{
|
||
text: "下个月",
|
||
value: function(){
|
||
var value = [];
|
||
var date1 = new Date();
|
||
date1.setMonth(date1.getMonth() + 1);
|
||
date1.setDate(1);
|
||
date1.setHours(0, 0, 0, 0);
|
||
value.push(date1);
|
||
var date2 = new Date();
|
||
date2.setMonth(date2.getMonth() + 2);
|
||
date2.setDate(1);
|
||
date2.setHours(0, 0, 0, 0);
|
||
date2 = date2.getTime() - 1;
|
||
value.push(new Date(date2));
|
||
return value;
|
||
}()
|
||
}
|
||
];
|
||
// 日期时间范围
|
||
laydate.render({
|
||
elem: '#'+this.settings.target,
|
||
type: 'datetime',
|
||
range: '~',
|
||
trigger: 'none',
|
||
rangeLinked:this.settings.rangeLinked,
|
||
shortcuts: shortcuts,
|
||
show:true
|
||
});
|
||
}
|
||
}
|
||
//输出接口
|
||
exports('laydatePlus', laydatePlus);
|
||
});
|