_abonoform.html.erb 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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 first_input", 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", maxlength: 4 } %>
  75. <span class="help-block">Últimos 4 dígitos 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 crédito</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. $('form#cash_register_move_form').bind('ajax:complete', function() {
  107. $('#save_move').attr('disabled', false);
  108. });
  109. $('#dialog').removeClass('bs-modal-lg');
  110. $('#dialog .modal-dialog').removeClass('modal-lg');
  111. $('#cash_registers_move_payment_method_id').on('change', function() {
  112. // $('#display_change').html(formatter.format(0));
  113. $('#display_change').html(accounting.formatMoney(0));
  114. $('#save_move').attr('disabled', true);
  115. if ($(this).val() != <%= @cash_id %>) {
  116. $("#card_info").fadeIn();
  117. $('#cash_registers_move_received').attr('disabled', true);
  118. $('#cash_registers_move_received').val("");
  119. } else {
  120. $("#card_info").fadeOut();
  121. $("#cash_registers_move_cardnumber").val("");
  122. $('#cash_registers_move_received').attr('disabled', false);
  123. }
  124. });
  125. function unlockSubmit() {
  126. var method = $('#cash_registers_move_payment_method_id').val();
  127. var received = $('#cash_registers_move_received').val();
  128. var quantity = $('#cash_registers_move_quantity').val();
  129. var change = 0;
  130. var isReady = false;
  131. if (method == <%= @cash_id %>) {
  132. var received = $('#cash_registers_move_received').val();
  133. var quantity = $('#cash_registers_move_quantity').val();
  134. if(received && quantity && (quantity <= <%= @credito %> ) ) {
  135. change = received - quantity;
  136. isReady = true;
  137. } else {
  138. toastr["error"]("Hay datos que falta ingresar o la cantidad es incorrecta.");
  139. }
  140. } else {
  141. if (quantity) {
  142. isReady = true;
  143. }
  144. }
  145. // $('#display_change').html(formatter.format(change));
  146. $('#display_change').html(accounting.formatMoney(change));
  147. if (isReady) {
  148. $("#save_move").attr('disabled', false);
  149. } else {
  150. $("#save_move").attr('disabled', true);
  151. }
  152. }
  153. function submitForm() {
  154. $('#save_move').attr('disabled', true);
  155. $('#cash_register_move_form').submit();
  156. }
  157. function lock_button() {
  158. $("#save_move").attr('disabled', true);
  159. }
  160. </script>