_form.html.erb 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <!-- BEGIN FORM-->
  2. <%= form_for(@expense, :html => {:class=>"form-horizontal"}) do |f| %>
  3. <div class="portlet-body form">
  4. <% if @expense.errors.any? %>
  5. <div class="alert alert-danger">
  6. <strong>Tiene <%= pluralize(@expense.errors.count, "error") %> no se puede guardar el gasto</strong><br>
  7. </div>
  8. <% end %>
  9. <div class="form-body">
  10. <div class="row">
  11. <div class="col-md-8">
  12. <%= hidden_field_tag :concept_purchase_payment, @concept_purchase_payment.id %>
  13. <div class="form-group">
  14. <%= f.label :expense_code, {:class=>"col-md-3 control-label"} do %> Codigo de egreso
  15. <span class="required">*</span>
  16. <% end %>
  17. <div class="col-md-4 input-group">
  18. <span class="input-group-addon"><i class="fa fa-barcode"></i></span>
  19. <%= f.text_field :expense_code, { :class=>"form-control", :readonly => true} %>
  20. </div>
  21. </div>
  22. <% if current_user.usertype == "A" %>
  23. <div class="form-group">
  24. <%= f.label :expense_date, "Fecha", {:class=>"col-md-3 control-label"} do %> Fecha
  25. <span class="required">*</span>
  26. <% end %>
  27. <div class="col-sm-4" style="padding-left:0px;padding-right:0px;">
  28. <div class='input-group date' id='datetimepicker1'>
  29. <span class="input-group-addon">
  30. <span class="glyphicon glyphicon-calendar"></span>
  31. </span>
  32. <%= f.text_field :expense_date, class: 'form-control'%>
  33. </div>
  34. </div>
  35. </div>
  36. <% end %>
  37. <% if current_user.usertype != "A" %>
  38. <div class="form-group">
  39. <%= f.label :open_cash_register_id, "Caja registradora", {:class=>"col-md-3 control-label"} do %> Caja registradora
  40. <span class="required">*</span>
  41. <% end %>
  42. <div class="input-group col-md-4 select2-bootstrap-prepend">
  43. <%= f.select :open_cash_register_id, @current_user.pointsale.open_cash_registers.abiertas.map{|o| [o.cash_register.name, o.id]}, {:prompt => "Seleccione"}, { :class => 'form-control select2', :disabled => @is_cashier} %>
  44. <% if current_user.usertype == 'C' %>
  45. <%= f.hidden_field :open_cash_register_id %>
  46. <% end %>
  47. </div>
  48. </div>
  49. <% end %>
  50. <div class="form-group">
  51. <%= f.label :expensesconcept_id, "Concepto", {:class=>"col-md-3 control-label"} do %>Concepto de egreso
  52. <span class="required">*</span>
  53. <% end %>
  54. <div class="input-group col-md-4 select2-bootstrap-prepend">
  55. <%= f.collection_select :expensesconcept_id, @expenses_concepts, :id, :name, {:prompt => "Seleccione"}, {:class => "form-control select2", :style => "width: 100%"} %>
  56. </div>
  57. </div>
  58. <div class="form-group hidden" id="purchases_div">
  59. <%= f.label :purchases, "Concepto", {:class=>"col-md-3 control-label"} do %>Compras
  60. <span class="required">*</span>
  61. <% end %>
  62. <div class="input-group col-md-4 select2-bootstrap-prepend">
  63. <% if current_user.usertype == 'A' %>
  64. <%= select_tag "purchases", options_from_collection_for_select(Purchase.notpaid, :id, :code_with_price), :include_blank => "Seleccione", class: "form-control select2" %>
  65. <% else %>
  66. <%= select_tag "purchases", options_from_collection_for_select(Purchase.notpaid.where(:pointsale_id => current_user.pointsale_id), :id, :code_with_price), :include_blank => "Seleccione", class: "form-control select2" %>
  67. <% end %>
  68. </div>
  69. </div>
  70. <div class="form-group">
  71. <%= f.label :quantity, {:class=>"col-md-3 control-label"} do %>Cantidad <span class="required">*</span>
  72. <% end %>
  73. <div class="col-md-4" style="padding-left:0px;padding-right:0px">
  74. <%= f.number_field :quantity, {:class=>"form-control" } %>
  75. </div>
  76. </div>
  77. <div class="form-group">
  78. <%= f.label :observations, "Observaciones", {:class=>"col-md-3 control-label"} %>
  79. <div class="col-md-9" style="padding-left:0px">
  80. <%= f.text_area :observations, {:class=>"form-control", :rows=>5} %>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. <div class="form-actions">
  86. <div class="row">
  87. <div class="col-md-9">
  88. <%= f.submit 'Guardar', {:class=>"btn green"} %>
  89. <%= link_to 'Cancelar', expenses_path, {:class=>"btn default"} %>
  90. </div>
  91. </div>
  92. </div>
  93. </div>
  94. <% end %>
  95. <script type="text/javascript">
  96. $(document).on('page:change', function() {
  97. App.init();
  98. generateExpenseCode();
  99. $("select.select2").select2({
  100. allowClear: true,
  101. placeholder: 'Todas'
  102. });
  103. $('#datetimepicker1').datetimepicker({
  104. icons: {
  105. date: "fa fa-calendar"
  106. },
  107. format: "DD/MM/YYYY",
  108. defaultDate: new Date()
  109. });
  110. });
  111. $('#expense_expensesconcept_id').on('change', function() {
  112. if( $('#concept_purchase_payment').val() == $(this).val() ) {
  113. $('#purchases_div').removeClass('hidden');
  114. $("#purchases").select2();
  115. } else {
  116. $('#purchases_div').addClass('hidden');
  117. $('#purchases').select2('val', null);
  118. }
  119. });
  120. $('#expense_open_cash_register_id').on('change', function() {
  121. generateExpenseCode();
  122. });
  123. function generateExpenseCode() {
  124. <% if current_user.usertype == 'A' %>
  125. $.ajax({
  126. type: "get",
  127. url: '/get_next_expense_code/0',
  128. dataType: 'text',
  129. success: function(data) {
  130. $('#expense_expense_code').val(data);
  131. },
  132. });
  133. <% else %>
  134. if($('#expense_open_cash_register_id').length > 0 && $('#expense_open_cash_register_id').val()) {
  135. $.ajax({
  136. type: "get",
  137. url: '/get_next_expense_code/' + $('#expense_open_cash_register_id').val(),
  138. dataType: 'text',
  139. success: function(data) {
  140. $('#expense_expense_code').val(data);
  141. },
  142. });
  143. }
  144. <% end %>
  145. }
  146. </script>