_abonoform.html.erb 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <%= form_for(@cash_registers_move, :remote => true, :html => {:class=>"form-horizontal", :id=> "cash_register_move_form"}) do |f| %>
  2. <%= f.hidden_field(:open_cash_register_id, :value => @sale.open_cash_register_id) %>
  3. <%= f.hidden_field(:sale_id, :value => @sale.id) %>
  4. <div class="portlet-body form">
  5. <div class="alert alert-danger hidden" id="error_explanation_move"></div>
  6. <div class="row">
  7. <!-- div para mostrar total -->
  8. <div class="col-md-12">
  9. <h3> <%= @sale.customer.nick_name %> </h3>
  10. <div class="note note-success row" style="padding: 0px;">
  11. <div class="col-md-12">
  12. <div class="col-md-4" style="padding-left:0px"><h4 class="block">Adeudo del cliente:</h4></div>
  13. <%= hidden_field_tag 'sale_total', @credito %>
  14. <div class="col-md-8 text-center" style="margin-top:10px;padding-right: 0px;">
  15. <h3 class="pull-right"><%= number_to_currency(@credito, precision: 2) %></h3>
  16. </div>
  17. </div>
  18. </div>
  19. </div>
  20. <div class="col-md-12">
  21. <h4 class="form-section" style="margin-top:15px;margin-bottom:15px">Nuevo abono</h4>
  22. <!-- div fecha -->
  23. <div class="col-md-12" style="margin-bottom:15px;padding-right:0px">
  24. <div class="col-md-4 pull-right" style="padding-left:0px;padding-right:0px;">
  25. <div class='input-group date' id='datetimepicker2'>
  26. <input type='text' class="form-control" disabled/>
  27. <span class="input-group-addon">
  28. <span class="glyphicon glyphicon-calendar"></span>
  29. </span>
  30. </div>
  31. </div>
  32. </div>
  33. <div class="col-md-12" style="padding:0px">
  34. <!-- recibido -->
  35. <div class="col-md-4">
  36. <div class="form-group">
  37. <span class="help-block">monto recibido. </span>
  38. <div class="input-group col-md-11">
  39. <span class="input-group-addon"> $ </span>
  40. <%= f.number_field :received, {:class=>"form-control mask_decimal", :oninput=> 'lock_button()'} %>
  41. </div>
  42. </div>
  43. </div>
  44. <!-- cantidad -->
  45. <div class="col-md-4">
  46. <div class="form-group">
  47. <span class="help-block">monto a ABONAR. </span>
  48. <div class="input-group col-md-11">
  49. <span class="input-group-addon"> $ </span>
  50. <%= f.number_field :quantity, {:class=>"form-control mask_decimal", :oninput => 'lock_button()'} %>
  51. </div>
  52. </div>
  53. </div>
  54. <!-- metodo de pago -->
  55. <div class="col-md-2">
  56. <div class="form-group">
  57. <span class="help-block">forma de pago. </span>
  58. <div class="input-group col-md-12">
  59. <%= f.select :payment_method_id, PaymentMethod.vigentes.map {|c| [c.method, c.id] }, {:include_blank => "Seleccione", :selected => @cash_id}, {:class => "form-control" } %>
  60. </div>
  61. </div>
  62. </div>
  63. <!-- boton agregar -->
  64. <div class="col-md-2" style="padding-right:0px; margin-top:30px">
  65. <button type="button" class="btn green pull-right" onclick="unlockSubmit()">Agregar</button>
  66. </div>
  67. </div>
  68. <!-- datos de la tarjeta cuando aplica -->
  69. <div class="col-md-12" id="card_info" style="display: none;">
  70. <div class="form-group">
  71. <%= f.label :cardnumber, {:class=>"col-md-3 control-label "} do %> Tarjeta: <span class="required">*</span>
  72. <% end %>
  73. <div class="col-md-8">
  74. <%= f.text_field :cardnumber, {:class => "form-control"} %>
  75. <span class="help-block">Ultimos 4 digitos de la tarjeta. </span>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. <!-- div para mostrar cambio -->
  81. <div class="col-md-offset-6 col-md-6">
  82. <div class="note note-success row" style="padding: 0px;">
  83. <div class="col-md-12">
  84. <div class="col-md-4" style="padding-left:0px"><h4 class="block pull-left">Cambio:</h4></div>
  85. <div class="col-md-8 text-center" style="margin-top:10px;padding-right: 0px;">
  86. <h4 id="display_change" class="pull-right"></h4>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. <div class="col-md-12">
  92. <button type="button" class="btn green btn-block" disabled id="save_move" onclick="submitForm()">Abonar a credito</button>
  93. </div>
  94. </div>
  95. </div>
  96. <% end %>
  97. <script type="text/javascript">
  98. var timeout = null;
  99. $('#datetimepicker2').datetimepicker({
  100. icons: {
  101. date: "fa fa-calendar"
  102. },
  103. format: "DD/MM/YYYY",
  104. defaultDate: new Date()
  105. });
  106. $('#dialog').removeClass('bs-modal-lg');
  107. $('#dialog .modal-dialog').removeClass('modal-lg');
  108. $('#cash_registers_move_payment_method_id').on('change', function() {
  109. // $('#display_change').html(formatter.format(0));
  110. $('#display_change').html(accounting.formatMoney(0));
  111. $('#save_move').attr('disabled', true);
  112. if ($(this).val() != <%= @cash_id %>) {
  113. $("#card_info").fadeIn();
  114. $('#cash_registers_move_received').attr('disabled', true);
  115. $('#cash_registers_move_received').val("");
  116. } else {
  117. $("#card_info").fadeOut();
  118. $("#cash_registers_move_cardnumber").val("");
  119. $('#cash_registers_move_received').attr('disabled', false);
  120. }
  121. });
  122. function unlockSubmit() {
  123. var method = $('#cash_registers_move_payment_method_id').val();
  124. var received = $('#cash_registers_move_received').val();
  125. var quantity = $('#cash_registers_move_quantity').val();
  126. var change = 0;
  127. var isReady = false;
  128. if (method == <%= @cash_id %>) {
  129. var received = $('#cash_registers_move_received').val();
  130. var quantity = $('#cash_registers_move_quantity').val();
  131. if(received && quantity && (quantity <= <%= @credito %> ) ) {
  132. change = received - quantity;
  133. isReady = true;
  134. } else {
  135. toastr["error"]("Hay datos que falta ingresar o la cantidad es incorrecta.");
  136. }
  137. } else {
  138. if (quantity) {
  139. isReady = true;
  140. }
  141. }
  142. // $('#display_change').html(formatter.format(change));
  143. $('#display_change').html(accounting.formatMoney(change));
  144. if (isReady) {
  145. $("#save_move").attr('disabled', false);
  146. } else {
  147. $("#save_move").attr('disabled', true);
  148. }
  149. }
  150. function submitForm() {
  151. $('#cash_register_move_form').submit();
  152. }
  153. function lock_button() {
  154. $("#save_move").attr('disabled', true);
  155. }
  156. </script>