_CraftScriptPartial.cshtml 2.5 KB

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