176 lines
5.3 KiB
Plaintext
176 lines
5.3 KiB
Plaintext
.qi_header
|
|
%h1
|
|
Achats
|
|
%span
|
|
Analyse des réponces à la consiltation n°
|
|
= link_to @price_document.d_number, admin_price_document_path(@price_document)
|
|
\-
|
|
= @price_document.list_designaton
|
|
|
|
|
|
|
|
.qi_pannel.padding.new_table_container
|
|
.table-slider
|
|
.inner
|
|
|
|
.table-area{:style => "overflow:auto;"}
|
|
.table-area-inner
|
|
.freezeTable
|
|
%table.table.table-striped.table-hover.table-bordered.data_table
|
|
%thead.header
|
|
%tr
|
|
-nb_resp = @price_document_responses.count
|
|
%th{colspan: 12}
|
|
Consultation
|
|
%th{colspan: nb_resp}
|
|
Fournisseurs
|
|
|
|
%tr
|
|
%th
|
|
Qté à
|
|
%br
|
|
satisfaire
|
|
%th
|
|
Qté consultée
|
|
%th
|
|
Produit
|
|
%th
|
|
Référence
|
|
%th
|
|
Couleur
|
|
%th
|
|
Type
|
|
%br
|
|
chargeur
|
|
%th
|
|
Target hors
|
|
%br
|
|
Sorecop
|
|
%th
|
|
Px d'achat
|
|
%br
|
|
référence
|
|
%th
|
|
Marge
|
|
%br
|
|
théorique
|
|
%br
|
|
référence
|
|
%br
|
|
par zone
|
|
%th
|
|
Fours.
|
|
%br
|
|
de référence
|
|
%th
|
|
Date
|
|
%br
|
|
px référence
|
|
%th.limit
|
|
Spec
|
|
|
|
-@price_document_responses.each do |resp|
|
|
%th
|
|
=resp.p_fournisseur.name
|
|
|
|
|
|
%tbody
|
|
-price_lines = @price_document.price_line_block.price_lines
|
|
-consult_price_lines = @price_document.price_line_block.price_lines
|
|
-price_lines.each do |price_line|
|
|
%tr
|
|
%td
|
|
=# ATTENTION ! On a plus accès direct aux commandes qui on engendré cette demande de prix. donc plus accès aux délais différent entre les différentes commades pour une ref donée
|
|
∑
|
|
=price_line.qte.to_i
|
|
%br
|
|
- if price_line.cc_wish_date.present? && price_line.cc_wish_date < Date.today + 10.days
|
|
%span.red
|
|
=ic(:fire)
|
|
=price_line.qte.to_i
|
|
- else
|
|
%span.darkblue
|
|
=ic(:hourglass)
|
|
=price_line.qte.to_i
|
|
%td.ref_tr
|
|
Qté en comm
|
|
%td
|
|
= price_line.p_product_ref.p_product.name
|
|
%td
|
|
=link_to [:admin, price_line.p_product_ref] do
|
|
= price_line.p_product_ref.ct_sub_name
|
|
= price_line.p_product_ref.p_product_color.name
|
|
|
|
%td
|
|
= price_line.p_product_ref.p_product_color.color if price_line.p_product_ref and price_line.p_product_ref.p_product_color
|
|
%td
|
|
= price_line.p_product_power.name if price_line.p_product_power
|
|
%td
|
|
/ Target hors Sorecop
|
|
%td
|
|
/ Px d'achat de référence
|
|
%td
|
|
/ Marge théorique de référence par zone
|
|
%td
|
|
/ Fournisseurs de référence
|
|
%td
|
|
/ Date du px de référence
|
|
%td
|
|
/ spec
|
|
- @price_document_responses.each do |resp|
|
|
-line = resp.price_line_block.price_lines.where(p_product_ref: price_line.p_product_ref).first
|
|
-cell = []
|
|
|
|
- if line.qte_available.to_i > 0
|
|
-if line.qte_available >= price_line.qte.to_i
|
|
- cell << "Qté dispo : #{line.qte_available.to_i}"
|
|
-else
|
|
- cell << "#{ic(:warning, class: "orange")} Qté dispo : #{line.qte_available.to_i} (#{line.qte_available.to_i - price_line.qte.to_i})"
|
|
- cell << "PA: #{line.ct_u_price_ht} €"
|
|
- # mp = calcul de la marge prévisionelle TODO
|
|
- line.id.odd? ? mp = 0.17 : mp = 0.11
|
|
-cell << line.id.odd?
|
|
- if mp.present?
|
|
-if mp > 0.15
|
|
- cell << "<span class=green>#{ic(:check)} MP: #{mp * 100} %</span>"
|
|
-else
|
|
- cell << "#{ic(:times, class: "red")} MP: #{mp * 100} %"
|
|
-else
|
|
- cell << "<span class=red>pas dispo</span>"
|
|
-if line.comment.present?
|
|
- cell << "<span class=darkgrey>#{ic('info-circle')} #{line.comment}</span>"
|
|
%td
|
|
=sanitize(cell.join('<br>'))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:scss
|
|
.limit {
|
|
border-right:3px solid green !important;
|
|
}
|
|
|
|
.red {
|
|
color: red;
|
|
}
|
|
.green {
|
|
color: green;
|
|
}
|
|
.orange {
|
|
color: orange;
|
|
}
|
|
.darkgrey {
|
|
color: #darkgrey;
|
|
}
|
|
.darkblue {
|
|
color: darkblue;
|
|
}
|
|
|
|
.small-input {
|
|
max-width: 100px;
|
|
}
|