Skip to content

Instantly share code, notes, and snippets.

@rvgarimrj
Last active August 20, 2016 14:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rvgarimrj/cc8a6cb55364f9859e64785e1e0254bb to your computer and use it in GitHub Desktop.
Save rvgarimrj/cc8a6cb55364f9859e64785e1e0254bb to your computer and use it in GitHub Desktop.
<% if @tipo == "devolucao" %>
<div class="nested-fields">
<div class="row listCod" data-cod="<%= f.object.barcode %>">
<div class="small-6 columns show-for-small-only">
<%= f.input :barcode, label: "Cod Barras", input_html: { class: 'barcode_ror_dev' } %>
</div>
<%= f.input :order_id, :as => :hidden, input_html: { class: 'order_id_ror_dev' } %>
<div class="show-for-medium-up small-2 columns">
<%= f.input :cod_produto, label: "Produto", input_html: { class: 'cod_produto_ror_dev' } %>
</div>
<%= f.input :desc_produto,:as => :hidden, input_html: { class: 'desc_produto_ror_dev' } %>
<%= f.input :cod_cor,:as => :hidden, input_html: { class: 'cod_cor_ror_dev' } %>
<div class="small-2 show-for-medium-up columns">
<%= f.input :desc_cor,label: "Cor", input_html: { class: 'desc_cor_ror_dev' } %>
</div>
<div class="small-2 show-for-medium-up columns">
<%= f.input :desc_tamanho,label: "Tam", input_html: { class: 'desc_tamanho_ror_dev' } %>
</div>
<div class="small-2 show-for-medium-up columns">
<%= f.input :preco,label: "Preço",input_html: { class: 'preco_ror_dev' } %>
</div>
<div class="small-6 medium-2 columns">
<%= f.input :quantidade_dev,label: "Qtd Dev", input_html: { class: 'quantidade_ror_dev' } %>
</div>
<div class="show-for-medium-up medium-2 columns end">
<%= f.input :total_dev,label: "Total Dev",input_html: { class: 'total_ror_dev' } %>
</div>
<div class="small-1 columns end">
<%= link_to_remove_association "-", f, :class => "button tiny alert remove"%>
</div>
</div>
</div>
<% else %>
<div class="nested-fields">
<div class="row">
<div class="small-6 medium-2 columns leitor">
<% if !f.object.id.present? %>
<form action="#" method="post">
<input id = "barcode" class = "cod_barras" type="text" name="cod_barras" value="" />
</form>
<% end %>
</div>
<div class="small-3 medium-3 columns end">
<% if !f.object.id.present? %>
<a id='scanBtn' class="button tiny radius success barcode_btn" type="button"
onclick="bridgeit.scan('scanBtn', 'onAfterCaptureScan');">Leitor</a>
<% end %>
</div>
<div class="small-5 columns end not_found">
<span class="not_found">Produto não existe ! <%= link_to 'Cadastrar ?', new_product_path, :target => "_blank", class: "button radius tiny" %></span>
</div>
</div>
<div class="row">
<%= f.input :id, :as => :hidden, input_html: { class: 'id_detail_ror' } %>
<div class="small-6 columns show-for-small-only">
<%= f.input :barcode,label: "Cód Barras" ,input_html: { class: 'barcode_ror' } %>
</div>
<%= f.input :order_id, :as => :hidden, input_html: { class: 'order_id_ror' } %>
<div class="show-for-medium-up small-1 columns">
<%= f.input :cod_produto, label: "Produto", input_html: { class: 'cod_produto_ror' } %>
</div>
<%= f.input :desc_produto,:as => :hidden, input_html: { class: 'desc_produto_ror' } %>
<%= f.input :cod_cor,:as => :hidden, input_html: { class: 'cod_cor_ror' } %>
<div class="small-2 show-for-medium-up columns">
<%= f.input :desc_cor,label: "Cor", input_html: { class: 'desc_cor_ror' } %>
</div>
<div class="small-1 show-for-medium-up columns">
<%= f.input :desc_tamanho,label: "Tam", input_html: { class: 'desc_tamanho_ror' } %>
</div>
<div class="small-2 show-for-medium-up columns">
<%= f.input :preco,label: "Preço",input_html: { class: 'preco_ror' } %>
</div>
<div class="small-4 medium-1 columns">
<% if !f.object.id.present? %>
<%= f.input :quantidade,label: "Qtd", input_html: { class: 'quantidade_ror' } %>
<% else %>
<%= f.input :quantidade,label: "Qtd", input_html: { class: 'read_only' } %>
<% end %>
</div>
<div class="show-for-medium-up small-2 columns end">
<%= f.input :total,label: "Total",input_html: { class: 'total_ror' } %>
</div>
<div class="small-1 columns end">
<% if !f.object.id.present? %>
<%= link_to_remove_association "-", f, :class => "button tiny alert"%>
<% end %>
</div>
<hr/>
</div>
</div>
<% end %>
<% if @tipo == "devolucao" %>
<%= simple_form_for(@order) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :customer, :as => :hidden %>
<%= f.input :tipo, :as => :hidden %>
<%= f.input :descontado, :as => :hidden %>
<%= f.input :valor_total, :as => :hidden %>
<%= f.input :item_total, :as => :hidden %>
<%= f.input :order_num, :as => :hidden %>
<br/>
<div class="row">
<form action="#" method="post">
<div class="small-6 medium-3 columns leitor_dev">
<input id = "inputCod" type="text" />
</div>
<div class="small-3 medium-3 columns end">
<a id='scanBtnDev' class="button tiny radius success " type="button"
onclick="bridgeit.scan('scanBtnDev', 'onAfterCaptureScanDev');">Leitor</a>
</div>
</form>
<div class="small-5 columns end not_found">
<span class="not_found">Produto não existe neste pedido!</span>
</div>
</div>
<div class="row">
<div class="small-12 columns">
<hr/>
<div id="details">
<%= f.simple_fields_for :details do |detail| %>
<%= render "detail_fields", {:f => detail,:tipo => "devolucao"}%>
<% end %>
</div>
<hr/>
</div>
</div>
<div class="row">
<div class="small-12 columns">
<div class="form-actions container">
<%= link_to_add_association '+ ítens', f, :details, data: {"association-insertion-method" => :before, "association-insertion-node" => ".container " },:class => "button tiny radius add" %>
<br />
<br />
<br />
</div>
</div>
</div>
<div class="row">
<div class="small-6 medium-2 columns">
<%= f.button :submit, "Salvar" %>
</div>
<div class="small-6 medium-2 columns end">
<%= link_to 'Cancelar', orders_path, :class => "button alert"%>
</div>
</div>
<% end %>
<% else %>
<%= simple_form_for(@order) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<% if !browser.device.mobile? %>
<div class="row">
<div class="small-4 columns">
<%= f.association :customer, collection: Customer.order('nome ASC'), label_method: :nome, value_method: :id, include_blank: false, prompt: "Selecione", label: "Cliente:", class: "right inline cliente" %>
</div>
<div class="small-3 columns">
<%= f.input :tipo,
label: "Escolha:",
:collection => Order::TIPO,
prompt: "Tipo do pedido",
include_blank: false %>
</div>
<div class="small-3 columns end">
<%= f.input :descontado, label:"% Descontado:" %>
</div>
</div>
<% else %>
<div class="row collapse">
<div class="small-12 columns end">
<%= f.association :customer, collection: Customer.order('nome ASC'), label_method: :nome, value_method: :id, include_blank: false, prompt: "Selecione", label: "Cliente:", class: "right inline cliente" %>
</div>
</div>
<div class="row collapse">
<div class="small-6 columns end">
<%= f.input :tipo,
label: "Escolha:",
:collection => Order::TIPO,
prompt: "Tipo do pedido",
include_blank: false %>
</div>
</div>
<div class="row collapse">
<div class="small-6 columns end">
<%= f.input :descontado, label:"% Descontado:" %>
</div>
</div>
<% end %>
<%= f.input :valor_total, :as => :hidden, input_html: { class: 'valor_total_ror' } %>
<%= f.input :item_total, :as => :hidden, input_html: { class: 'item_total_ror' } %>
<%= f.input :order_num, :as => :hidden, input_html: { class: 'ordem_num_ror' } %>
<div class="row">
<div class="small-12 columns">
<hr/>
<div id="details">
<%= f.simple_fields_for :details do |detail| %>
<%= render "detail_fields",{ :f => detail , :tipo => "edicao"}%>
<% end %>
</div>
</div>
</div>
<div class="row">
<div class="small-12 columns">
<div class="form-actions container">
<a href="#" class="button clique">Clique</a>
<%= link_to_add_association '+ ítens', f, :details, data: {"association-insertion-method" => :before, "association-insertion-node" => ".container" },:class => "button tiny radius add_itens" %>
<br />
<br />
<br />
</div>
</div>
</div>
<div class="row">
<div class="small-6 medium-2 columns">
<%= f.button :submit, "Salvar" %>
</div>
<div class="small-6 medium-2 columns end">
<%= link_to 'Cancelar', orders_path, :class => "button alert"%>
</div>
</div>
<% end %>
<% end %>
$(document).on("change",".cod_barras",function() {
// alert("mudou");
barcode = $(this).val();
if (barcode === "") return;
parent = $(this).parents('.nested-fields');
cod_produto = $(parent).find('.cod_produto_ror');
desc_produto = $(parent).find('.desc_produto_ror');
cod_cor = $(parent).find('.cod_cor_ror');
desc_cor = $(parent).find('.desc_cor_ror');
desc_tamanho = $(parent).find('.desc_tamanho_ror');
input_preco = $(parent).find('.preco_ror');
input_qtd = $(parent).find('.quantidade_ror');
input_total = $(parent).find('.total_ror');
not_found = $(parent).find('.not_found');
barcode_variacao = $(parent).find('.barcode_ror');
// clique = $(parent).find('.clique');
$.ajax({
type: "GET",
url: "/consulta_produto",
dataType: "json",
data: { barcode: barcode},
complete: function() {},
success: function(response)
{
if ((response.resultado.cod_produto === undefined) || (response.resultado.cod_produto === null))
{
not_found.show();
$(cod_produto).val('');
$(desc_produto).val('');
$(cod_cor).val('');
$(desc_cor).val('');
$(desc_tamanho).val('');
$(input_preco).val('');
$(barcode).focus();
alert("Produto não cadastrado! Rever ou cadastrar.");
}
else
{
not_found.hide();
$(cod_produto).val(response.resultado.cod_produto);
$(desc_produto).val(response.resultado.desc_produto);
$(cod_cor).val(response.resultado.cod_cor);
$(desc_cor).val(response.resultado.desc_cor);
$(desc_tamanho).val(response.resultado.desc_tamanho);
$(input_preco).val(response.resultado.preco);
$(barcode_variacao).val(response.resultado.barcode);
$(input_qtd).focus();
$(input_qtd).val('1');
$(".clique").click();
$(".add_itens").click();
var div_leitor = $('div.leitor').nextAll('div.leitor').first();
var barcode_clique = $(div_leitor).find('.barcode_btn');
$(barcode_clique).click();
}
}
});
});
<body>
<div class="contain-to-grid sticky">
<nav class="top-bar" data-topbar role="navigation">
<ul class="title-area">
<li class="name">
<h1><a href="/">Jolét</a></li></h1>
</li>
<!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
<li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
</ul>
<section class="top-bar-section">
<ul class="left">
<li><a class="navbar-link" data-method="delete" href="/users/sign_out" rel="nofollow">Logout</a></li>
</ul>
<!-- Right Nav Section -->
<ul class="right">
<li class="has-dropdown">
<a href="#">Cadastros</a>
<ul class="dropdown">
<li><a href="/products">Produto</a></li>
<li><a href="/customers">Cliente</a></li>
<li><a href="/colors">Cor</a></li>
<li><a href="/sizes">Tamanho</a></li>
<li><a href="/groups">Grupos</a></li>
</ul>
</li>
<li class="divider"></li>
<li class="has-dropdown">
<a href="#">Pedidos</a>
<ul class="dropdown">
<li><a href="/orders">Listar</a></li>
<li><a href="/orders/new">Novo</a></li>
</ul>
<li class="divider"></li>
<li><a href="/orders/new">Relatórios</a></li>
<li class="has-dropdown">
<a href="#">Exportar</a>
<ul class="dropdown">
<li><a href="/export.csv">Código de Barras</a></li>
<li><a href="/orders/new">Base de dados</a></li>
</ul>
</section>
</nav>
</div>
<div class="row">
<div class="small-12 columns">
<p class="alert"></p>
<!--
drigaldi@gmail.com
-->
<h1>Novo Pedido</h1>
<form accept-charset="UTF-8" action="/orders" class="simple_form new_order" id="new_order" method="post" novalidate="novalidate"><div style="display:none"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="jA5XaoN0uUVZ6vEZwnyQlFPSGygbWr97V1l1mQypdFI=" /></div>
<div class="form-inputs">
<div class="row">
<div class="small-4 columns">
<div class="input select required order_customer"><label class="select required control-label" for="order_customer_id"><abbr title="obrigatório">*</abbr> Cliente:</label><select class="select required" id="order_customer_id" name="order[customer_id]"><option value="">Selecione</option>
<option value="2">Patricia Cunha Leo</option>
<option value="3">Stillu&#39;s</option></select></div>
</div>
<div class="small-3 columns">
<div class="input select required order_tipo"><label class="select required control-label" for="order_tipo"><abbr title="obrigatório">*</abbr> Escolha:</label><select class="select required" id="order_tipo" name="order[tipo]"><option value="">Tipo do pedido</option>
<option value="Venda">Venda</option>
<option value="Consignado">Consignado</option></select></div>
</div>
<div class="small-3 columns end">
<div class="input decimal required order_descontado"><label class="decimal required control-label" for="order_descontado"><abbr title="obrigatório">*</abbr> % Descontado:</label><input class="numeric decimal required" id="order_descontado" name="order[descontado]" step="any" type="number" /></div>
</div>
</div>
<div class="input hidden order_valor_total"><input class="hidden valor_total_ror" id="order_valor_total" name="order[valor_total]" type="hidden" /></div>
<div class="input hidden order_item_total"><input class="hidden item_total_ror" id="order_item_total" name="order[item_total]" type="hidden" /></div>
<div class="input hidden order_order_num"><input class="hidden ordem_num_ror" id="order_order_num" name="order[order_num]" type="hidden" /></div>
<div class="row">
<div class="small-12 columns">
<hr/>
<div id="details">
</div>
</div>
</div>
<div class="row">
<div class="small-12 columns">
<div class="form-actions container">
<a href="#" class="button clique">Clique</a>
<a class="button tiny radius add_itens add_fields" data-association-insertion-method="before" data-association-insertion-node=".container" data-association-insertion-template=" &lt;div class=&quot;nested-fields&quot;&gt;
&lt;div class=&quot;row&quot;&gt;
&lt;div class=&quot;small-6 medium-2 columns leitor&quot;&gt;
&lt;form action=&quot;#&quot; method=&quot;post&quot;&gt;
&lt;input id = &quot;barcode&quot; class = &quot;cod_barras&quot; type=&quot;text&quot; name=&quot;cod_barras&quot; value=&quot;&quot; /&gt;
&lt;/form&gt;
&lt;/div&gt;
&lt;div class=&quot;small-3 medium-3 columns end&quot;&gt;
&lt;a id=&#39;scanBtn&#39; class=&quot;button tiny radius success &quot; type=&quot;button&quot;
onclick=&quot;bridgeit.scan(&#39;scanBtn&#39;, &#39;onAfterCaptureScan&#39;);&quot;&gt;Leitor&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;small-5 columns end not_found&quot;&gt;
&lt;span class=&quot;not_found&quot;&gt;Produto não existe ! &lt;a class=&quot;button radius tiny&quot; href=&quot;/products/new&quot; target=&quot;_blank&quot;&gt;Cadastrar ?&lt;/a&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;row&quot;&gt;
&lt;div class=&quot;input hidden order_details_id&quot;&gt;&lt;input class=&quot;hidden id_detail_ror&quot; id=&quot;order_details_attributes_new_details_id&quot; name=&quot;order[details_attributes][new_details][id]&quot; type=&quot;hidden&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;small-6 columns show-for-small-only&quot;&gt;
&lt;div class=&quot;input string optional order_details_barcode&quot;&gt;&lt;label class=&quot;string optional control-label&quot; for=&quot;order_details_attributes_new_details_barcode&quot;&gt;Cód Barras&lt;/label&gt;&lt;input class=&quot;string optional barcode_ror&quot; id=&quot;order_details_attributes_new_details_barcode&quot; name=&quot;order[details_attributes][new_details][barcode]&quot; type=&quot;text&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;input hidden order_details_order_id&quot;&gt;&lt;input class=&quot;hidden order_id_ror&quot; id=&quot;order_details_attributes_new_details_order_id&quot; name=&quot;order[details_attributes][new_details][order_id]&quot; type=&quot;hidden&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;show-for-medium-up small-1 columns&quot;&gt;
&lt;div class=&quot;input string optional order_details_cod_produto&quot;&gt;&lt;label class=&quot;string optional control-label&quot; for=&quot;order_details_attributes_new_details_cod_produto&quot;&gt;Produto&lt;/label&gt;&lt;input class=&quot;string optional cod_produto_ror&quot; id=&quot;order_details_attributes_new_details_cod_produto&quot; name=&quot;order[details_attributes][new_details][cod_produto]&quot; type=&quot;text&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;input hidden order_details_desc_produto&quot;&gt;&lt;input class=&quot;hidden desc_produto_ror&quot; id=&quot;order_details_attributes_new_details_desc_produto&quot; name=&quot;order[details_attributes][new_details][desc_produto]&quot; type=&quot;hidden&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;input hidden order_details_cod_cor&quot;&gt;&lt;input class=&quot;hidden cod_cor_ror&quot; id=&quot;order_details_attributes_new_details_cod_cor&quot; name=&quot;order[details_attributes][new_details][cod_cor]&quot; type=&quot;hidden&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;small-2 show-for-medium-up columns&quot;&gt;
&lt;div class=&quot;input string optional order_details_desc_cor&quot;&gt;&lt;label class=&quot;string optional control-label&quot; for=&quot;order_details_attributes_new_details_desc_cor&quot;&gt;Cor&lt;/label&gt;&lt;input class=&quot;string optional desc_cor_ror&quot; id=&quot;order_details_attributes_new_details_desc_cor&quot; name=&quot;order[details_attributes][new_details][desc_cor]&quot; type=&quot;text&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;small-1 show-for-medium-up columns&quot;&gt;
&lt;div class=&quot;input string optional order_details_desc_tamanho&quot;&gt;&lt;label class=&quot;string optional control-label&quot; for=&quot;order_details_attributes_new_details_desc_tamanho&quot;&gt;Tam&lt;/label&gt;&lt;input class=&quot;string optional desc_tamanho_ror&quot; id=&quot;order_details_attributes_new_details_desc_tamanho&quot; name=&quot;order[details_attributes][new_details][desc_tamanho]&quot; type=&quot;text&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;small-2 show-for-medium-up columns&quot;&gt;
&lt;div class=&quot;input decimal optional order_details_preco&quot;&gt;&lt;label class=&quot;decimal optional control-label&quot; for=&quot;order_details_attributes_new_details_preco&quot;&gt;Preço&lt;/label&gt;&lt;input class=&quot;numeric decimal optional preco_ror&quot; id=&quot;order_details_attributes_new_details_preco&quot; name=&quot;order[details_attributes][new_details][preco]&quot; step=&quot;any&quot; type=&quot;number&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;small-4 medium-1 columns&quot;&gt;
&lt;div class=&quot;input integer optional order_details_quantidade&quot;&gt;&lt;label class=&quot;integer optional control-label&quot; for=&quot;order_details_attributes_new_details_quantidade&quot;&gt;Qtd&lt;/label&gt;&lt;input class=&quot;numeric integer optional quantidade_ror&quot; id=&quot;order_details_attributes_new_details_quantidade&quot; name=&quot;order[details_attributes][new_details][quantidade]&quot; step=&quot;1&quot; type=&quot;number&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;show-for-medium-up small-2 columns end&quot;&gt;
&lt;div class=&quot;input float optional order_details_total&quot;&gt;&lt;label class=&quot;float optional control-label&quot; for=&quot;order_details_attributes_new_details_total&quot;&gt;Total&lt;/label&gt;&lt;input class=&quot;numeric float optional total_ror&quot; id=&quot;order_details_attributes_new_details_total&quot; name=&quot;order[details_attributes][new_details][total]&quot; step=&quot;any&quot; type=&quot;number&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;small-1 columns end&quot;&gt;
&lt;input id=&quot;order_details_attributes_new_details__destroy&quot; name=&quot;order[details_attributes][new_details][_destroy]&quot; type=&quot;hidden&quot; value=&quot;false&quot; /&gt;&lt;a class=&quot;button tiny alert remove_fields dynamic&quot; href=&quot;#&quot;&gt;-&lt;/a&gt;
&lt;/div&gt;
&lt;hr/&gt;
&lt;/div&gt;
&lt;/div&gt;
" data-association="detail" data-associations="details" href="#">+ ítens</a>
<br />
<br />
<br />
</div>
</div>
</div>
<div class="row">
<div class="small-6 medium-2 columns">
<input class="button" name="commit" type="submit" value="Salvar" />
</div>
<div class="small-6 medium-2 columns end">
<a class="button alert" href="/orders">Cancelar</a>
</div>
</div>
</form>
<a href="/orders">Listar Pedidos</a>
<div id="endOfPage">&nbsp;</div>
</div>
</div>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment