_add_haggle.html.erb 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <%= form_for(@pre_sale, url: create_haggle_path(@pre_sale), remote: true, html: { class: "form-horizontal", id: "haggle_form" }) do |f| %>
  2. <div class="portlet-body form">
  3. <% if @pre_sale.errors.any? %>
  4. <div class="alert alert-danger">
  5. <strong>Tiene <%= pluralize(@product.errors.count, "error") %> no se puede guardar el descuento a producto.</strong><br>
  6. </div>
  7. <% end %>
  8. <div class="form-body">
  9. <div class="row">
  10. <div class="col-md-12">
  11. <p style="margin-top:0px;">
  12. Producto: <strong> <%= @pre_sale.product.name %> </strong> <br>
  13. Cantidad: <strong> <%= @pre_sale.quantity %> </strong> <br>
  14. Importe: <strong> <%= number_to_currency(@pre_sale.total, precision: 2) %> MXN </strong>
  15. </p>
  16. <h4 class="form-section"></h4>
  17. <div class="note note-success">
  18. <p> <strong>NOTA: </strong>Sólo se puede aplicar descuento de una manera, ya sea en porcentaje o cantidad fija.</p>
  19. <p>* Las cantidades recomendadas que se muestran son en base al porcentaje establecido en la configuración.</p>
  20. </div>
  21. <div class="form-group">
  22. <%= label_tag :haggle, { class: "col-md-4 control-label" } do %>Porcentaje a aplicar <% end %>
  23. <div class="col-md-6">
  24. <div class="input-group">
  25. <%= number_field_tag :haggle_percent, '', class: "form-control input-mask_decimal", min: 0, max: 100, step: "any" %>
  26. <span class="input-group-addon"> % </span>
  27. </div>
  28. <span class="help-block">Recomendado: <strong><%= @haggle_percent %></strong> %</span>
  29. </div>
  30. </div>
  31. <div class="form-group">
  32. <%= label_tag :haggle, { class: "col-md-4 control-label" } do %>Cantidad a descontar <% end %>
  33. <div class="col-md-6">
  34. <div class="input-group">
  35. <span class="input-group-addon"> $ </span>
  36. <%= number_field_tag :haggle_quantity, '', class: "form-control input-mask_decimal", step: "any" %>
  37. <span class="input-group-addon"> MXN </span>
  38. </div>
  39. <span class="help-block">Recomendado: <strong><%= number_to_currency(@suggested_haggle, precision: 2) %></strong></span>
  40. </div>
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <div class="form-actions">
  47. <h4 class="form-section"> </h4>
  48. <div class="row">
  49. <div class="col-md-12">
  50. <button type="button" class="btn green" id="submit_btn" onclick="submitForm()">Aplicar descuento</button>
  51. <button type="button" class="btn default" onclick="cerrarDialog()">Cerrar</button>
  52. </div>
  53. </div>
  54. </div>
  55. <% end %>
  56. <script>
  57. $('#haggle_quantity, #haggle_percent').on('input', function() {
  58. if($(this).attr('id') == 'haggle_percent') {
  59. $('#haggle_quantity').val('');
  60. } else {
  61. $('#haggle_percent').val('');
  62. }
  63. });
  64. function submitForm() {
  65. var max_percent = <%= @haggle_percent %>;
  66. var max_quantity = <%= @suggested_haggle.to_f %>;
  67. var quantity = $('#haggle_quantity').val();
  68. var percent = $('#haggle_percent').val();
  69. if((quantity == "" && percent <= max_percent && percent > 0) || (percent == "" && quantity <= max_quantity && quantity > 0)) {
  70. $("#haggle_form").submit();
  71. } else {
  72. toastr["error"]("No puede agregar un descuento que sobrepase el descuento recomendado, y debe indicar el criterio de descuento a aplicar");
  73. }
  74. }
  75. function cerrarDialog() {
  76. $('#dialog').modal('toggle');
  77. }
  78. </script>