252 lines
8.6 KiB
Plaintext
252 lines
8.6 KiB
Plaintext
.qi_header
|
|
.right
|
|
=link_to ic(:plus)+" Demande de commande", admin_p_customers_path(:offre => true), :class => "btn btn-primary btn-ap-add"
|
|
= breadcrumb
|
|
|
|
|
|
.qi_search_row
|
|
=form_tag "", :method => "get", :onsubmit => "" do
|
|
-params[:search] =params[:search] || {}
|
|
|
|
|
|
%table
|
|
%tr
|
|
|
|
-if false #!current_admin.p_commercial
|
|
%td
|
|
Commercial :
|
|
=select_tag "search[p_commercial_id]", options_for_select([["",""],["Aucun","null"]]+PCommercial.order(:name).all.map{|a| [a.member_label, a.id]}, params[:search][:p_commercial_id])
|
|
|
|
%td
|
|
Statut :
|
|
=select_tag "search[state]", options_for_select([["",""]]+PCustomerSheet.select(:state).group(:state).all.map{|a| [a.state, a.state]}, params[:search][:state])
|
|
|
|
%td
|
|
Numéro d'offre :
|
|
%td
|
|
=text_field_tag "search[cc_com_counter]", params[:search][:cc_com_counter],:class => "form-control"
|
|
%table
|
|
%tr
|
|
%td Date de commande
|
|
%td
|
|
Début
|
|
%td
|
|
.input-group
|
|
=text_field_tag :start, params[:start],:class => "form-control datepicker", :placeholder => "Début"
|
|
%span.input-group-addon.btn{:onclick => "$(this).prev('input').val('');"}
|
|
=ic(:times)
|
|
|
|
%td
|
|
Fin
|
|
%td
|
|
.input-group
|
|
=text_field_tag :stop, params[:stop],:class => "form-control datepicker", :placeholder => "Fin"
|
|
%span.input-group-addon.btn{:onclick => "$(this).prev('input').val('');"}
|
|
=ic(:times)
|
|
|
|
|
|
%tr
|
|
%td{:style =>"padding-right:10px;"} Date de livraison souhaitée
|
|
%td
|
|
Début
|
|
%td
|
|
.input-group
|
|
=text_field_tag :wish_date_start, params[:wish_date_start],:class => "form-control datepicker", :placeholder => "Début"
|
|
%span.input-group-addon.btn{:onclick => "$(this).prev('input').val('');"}
|
|
=ic(:times)
|
|
|
|
%td
|
|
Fin
|
|
%td
|
|
.input-group
|
|
=text_field_tag :wish_date_stop, params[:wish_date_stop],:class => "form-control datepicker", :placeholder => "Fin"
|
|
%span.input-group-addon.btn{:onclick => "$(this).prev('input').val('');"}
|
|
=ic(:times)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=render :partial => "qi/qi_ordered_table_search_footer", :locals => {:collection_object => @p_customer_sheets}
|
|
.qi_kpi
|
|
-params[:active_kpi] = [] if params[:active_kpi].to_s == ""
|
|
|
|
|
|
|
|
-[["brouillon", "Brouillon", "#ffc107"], ["commande", "Commande", "#fd7e14"], ["en livraison", "En livraison", "#28a745"], ["facturée", "Facturée", "#3B7DDD"]].each do |state| #,["refusée", "Refusée", "#dc3545"]
|
|
-p_customer_sheets = @p_customer_sheets.where(:state => state[0])
|
|
|
|
-if p_customer_sheets.count > 0
|
|
=link_to params.permit!.merge({:active_kpi => (["commandes-#{state[0]}"]).uniq,:p_customer_sheet_ids => p_customer_sheets.ids}), :class => ("active" if params[:active_kpi].include?("commandes-#{state[0]}")) do
|
|
.kpi{:style => "background:#{state[2]};"}
|
|
.number
|
|
-if params[:kg]
|
|
=number_with_delimiter(p_customer_sheets.sum(:cc_weight_tot).to_i, :delimiter => " ", :separator => ",")
|
|
Kg
|
|
|
|
-else
|
|
=number_to_currency (p_customer_sheets.sum(:cc_tot_amount_ht))
|
|
|
|
.label
|
|
|
|
.desc
|
|
=p_customer_sheets.count
|
|
commandes avec le statut
|
|
='"'+state[1].to_s+'"'
|
|
|
|
|
|
|
|
-price_documents = PriceDocument.where(:price_document_type => [4]).where(:ref_element_type => "PCustomerSheet", :ref_element_id => @all_p_customer_sheets.ids).where(:cc_solded => false)
|
|
|
|
|
|
=link_to admin_price_documents_path(:start => Date.today.beginning_of_year.strftime('%d/%m/%Y'), :stop => Date.today.end_of_year.strftime('%d/%m/%Y'), :price_document_type_ids => [4], :search => {:cc_solded => "Non"}) do
|
|
.kpi{:style => "background:#f6c143;"}
|
|
|
|
.number
|
|
-if params[:kg]
|
|
=number_with_delimiter(price_documents.sum(:cc_weight_tot).to_i, :delimiter => " ", :separator => ",")
|
|
Kg
|
|
|
|
-else
|
|
=number_to_currency (price_documents.sum(:cc_tot_amount_ht))
|
|
|
|
|
|
.label
|
|
|
|
.desc
|
|
=price_documents.count
|
|
factures restantes à payer
|
|
|
|
|
|
-price_documents = PriceDocument.where(:price_document_type => [4]).where(:ref_element_type => "PCustomerSheet", :ref_element_id => @all_p_customer_sheets.ids).where(:cc_solded => false).where("cc_payment_end_at < ?", Date.today)
|
|
|
|
|
|
=link_to admin_price_documents_path(:start => Date.today.beginning_of_year.strftime('%d/%m/%Y'), :stop => Date.today.end_of_year.strftime('%d/%m/%Y'), :price_document_type_ids => [4], :stop_cc_payment_end_at => (Date.today - 1.day).strftime('%d/%m/%Y'), :search => {:cc_solded => "Non"}) do
|
|
|
|
.kpi.no_left_margin{:style => "background:#dd6b5a;"}
|
|
|
|
.number
|
|
-if params[:kg]
|
|
=number_with_delimiter(price_documents.sum(:cc_weight_tot).to_i, :delimiter => " ", :separator => ",")
|
|
Kg
|
|
|
|
-else
|
|
=number_to_currency (price_documents.sum(:cc_tot_amount_ht))
|
|
|
|
.label
|
|
|
|
.desc
|
|
dont
|
|
=price_documents.count
|
|
factures en retard de paiement
|
|
|
|
-price_documents = PriceDocument.where(:price_document_type => [4]).where(:ref_element_type => "PCustomerSheet", :ref_element_id => @all_p_customer_sheets.ids).where(:cc_solded => true).where("cc_payment_end_at < ?", Date.today)
|
|
|
|
|
|
=link_to admin_price_documents_path(:start => Date.today.beginning_of_year.strftime('%d/%m/%Y'), :stop => Date.today.end_of_year.strftime('%d/%m/%Y'), :price_document_type_ids => [4], :stop_cc_payment_end_at => (Date.today - 1.day).strftime('%d/%m/%Y'), :search => {:cc_solded => "Oui"}) do
|
|
|
|
.kpi.no_left_margin{:style => "background:#57a36d;"}
|
|
|
|
.number
|
|
-if params[:kg]
|
|
=number_with_delimiter(price_documents.sum(:cc_weight_tot).to_i, :delimiter => " ", :separator => ",")
|
|
Kg
|
|
|
|
-else
|
|
=number_to_currency (price_documents.sum(:cc_tot_amount_ht))
|
|
|
|
.label
|
|
|
|
.desc
|
|
=price_documents.count
|
|
factures réglées
|
|
|
|
|
|
.clear
|
|
|
|
-if params[:p_customer_sheet_ids].to_s != ""
|
|
.custom_customers
|
|
Affichage des résultats spécifiques pour
|
|
=params[:p_customer_sheet_ids].size
|
|
commande(s)
|
|
|
|
="-"
|
|
=link_to ic(:times)+" Supprimer ce filtre", params.permit!.merge({ :active_kpi => nil, :p_customer_sheet_ids => nil})
|
|
|
|
%div
|
|
=form_tag export_xls_admin_p_customer_sheets_path(format: :csv), id: 'export-form', :method => "get" do
|
|
.table
|
|
=render :partial => "qi/qi_ordered_table", :locals => {:qi_ordered_table_collection => @p_customer_sheets}
|
|
|
|
%button.btn.btn-primary.ml-4{onclick: "checkMultipleClient()"}
|
|
=ic("file-excel-o")
|
|
Export xls
|
|
.modal.fade#multi-client-export{"tab-index" => "-1", "role" => "dialog", "aria-labelledby" => "Raprochement Fournisseur", "aria-hidden" => "true"}
|
|
.modal-dialog{role: "dialog"}
|
|
.modal-content
|
|
.modal-header
|
|
%h5.modal-title
|
|
Export Excel
|
|
%button.close{"data-dismiss" => "modal", "aria-label" => "Close"}
|
|
%span{"aria-hidden" => "true"}
|
|
×
|
|
.modal-body
|
|
Attention !
|
|
%br
|
|
%br
|
|
Selection de plusieurs clients détéctée
|
|
%br
|
|
Vous avez selectionné des commandes liées à différents clients.
|
|
%br
|
|
Etes-vous sûr ?
|
|
|
|
.modal-footer
|
|
%button.btn.btn-light{"data-dismiss" => "modal"}
|
|
Annuler l'export
|
|
%button.btn.btn-primary{"data-dismiss" => "modal", onclick: "submitExport()"}
|
|
=ic("file-excel-o")
|
|
Confirmer
|
|
|
|
:javascript
|
|
$("#check-all").parent().on("click", function(event) {
|
|
console.log(event.currentTarget)
|
|
event.currentTarget.classList.toggle("checked")
|
|
if(event.currentTarget.classList.contains("checked")){
|
|
$('.table input[type=checkbox]').prop("checked", true)
|
|
}else{
|
|
$('.table input[type=checkbox]').prop("checked", false)
|
|
}
|
|
})
|
|
|
|
"#dataTable tbody tr"
|
|
function submitExport() {
|
|
$('#export-form').submit()
|
|
}
|
|
|
|
function checkDiff(arr) {
|
|
return arr.every(e => e == arr[0]);
|
|
}
|
|
|
|
const checkMultipleClient = () => {
|
|
let arr = []
|
|
$('.table input[type=checkbox]').each(function( i ) {
|
|
if ( this.checked === true)
|
|
arr.push($(this).data('client'))
|
|
})
|
|
if (checkDiff(arr) === false) {
|
|
$('#multi-client-export').modal('show')
|
|
} else {
|
|
submitExport()
|
|
}
|
|
}
|
|
|
|
|
|
:scss
|
|
th > i {
|
|
cursor: pointer;
|
|
}
|
|
|
|
|