_form.html.erb 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <%= form_for(@commission, :html => {:class=>"form-horizontal"}) do |f| %>
  2. <div class="portlet-body form">
  3. <div class="form-body">
  4. <div class="row">
  5. <%= f.hidden_field :pointsale_id %>
  6. <div class="form-group">
  7. <%= f.label :pointsale, "Punto de venta", {:class=>"col-md-2 control-label"} do %> Punto de venta <span class="required">*</span>
  8. <% end %>
  9. <div class="col-md-3" style="padding-left:0px;padding-right:0px">
  10. <%= text_field_tag :pointsale, @commission.pointsale.name, class: "form-control", disabled: true %>
  11. </div>
  12. </div>
  13. <div class="form-group">
  14. <%= f.label :date, "Fecha", {:class=>"col-md-2 control-label"} do %> Fecha <span class="required">*</span>
  15. <% end %>
  16. <div class="col-md-3" style="padding-left:0px;padding-right:0px">
  17. <div class='input-group date' id='date'>
  18. <input id="start" type='text' class="form-control" readonly="true"/>
  19. <span class="input-group-addon">
  20. <span class="glyphicon glyphicon-calendar"></span>
  21. </span>
  22. </div>
  23. </div>
  24. </div>
  25. <div class="form-group">
  26. <%= f.label :initial_date, "Inicio", {:class=>"col-md-2 control-label"} do %>Inicio del periodo<span class="required">*</span>
  27. <% end %>
  28. <div class="col-md-3" style="padding-left: 0px;padding-right: 0px">
  29. <%= text_field_tag :initial_date_display, l(@commission.initial_date, :format => '%d/%m/%Y'), class: "form-control", disabled: true %>
  30. <%= f.hidden_field :initial_date %>
  31. </div>
  32. </div>
  33. <div class="form-group">
  34. <%= f.label :final_date, "Fin", {:class=>"col-md-2 control-label"} do %> Fin del periodo<span class="required">*</span>
  35. <% end %>
  36. <div class="col-md-3" style="padding-left: 0px;padding-right: 0px">
  37. <%= text_field_tag :final_date_display, l(@commission.final_date, :format => '%d/%m/%Y'), class: "form-control", disabled: true %>
  38. <%= f.hidden_field :final_date %>
  39. </div>
  40. </div>
  41. <div class="form-group">
  42. <%= f.label :commission_total, "Total", {:class=>"col-md-2 control-label"} do %> Total vendido<span class="required">*</span>
  43. <% end %>
  44. <div class="col-md-3" style="padding-left: 0px;padding-right: 0px">
  45. <%= text_field_tag :commission_total_display, number_to_currency(@commission.commission_total, precision: 2), class: "form-control", disabled: true %>
  46. <%= f.hidden_field :commission_total %>
  47. </div>
  48. </div>
  49. </div>
  50. <h4 class="form-section">Lista de comisiones a pagar</h4>
  51. <table class="table table-striped table-bordered table-hover tableadvanced" id="products_table">
  52. <thead>
  53. <tr>
  54. <th>Vendedor</th>
  55. <th>Ventas en <br>el periodo</th>
  56. <th>Total vendido <br>contado</th>
  57. <th>Total vendido <br>créditos <br>y apartados</th>
  58. <th>Total <br>vendido</th>
  59. <th>$ ingresado<br>contado</th>
  60. <th>$ ingresado<br>créditos <br>y apartados</th>
  61. <th>Total <br>ingresado</th>
  62. <th>Pago <br>recomendado</th>
  63. <th>A pagar</th>
  64. </tr>
  65. </thead>
  66. <tbody id="sellers_table">
  67. <% @sellers.each_with_index do |seller| %>
  68. <tr>
  69. <% data = seller.get_data_for_commissions(@initial_date, @final_date) %>
  70. <% commission_calculated = ((@pos_config.commission_percent / 100.0) * (data['income_by_cash'] + data['income_by_reserved_and_credits'])).round(2) %>
  71. <td> <%= seller.name %> </td>
  72. <td> <%= data['sales_count'] %> </td>
  73. <td> <%= number_to_currency(data['total_sold_cash'], precision: 2) %> </td>
  74. <td> <%= number_to_currency(data['total_sold_credits_apartments'], precision: 2) %> </td>
  75. <td> <%= number_to_currency(data['total_sold_cash'] + data['total_sold_credits_apartments'], precision: 2) %> </td>
  76. <td> <%= number_to_currency(data['income_by_cash'], precision: 2) %> </td>
  77. <td><%= number_to_currency(data['income_by_reserved_and_credits'], precision: 2) %></td>
  78. <td><%= number_to_currency(data['income_by_cash'] + data['income_by_reserved_and_credits'], precision: 2) %></td>
  79. <td><%= number_to_currency(commission_calculated, precision: 2) %></td>
  80. <td>
  81. <%= f.fields_for :sellerscommissions do |b| %>
  82. <%= b.number_field :commission_paid, {:class =>"form-control", :value => commission_calculated, input_html: {min: 0}, :step =>"any", :pattern =>"^[0-9]*[1-9][0-9]*$"} %>
  83. <%= b.hidden_field :seller_id, :value => seller.id %>
  84. <%= b.hidden_field :num_sales, :value => data['sales_count'] %>
  85. <%= b.hidden_field :sales_total, :value => (data['total_sold_cash'] + data['total_sold_credits_apartments']) %>
  86. <%= b.hidden_field :commission_calculated, :value => commission_calculated %>
  87. <%= b.hidden_field :commission_percent, :value => @pos_config.commission_percent %>
  88. <%= b.hidden_field :total_sold_cash, :value => data['total_sold_cash'] %>
  89. <%= b.hidden_field :total_sold_credits_apartments, :value => data['total_sold_credits_apartments'] %>
  90. <%= b.hidden_field :income_by_cash, :value => data['income_by_cash'] %>
  91. <%= b.hidden_field :income_by_reserved_and_credits, :value => data['income_by_reserved_and_credits'] %>
  92. <% end %>
  93. </td>
  94. </tr>
  95. <% end %>
  96. </tbody>
  97. </table>
  98. </div>
  99. <div class="form-actions">
  100. <div class="row">
  101. <div class="col-md-9" style="padding-left: 0px;padding-right: 0px">
  102. <%= f.submit 'Guardar', {:class=>"btn green"} %>
  103. <%= link_to 'Cancelar', commissions_path(:filter => @filter, :current_page => @current_page), {:class=>"btn default"} %>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. <% end %>
  109. <script type="text/javascript">
  110. $('#date').datetimepicker({
  111. icons: {
  112. date: "fa fa-calendar"
  113. },
  114. format: "DD/MM/YYYY",
  115. defaultDate: new Date()
  116. });
  117. $(document).ready(function() {
  118. handleInputMasks();
  119. App.init();
  120. });
  121. </script>