var
table;
$(
function
() {
table = $(
'#example'
).DataTable({
"ajax"
: {
"url"
:
"/example/resources/server_processing_customCUrl.php"
,
"data"
:
function
( d ) {
d.extra_search = $(
'#reportrange span'
).html();
}},
"processing"
:
true
,
"serverSide"
:
true
,
"language"
: {
"sProcessing"
:
"处理中..."
,
"sLengthMenu"
:
"显示 _MENU_ 项结果"
,
"sZeroRecords"
:
"没有匹配结果"
,
"sInfo"
:
"显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项"
,
"sInfoEmpty"
:
"显示第 0 至 0 项结果,共 0 项"
,
"sInfoFiltered"
:
"(由 _MAX_ 项结果过滤)"
,
"sInfoPostFix"
:
""
,
"sSearch"
:
"搜索:"
,
"sUrl"
:
""
,
"sEmptyTable"
:
"表中数据为空"
,
"sLoadingRecords"
:
"载入中..."
,
"sInfoThousands"
:
","
,
"oPaginate"
: {
"sFirst"
:
"首页"
,
"sPrevious"
:
"上页"
,
"sNext"
:
"下页"
,
"sLast"
:
"末页"
},
"oAria"
: {
"sSortAscending"
:
": 以升序排列此列"
,
"sSortDescending"
:
": 以降序排列此列"
}
},
"dom"
:
"<'row'<'span9'l<'#mytoolbox'>><'span3'f>r>"
+
"t"
+
"<'row'<'span6'i><'span6'p>>"
,
initComplete:initComplete
});
});
function
initComplete(data){
var
dataPlugin =
'<div id="reportrange" class="pull-left dateRange" style="width:400px;margin-left: 10px"> '
+
'日期:<i class="glyphicon glyphicon-calendar fa fa-calendar"></i> '
+
'<span id="searchDateRange"></span> '
+
'<b class="caret"></b></div> '
;
$(
'#mytoolbox'
).append(dataPlugin);
$(
'#reportrange span'
).html(moment().subtract(
'hours'
, 1).format(
'YYYY-MM-DD HH:mm:ss'
) +
' - '
+ moment().format(
'YYYY-MM-DD HH:mm:ss'
));
$(
'#reportrange'
).daterangepicker(
{
maxDate : moment(),
dateLimit : {
days : 30
},
showDropdowns :
true
,
showWeekNumbers :
false
,
timePicker :
true
,
timePickerIncrement : 60,
timePicker12Hour :
false
,
ranges : {
'今日'
: [moment().startOf(
'day'
), moment()],
'昨日'
: [moment().subtract(
'days'
, 1).startOf(
'day'
), moment().subtract(
'days'
, 1).endOf(
'day'
)],
'最近7日'
: [moment().subtract(
'days'
, 6), moment()],
'最近30日'
: [moment().subtract(
'days'
, 29), moment()]
},
opens :
'right'
,
buttonClasses : [
'btn btn-default'
],
applyClass :
'btn-small btn-primary blue'
,
cancelClass :
'btn-small'
,
format :
'YYYY-MM-DD HH:mm:ss'
,
separator :
' to '
,
locale : {
applyLabel :
'确定'
,
cancelLabel :
'取消'
,
fromLabel :
'起始时间'
,
toLabel :
'结束时间'
,
customRangeLabel :
'自定义'
,
daysOfWeek : [
'日'
,
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
],
monthNames : [
'一月'
,
'二月'
,
'三月'
,
'四月'
,
'五月'
,
'六月'
,
'七月'
,
'八月'
,
'九月'
,
'十月'
,
'十一月'
,
'十二月'
],
firstDay : 1
}
},
function
(start, end, label) {
$(
'#reportrange span'
).html(start.format(
'YYYY-MM-DD HH:mm:ss'
) +
' - '
+ end.format(
'YYYY-MM-DD HH:mm:ss'
));
});
var
dateOption ;
if
(
"${riqi}"
==
'day'
) {
dateOption =
"今日"
;
}
else
if
(
"${riqi}"
==
'yday'
) {
dateOption =
"昨日"
;
}
else
if
(
"${riqi}"
==
'week'
){
dateOption =
"最近7日"
;
}
else
if
(
"${riqi}"
==
'month'
){
dateOption =
"最近30日"
;
}
else
if
(
"${riqi}"
==
'year'
){
dateOption =
"最近一年"
;
}
else
{
dateOption =
"自定义"
;
}
$(
".daterangepicker"
).find(
"li"
).each(
function
(){
if
($(
this
).hasClass(
"active"
)){
$(
this
).removeClass(
"active"
);
}
if
(dateOption==$(
this
).html()){
$(
this
).addClass(
"active"
);
}
});
$(
"#reportrange"
).on(
'apply.daterangepicker'
,
function
(){
table.ajax.reload();
var
args = table.ajax.params();
console.log(
"额外传到后台的参数值extra_search为:"
+args.extra_search);
});
function
getParam(url) {
var
data = decodeURI(url).split(
"?"
)[1];
var
param = {};
var
strs = data.split(
"&"
);
for
(
var
i = 0; i<strs.length; i++){
param[strs[i].split(
"="
)[0]] = strs[i].split(
"="
)[1];
}
return
param;
}
}