create.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. $(document).ready(function()
  2. {
  3. $('#begin, #start, #end, #finish').change(function()
  4. {
  5. var begin = $('#begin').val();
  6. var end = $('#end').val();
  7. var start = $('#start').val();
  8. var finish = $('#finish').val();
  9. if(!begin || !end || !start || !finish) return false;
  10. begin = begin.replace(/-/g, '/');
  11. end = end.replace(/-/g, '/');
  12. var hours = 0;
  13. var beginTime = Date.parse(new Date(begin + ' ' + start));
  14. var endTime = Date.parse(new Date(end + ' ' + finish));
  15. if(beginTime > endTime) return false;
  16. if(begin == end)
  17. {
  18. hours = Math.round((endTime - beginTime)/(3600*1000)*100)/100;
  19. if(hours > workingHours) hours = parseFloat(workingHours);
  20. }
  21. else
  22. {
  23. var signOutTime = Date.parse(new Date(begin + ' ' + signOut));
  24. var signInTime = Date.parse(new Date(end + ' ' + signIn));
  25. var hoursStart = 0;
  26. var hoursEnd = 0;
  27. var hoursContent = 0;
  28. if(beginTime < signOutTime) hoursStart = Math.round((signOutTime - beginTime)/(3600*1000)*100)/100;
  29. if(endTime > signInTime) hoursEnd = Math.round((endTime - signInTime)/(3600*1000)*100)/100;
  30. if(workingHours && hoursStart > workingHours) hoursStart = parseFloat(workingHours);
  31. if(workingHours && hoursEnd > workingHours) hoursEnd = parseFloat(workingHours);
  32. var days = Math.floor((Date.parse(new Date(end)) - Date.parse(new Date(begin)))/(24*3600*1000));
  33. if(days > 1) hoursContent = (days - 1) * workingHours;
  34. hours = hoursStart + hoursEnd + hoursContent;
  35. }
  36. $('#hours').val(hours);
  37. });
  38. $('#begin').change();
  39. $('input[name=type]').click(function()
  40. {
  41. $('#typeannual').tooltip(
  42. {
  43. title: annualTip,
  44. trigger: 'manual',
  45. tipClass: 'w-120px tooltip-danger'
  46. });
  47. if($('#typeannual').prop('checked'))
  48. {
  49. $('#typeannual').tooltip('show');
  50. }
  51. else
  52. {
  53. $('#typeannual').tooltip('destroy');
  54. }
  55. });
  56. })