coton_app/app/views/admin/p_documents/_form.html.haml
2019-07-04 15:37:22 +02:00

188 lines
4.8 KiB
Plaintext
Executable File

=semantic_form_for [:admin, @avoir], :url => save_avoir_admin_p_document_path() ,:remote => false, :html => {:id => "cart_form"} do |form|
= form.hidden_field :label
= form.hidden_field :doc_ref_id
= form.hidden_field :doc_ref_number
= form.hidden_field :p_document_type_id
= form.hidden_field :element_type
= form.hidden_field :element_id
.content
%h3 Client
=form.inputs do
= form.hidden_field :p_customer_id, :class => "p_customer_id"
.addresses.row
.columns.span_6
%h3 Adresse de facturation
-if @avoir.p_customer
=form.inputs do
= form.input :particular_bill_id, :collection => @avoir.p_customer.particulars.all, :as => :select, :member_label => :address_line, :include_blank => false, :label => "Adresse de facturation"
-else
=form.inputs do
= form.input :particular_bill_id, :collection => [], :as => :select, :include_blank => false, :label => "Adresse de facturation"
.columns.span_6
%h3 Adresse de livraison
-if @avoir.p_customer
=form.inputs do
= form.input :particular_send_id, :collection => @avoir.p_customer.particulars.all, :as => :select, :member_label => :address_line, :include_blank => false, :label => "Adresse de livraison"
-else
=form.inputs do
= form.input :particular_send_id, :collection => [], :as => :select, :include_blank => false, :label => "Adresse de facturation"
.clear
= form.input :cust_ref, :label => "Référence commande client :"
.p_sheet_lines_form
=form.semantic_fields_for :p_sheet_lines do |form|
=render :partial => "admin/p_sheet_lines/avoir_form", :locals => {:form => form}
=#%p= link_to_add_fields "Ajouter une ligne", form, :p_sheet_lines
%table{:style => "width:100%;"}
%td{:style => "text-align:right;"}
Total HT articles :
%td.price_td
.price_emp.p_sheet_lines_tot_ht
= form.input :fdp_force_price, :label => "Frais de port :" , :input_html => {:id => "fdp_value"}
-if true
%p
%strong Totaux
%table{:style => "width:100%;"}
%td{:style => "text-align:right;"}
Total HT :
%td.price_td
.price_emp.p_sheet_lines_tot_ht_fdp
%table{:style => "width:100%;"}
%td{:style => "text-align:right;"}
TVA :
%td.price_td
.price_emp.p_sheet_lines_tot_tva
%table{:style => "width:100%;"}
%td{:style => "text-align:right;"}
Total TTC :
%td.price_td
.price_emp.p_sheet_lines_tot_ttc
.right.actions=form.submit "sauvegarder", :class => "btn btn-primary"
.clear
:scss
.price_emp{
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857;
color: #555555;
height:34px;
}
.price_td{
width:170px;
text-align:right;
}
:scss
.product_stock_form{
td{
vertical-align:top;
.form-control, .form-group{
margin-bottom:0}
}
}
:coffeescript
tva = 1.2
@update_sheet_line_tot = ->
tot_sheet = 0.0
$(".p_sheet_lines_form").find(".product_stock_form").each ->
tot = 0.0
tot = parseFloat($(this).find(".price_tot").data("price"))
tot_sheet += tot
$(".p_sheet_lines_tot_ht").html(accounting.formatMoney(tot_sheet))
fdp = parseFloat($("#fdp_value").val())
fdp = fdp || 0.0
tot_sheet_fdp = (tot_sheet + fdp)
$(".p_sheet_lines_tot_ht_fdp").html(accounting.formatMoney(tot_sheet_fdp))
$(".p_sheet_lines_tot_tva").html(accounting.formatMoney(tot_sheet_fdp*(tva-1.0)))
$(".p_sheet_lines_tot_ttc").html(accounting.formatMoney(tot_sheet_fdp*tva))
#alert(tot_sheet)
@udpate_sheet_lines = ->
$(".p_sheet_line_field").each ->
price = parseFloat($(this).find(".price").find("input").val())
price_tot = 0
qte_tot = 0
$(this).find(".color_line").each ->
qte = 0
$(this).find("input.qte").each ->
qte += parseFloat($(this).val()) if parseFloat($(this).val())
price_color = qte * price
$(this).find(".price_color_tot").html(accounting.formatMoney(price_color))
$(this).find(".qte_color_tot").html(qte)
qte_tot += qte
$(this).find(".qte_tot").html(qte_tot)
$(this).find(".price_tot").html(accounting.formatMoney(qte_tot*price))
$(this).find(".price_tot").attr("data-price",qte_tot*price)
$(this).find(".price_tot").data("price",qte_tot*price)
:coffeescript
udpate_sheet_lines()
update_sheet_line_tot()
$("#cart_form").change ->
udpate_sheet_lines()
update_sheet_line_tot()
$("#cart_form").keyup ->
udpate_sheet_lines()
update_sheet_line_tot()