create.ui.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. window.changeWorkload = function(event)
  2. {
  3. $stageTR = $(event.target).closest('tr.form-batch-row');
  4. rate = parseFloat($stageTR.find('input[data-name=workload]').val());
  5. workload = estimation.scale * rate / 100;
  6. $stageTR.find('input[data-name=workloadLabel]').val(workload);
  7. computeTotalWorkload();
  8. computeEndDate(event);
  9. }
  10. window.computeTotalStaff = function(event)
  11. {
  12. let peopleNumber = 0;
  13. $('input[data-name=people]').each(function()
  14. {
  15. let people = $(this).val();
  16. if(people) peopleNumber += parseInt(people);
  17. });
  18. $('#totalStaff').html(peopleNumber);
  19. computeEndDate(event);
  20. }
  21. window.computeTotalWorkload = function()
  22. {
  23. let totalWorkload = 0;
  24. $('input[data-name=workload]').each(function()
  25. {
  26. let rate = parseFloat($(this).val());
  27. const workload = estimation.scale * rate / 100;
  28. totalWorkload += workload;
  29. });
  30. $('#totalWorkload').html(totalWorkload.toFixed(2));
  31. }
  32. window.computeEndDate = function(event)
  33. {
  34. $stageTR = $(event.target).closest('tr.form-batch-row');
  35. stage = $stageTR.find('input[name^=stage]').val();
  36. workload = $stageTR.find('input[name^=workload]').val();
  37. worktimeRate = $stageTR.find('input[name^=worktimeRate]').val();
  38. people = $stageTR.find('input[name^=people]').val();
  39. startDate = $stageTR.find('input[name^=startDate]').val();
  40. if(startDate) startDate = startDate.replace(/-/g, '_');
  41. if(isNaN(workload) || isNaN(worktimeRate) || isNaN(people) || startDate == '') return false;
  42. url = $.createLink('durationestimation', 'ajaxGetDuration', 'projectID=' + projectID + '&stage=' + stage + '&workload=' + workload + '&worktimeRate=' + worktimeRate + '&people=' + people + '&startDate=' + startDate);
  43. $.getJSON(url, function(response)
  44. {
  45. if(response.result == 'success')
  46. {
  47. $stageTR.find('input[name^=endDate]').zui('datePicker').$.changeState({value: response.endDate});
  48. }
  49. });
  50. }