_sellers_for_commissions.html.erb 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <div class="form-horizontal">
  2. <div class="portlet-body form">
  3. <div class="form-body">
  4. <div class="row">
  5. <div class="col-md-12">
  6. <div class="form-group">
  7. <%= label_tag :pointsale_id, {:class=>"col-md-3 control-label"} do %>Punto de venta <span class="required">*</span> <% end %>
  8. <div class="col-md-8" style="padding-right:0px">
  9. <% if current_user.usertype == "A" || current_user.usertype == "SS" %>
  10. <%= select_tag :pointsale_id, options_from_collection_for_select(Pointsale.activos, :id, :name), :include_blank => "Seleccione punto de venta", class: "form-control select2" %>
  11. <% else %>
  12. <%= text_field_tag 'pointsale', current_user.pointsale.name, :class => 'form-control', :disabled => true %>
  13. <%= hidden_field_tag 'pointsale_id', current_user.pointsale_id %>
  14. <% end %>
  15. </div>
  16. </div>
  17. <div class="form-group">
  18. <%= label_tag :initial_date, "Fecha", {:class=>"col-md-2 control-label"} do %>Desde <span class="required">*</span> <% end %>
  19. <div class="col-md-3" style="padding-left:0px;padding-right:0px;margin-left:15px">
  20. <div class='input-group date' id='initial_date'>
  21. <input id="start" type='text' class="form-control"/>
  22. <span class="input-group-addon">
  23. <span class="glyphicon glyphicon-calendar"></span>
  24. </span>
  25. </div>
  26. </div>
  27. <%= label_tag :final_date, "Fecha", {:class=>"col-md-2 control-label"} do %>Hasta <span class="required">*</span> <% end %>
  28. <div class="col-md-3" style="padding-left:0px;padding-right:0px;">
  29. <div class='input-group date' id='final_date'>
  30. <input id="end" type='text' class="form-control"/>
  31. <span class="input-group-addon">
  32. <span class="glyphicon glyphicon-calendar"></span>
  33. </span>
  34. </div>
  35. </div>
  36. <button class="btn btn-icon-only blue" style="margin-left:25px" onclick="getSellersByDates()">
  37. <i class="fa fa-search"></i>
  38. </button>
  39. </div>
  40. <div class="form-group">
  41. <div class="form-group" id="sellers_div">
  42. <%= label_tag :sellers_ids, "Vendores", {:class=>"col-md-3 control-label"} do %>Vendedores <span class="required">*</span> <% end %>
  43. <div class="col-md-9" style="padding-left:20px">
  44. <div class="row" style="margin-bottom:10px">
  45. <div class="col-md-12">
  46. <button type="button" class="btn btn-default" id='select-all'><i class="fa fa fa-square-o"></i> Seleccionar todo</button>
  47. <button style="margin-left:55px" type="button" class="btn btn-default" id='deselect-all'><i class="fa fa-square-o"></i> Deseleccionar todo</button>
  48. </div>
  49. </div>
  50. <%= select_tag :sellers_ids, nil, multiple: true, class: 'multi-select' %>
  51. </div>
  52. </div>
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. </div>
  58. <div class="form-actions">
  59. <h4 class="form-section"> </h4>
  60. <div class="row">
  61. <div class="col-md-12">
  62. <button type="button" class="btn green" disabled=​"disabled" onclick="generateCommissions()" id="generate_button">Generar comisiones</button>
  63. <button type="button" class="btn default" onclick="cerrarDialog()">Cerrar</button>
  64. </div>
  65. </div>
  66. </div>
  67. </div>
  68. <script>
  69. function cerrarDialog() {
  70. $('#dialog').modal('toggle');
  71. }
  72. $('#initial_date').datetimepicker({
  73. icons: {
  74. date: "fa fa-calendar"
  75. },
  76. format: "DD/MM/YYYY"
  77. });
  78. $('#final_date').datetimepicker({
  79. icons: {
  80. date: "fa fa-calendar"
  81. },
  82. format: "DD/MM/YYYY"
  83. });
  84. function getSellersByDates() {
  85. if ($("#initial_date").data("date") && $("#final_date").data("date") && $('#pointsale_id').val()) {
  86. var initial_date = moment($("#initial_date").data("date"), "DD-MM-YYYY").startOf('day').format('YYYY-MM-DD HH:mm:ss');
  87. var final_date = moment($("#final_date").data("date"), "DD-MM-YYYY").endOf('day').format('YYYY-MM-DD HH:mm:ss');
  88. var pointsale_id = $('#pointsale_id').val();
  89. App.blockUI({
  90. target: $("#sellers_div"),
  91. animate: true
  92. });
  93. $.ajax({
  94. type: "get",
  95. url: '/find_sellers_by_date/' + pointsale_id + '/' + initial_date + '/' + final_date,
  96. dataType: 'json',
  97. success: function(data) {
  98. $('#sellers_ids').html('');
  99. for (var i = 0; i < data.length; i++) {
  100. $('#sellers_ids').append($('<option>', {
  101. value: data[i].seller_id,
  102. text : data[i].name
  103. }));
  104. }
  105. $('#sellers_ids').multiselect('refresh');
  106. App.unblockUI($("#sellers_div"));
  107. $('#generate_button').prop('disabled', false);
  108. },
  109. error: function (err) {
  110. App.unblockUI($("#sellers_div"));
  111. toastr["error"]('Ya se generaron comisiones para el periodo seleccionado');
  112. }
  113. });
  114. } else {
  115. toastr["error"]('Seleccione punto de venta y rango de fechas');
  116. }
  117. }
  118. function generateCommissions() {
  119. if($('#sellers_ids').val()) {
  120. var initial_date = moment($("#initial_date").data("date"), "DD-MM-YYYY").startOf('day').format('YYYY-MM-DD HH:mm:ss');
  121. var final_date = moment($("#final_date").data("date"), "DD-MM-YYYY").endOf('day').format('YYYY-MM-DD HH:mm:ss');
  122. $.ajax({
  123. type: "get",
  124. url: '/generate_commissions/',
  125. dataType: 'script',
  126. data: {
  127. sellers_ids: $('#sellers_ids').val(),
  128. pointsale_id: $('#pointsale_id').val(),
  129. initial_date: initial_date,
  130. final_date: final_date
  131. },
  132. success: function(data) {
  133. }
  134. });
  135. } else {
  136. toastr["error"]('Seleccione vendedores para generar comisiones');
  137. }
  138. }
  139. </script>