index.html.erb 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <div class="page-container">
  2. <!-- BEGIN CONTENT -->
  3. <div class="page-content-wrapper">
  4. <!-- BEGIN CONTENT BODY -->
  5. <!-- BEGIN PAGE HEAD-->
  6. <div class="page-head">
  7. <div class="container-fluid">
  8. <!-- BEGIN PAGE TITLE -->
  9. <div class="page-title">
  10. <h1>Cortes de caja </h1>
  11. </div>
  12. <!-- END PAGE TITLE -->
  13. </div>
  14. </div>
  15. <!-- END PAGE HEAD-->
  16. <!-- BEGIN PAGE CONTENT BODY -->
  17. <div class="page-content">
  18. <div class="container-fluid">
  19. <!-- BEGIN PAGE BREADCRUMBS -->
  20. <ul class="page-breadcrumb breadcrumb">
  21. <%= render_breadcrumbs :tag => :li, :separator => ' <i class="fa fa-circle"></i> ' %>
  22. </ul>
  23. <!-- END PAGE BREADCRUMBS -->
  24. <!-- BEGIN PAGE CONTENT INNER -->
  25. <div class="page-content-inner">
  26. <div id="notice">
  27. <% if success %>
  28. <div class="alert alert-success">
  29. <p><%= success %></p>
  30. </div>
  31. <% elsif warning %>
  32. <div class="alert alert-warning">
  33. <p><%= warning %></p>
  34. </div>
  35. <% end %>
  36. </div>
  37. <div class="row">
  38. <div class="col-md-12">
  39. <%= hidden_field_tag 'title_for_print' %>
  40. <div class="portlet light ">
  41. <div class="portlet-title">
  42. <div class="caption">
  43. <i class="fa fa-list "></i>
  44. <span class="caption-subject bold uppercase">Lista de cortes de caja</span>
  45. </div>
  46. <div class="actions">
  47. <% if current_user.usertype == "G" %>
  48. <% if can? :create, CashOut %>
  49. <%= link_to new_open_cash_register_path, :remote => true, :class => 'btn btn bold green margin-top pull-right', :title => "Abrir caja registradora" do %> Abrir caja <i class="fa fa-plus"></i>
  50. <% end %> <br>
  51. <%= link_to get_open_cash_registers_path, remote: true, data: { toggle: "modal", target: "#get_open_cash_register" }, :class=>"btn bold green pull-right", :title=>"Realizar corte de caja", :style=> "margin-top:10px" do %> Realizar corte de caja <i class="fa fa-plus"></i>
  52. <% end %>
  53. <% end %>
  54. <% end %>
  55. <% if current_user.usertype == "A" %>
  56. <%= link_to opened_cash_registers_path, {:class=>"btn bold green pull-right"} do %> <i class="fa fa-search"></i>&nbsp Ver cajas abiertas <% end %>
  57. <% end %>
  58. </div>
  59. </div>
  60. <div class="portlet-body">
  61. <!-- filtros de fecha si es Admin -->
  62. <div class="form-horizontal" style="margin-bottom:35px">
  63. <div class="row">
  64. <div class="col-md-9">
  65. <div class="form-group">
  66. <%= label_tag :pointsale, "pointsale", {:class=>"col-md-2 control-label"} do %> Punto de venta
  67. <% end %>
  68. <div class="col-md-3">
  69. <%= select_tag "pointsale", options_from_collection_for_select(Pointsale.vigentes, :id, :name, :selected => current_user.pointsale_id), :include_blank => "Todas", :disabled => (true unless current_user.usertype == 'A'), class: "form-control select2 col-md-3" %>
  70. </div>
  71. <%= label_tag :begin_date, "Fecha", {:class=>"col-md-1 control-label"} do %> Desde
  72. <% end %>
  73. <div class="col-sm-2" style="padding-left:0px;padding-right:0px;">
  74. <div class='input-group date' id='begin_date'>
  75. <input id="start" type='text' class="form-control"/>
  76. <span class="input-group-addon">
  77. <span class="glyphicon glyphicon-calendar"></span>
  78. </span>
  79. </div>
  80. </div>
  81. <%= label_tag :end_date, "Fecha", {:class=>"col-md-1 control-label"} do %> Hasta
  82. <% end %>
  83. <div class="col-sm-2" style="padding-left:0px;padding-right:0px;">
  84. <div class='input-group date' id='end_date'>
  85. <input id="end" type='text' class="form-control"/>
  86. <span class="input-group-addon">
  87. <span class="glyphicon glyphicon-calendar"></span>
  88. </span>
  89. </div>
  90. </div>
  91. <button class="btn btn-icon-only blue pull-right" onclick="cashOutByPointsaleDate()">
  92. <i class="fa fa-search"></i>
  93. </button>
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. <input type='hidden' name='filter' id='filter' value='<%= @filter %>' >
  99. <input type='hidden' name='current_page' id='current_page' value='<%= @current_page %>' >
  100. <table class="table table-striped table-bordered table-hover tableadvancedprintable" id="cash_outs_table">
  101. <thead>
  102. <tr>
  103. <th>#</th>
  104. <% if current_user.usertype == "A" %>
  105. <th>Punto de venta</th>
  106. <% end %>
  107. <th>Caja registradora</th>
  108. <th>Ingresos</th>
  109. <th>Egresos</th>
  110. <th>Total</th>
  111. <th>Fecha</th>
  112. <th>Usuario</th>
  113. <th>Recibió</th>
  114. <th>Acciones</th>
  115. </tr>
  116. </thead>
  117. <tbody>
  118. <% @cash_outs.each_with_index do |cash_out, key| %>
  119. <tr>
  120. <td><%= cash_out.id %></td>
  121. <% if current_user.usertype == "A" %>
  122. <td>
  123. <%= OpenCashRegister.get_pointsale(cash_out.open_cash_register_id, "open_cash_register").name %>
  124. </td>
  125. <% end %>
  126. <td><%= cash_out.open_cash_register.cash_register.name %> </td>
  127. <td><%= number_to_currency(cash_out.amount_in, precision: 2) %> </td>
  128. <td><%= number_to_currency(cash_out.amount_out, precision: 2) %></td>
  129. <td><%= number_to_currency(cash_out.amount_in - cash_out.amount_out, precision: 2) %></td>
  130. <td><%= l(cash_out.created_at, :format => '%d/%B/%Y') %></td>
  131. <td><%= cash_out.user.first_name %></td>
  132. <td><%= (cash_out.received_by.blank? ? "" : cash_out.received_by.first_name) %></td>
  133. <td class="text-center">
  134. <%= link_to cash_out, {:class=>"btn btn-icon-only default filtros", :title=>"Ver corte de caja"} do %>
  135. <i class="fa fa-search"></i>
  136. <% end %>
  137. <%= link_to print_cash_out_receipt_path(cash_out.id, format: 'pdf'), {:class=>"btn btn-icon-only default", :target => "blank"} do %>
  138. <i class="fa fa-print"></i>
  139. <% end %>
  140. </td>
  141. </tr>
  142. <% end %>
  143. </tbody>
  144. </table>
  145. </div>
  146. </div>
  147. </div>
  148. </div>
  149. </div>
  150. <!-- END PAGE CONTENT INNER -->
  151. </div>
  152. </div>
  153. <!-- END PAGE CONTENT BODY -->
  154. <!-- END CONTENT BODY -->
  155. </div>
  156. <!-- END CONTENT -->
  157. </div>
  158. <script>
  159. $(document).on("page:change", function() {
  160. $('#begin_date').datetimepicker({
  161. icons: {
  162. date: "fa fa-calendar"
  163. },
  164. format: "DD/MM/YYYY",
  165. defaultDate: moment().startOf('month').toDate()
  166. });
  167. $('#end_date').datetimepicker({
  168. icons: {
  169. date: "fa fa-calendar"
  170. },
  171. format: "DD/MM/YYYY",
  172. defaultDate: moment().endOf('month').toDate()
  173. });
  174. });
  175. function cashOutByPointsaleDate() {
  176. var start = moment($("#begin_date").data("date"), "DD-MM-YYYY").format('YYYY-MM-DD HH:mm:ss');
  177. var end = moment($("#end_date").data("date"), "DD-MM-YYYY").format('YYYY-MM-DD HH:mm:ss');
  178. var pointsale = $('#pointsale').val();
  179. App.blockUI({
  180. target: $("#cash_outs_table"),
  181. animate: true
  182. });
  183. $.ajax({
  184. type: "get",
  185. url: '/find_cash_outs_by_date/' + pointsale + '/' + start + '/' + end,
  186. dataType: 'script',
  187. success: function(data) {
  188. window.setTimeout(function() {
  189. App.unblockUI($("#cash_outs_table"));
  190. }, 100);
  191. }
  192. });
  193. }
  194. </script>
  195. <!-- END CONTAINER