_CraftScriptPartial.cshtml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <!-- Craft Views specified JavaScript element -->
  2. <script type="text/javascript">
  3. function calculateEmployeeAggregation() {
  4. var count = $("input[data-aggregation='employeeAmount']").length;
  5. var avgAmount = $("input[data-aggregation='employeeAmount']").map(function () {
  6. return parseFloat($(this).val());
  7. }).get().avg();
  8. var sumValues = $("input[data-aggregation='employeeValue']").map(function () {
  9. return parseFloat($(this).val());
  10. }).get().sum();
  11. $("#aggEmployeeCount").text(count);
  12. $("#aggEmployeeAmountAvg").text(isNaN(avgAmount) ? " -" : avgAmount.toUntrailingFixed(2) + " Std.");
  13. $("#aggEmployeeValueSum").text(isNaN(sumValues) ? " -" : sumValues + " €");
  14. }
  15. function calculateMaterialAggregation() {
  16. var count = $("input[data-aggregation='materialCalculationFactor']").length;
  17. var avgCalculationFactor = $("input[data-aggregation='materialCalculationFactor']").map(function () {
  18. return parseFloat($(this).val());
  19. }).get().avg();
  20. var sumValues = $("input[data-aggregation='materialValue']").map(function () {
  21. return parseFloat($(this).val());
  22. }).get().sum();
  23. $("#aggMaterialCount").text(count);
  24. $("#aggMaterialCalculationFactorAvg").text(isNaN(avgCalculationFactor) ? " -" : avgCalculationFactor.toUntrailingFixed(2) + " %");
  25. $("#aggMaterialValueSum").text(isNaN(sumValues) ? " -" : sumValues + " €");
  26. }
  27. function addCraftEmployeePartial() {
  28. $.ajax({
  29. type: "GET",
  30. url: '@Url.Action("AddCraftEmployeePartial")',
  31. data: {
  32. Index: $("#craftemployeelist").children(".row").length
  33. },
  34. success: function (data) {
  35. $("#craftemployeelist").append(data);
  36. calculateEmployeeAggregation();
  37. },
  38. error: function (errorData) { console.error(errorData); }
  39. });
  40. }
  41. function addCraftMaterialPartial() {
  42. $.ajax({
  43. type: "GET",
  44. url: '@Url.Action("AddCraftMaterialPartial")',
  45. data: {
  46. Index: $("#craftmateriallist").children(".row").length
  47. },
  48. success: function (data) {
  49. $("#craftmateriallist").append(data);
  50. },
  51. error: function (errorData) { console.error(errorData); }
  52. });
  53. }
  54. </script>