85 lines
2.1 KiB
JavaScript
85 lines
2.1 KiB
JavaScript
function changeParams(obj)
|
|
{
|
|
var begin = $('#conditions').find('#begin').val();
|
|
var end = $('#conditions').find('#end').val();
|
|
var workday = $('#conditions').find('#workday').val();
|
|
var dept = $('#conditions').find('#dept').val();
|
|
var assign = $('#conditions').find('#assign').val();
|
|
var days = diffDate(begin, end);
|
|
|
|
$('#days').val(days);
|
|
|
|
if(begin.indexOf('-') != -1)
|
|
{
|
|
var beginarray = begin.split("-");
|
|
var begin = '';
|
|
for(i = 0; i < beginarray.length; i++) begin = begin + beginarray[i];
|
|
}
|
|
if(end.indexOf('-') != -1)
|
|
{
|
|
var endarray = end.split("-");
|
|
var end = '';
|
|
for(i = 0 ; i < endarray.length ; i++) end = end + endarray[i];
|
|
}
|
|
|
|
var link = createLink('report', 'workload', 'begin=' + begin + '&end=' + end + '&days=' + days + '&workday=' + workday + '&dept=' + dept + '&assign=' + assign);
|
|
location.href = link;
|
|
}
|
|
|
|
/**
|
|
* Convert a date string to date object in js.
|
|
*
|
|
* @param string $date
|
|
* @access public
|
|
* @return date
|
|
*/
|
|
function convertStringToDate(dateString)
|
|
{
|
|
dateString = dateString.split('-');
|
|
return new Date(dateString[0], dateString[1] - 1, dateString[2]);
|
|
}
|
|
|
|
/**
|
|
* Compute the diff days of two date.
|
|
*
|
|
* @param string $date1
|
|
* @param string $date1
|
|
* @access public
|
|
* @return int
|
|
*/
|
|
function diffDate(date1, date2)
|
|
{
|
|
date1 = convertStringToDate(date1);
|
|
date2 = convertStringToDate(date2);
|
|
delta = (date2 - date1) / (1000 * 60 * 60 * 24) + 1;
|
|
|
|
weekEnds = 0;
|
|
for(i = 0; i < delta; i++)
|
|
{
|
|
if((weekend == 2 && date1.getDay() == 6) || date1.getDay() == 0) weekEnds ++;
|
|
date1 = date1.valueOf();
|
|
date1 += 1000 * 60 * 60 * 24;
|
|
date1 = new Date(date1);
|
|
}
|
|
return delta - weekEnds;
|
|
}
|
|
|
|
$(function()
|
|
{
|
|
var options =
|
|
{
|
|
language: config.clientLang,
|
|
weekStart: 1,
|
|
todayBtn: 1,
|
|
autoclose: 1,
|
|
todayHighlight: 1,
|
|
startView: 2,
|
|
forceParse: 0,
|
|
showMeridian: 1,
|
|
minView: 2,
|
|
format: 'yyyy-mm-dd',
|
|
startDate: new Date()
|
|
};
|
|
$('input#begin,input#end').fixedDate().datetimepicker(options);
|
|
});
|