zentaopms/module/report/js/workload.js
2023-05-16 10:47:08 +08:00

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);
});