templates/projet/document/document-form.html.twig line 1

Open in your IDE?
  1. {% if document is not defined %}
  2.     {% set document = document_vierge %}
  3. {%  endif %}
  4. {% if app_logo is not defined %}
  5.     {% set app_logo = societe.logo_path %}
  6. {%  endif %}
  7. <input class="id-document" type="number" value="{% if document.getId is not null %}{{ document.getId }}{% else %}0{% endif %}" style="display: none">
  8. <input class="id-projet" type="number" value="{{ document.getProjet.getId }}" style="display: none">
  9. <input class="type-document" type="text" value="{{ document.getTypeDocument }}" style="display: none">
  10. <div class="row font-boston">
  11.     <div class="col-12 col-sm-12 col-md-12 col-lg-10">
  12.         <div class="card card-bordered">
  13.             <div class="card-header">
  14.                 <div class="row">
  15.                     <div class="col-12 text-center">
  16.                         <h5>{{ document.getTypeDocument }}</h5>
  17.                     </div>
  18.                 </div>
  19.                 <div class="row">
  20.                     <div class="col-6">
  21.                         <img class="brand-logo" alt="logo-societe" src="{{ asset('build/images/logo/' ~ app_logo ) }}" height="75">
  22.                         <p>{{ societe.rue }} - {{ societe.code_postal }} {{ societe.ville }}</p>
  23.                         <p>{{ societe.telephone }}</p>
  24.                         <p>{{ societe.site_web }}</p>
  25.                     </div>
  26.                     <div class="col-6 text-right mt-3">
  27.                         <div class="row">
  28.                             <div class="col-4">
  29.                                 <p>{{ document.getTypeDocument|replace({' PROFORMA': ''}) }} N° :</p>
  30.                             </div>
  31.                             <div class="col-8">
  32.                                 <p>{{ document.getNumPiece }}</p>
  33.                             </div>
  34.                         </div>
  35.                         <div class="row mt-1">
  36.                             <div class="col-4">
  37.                                 <p>Date :</p>
  38.                             </div>
  39.                             <div class="col-8">
  40. {#                                <p>{{ document.getDateCrea|date('d/m/Y') }}</p>#}
  41.                                 <input type="date" class="input-date-crea-document"
  42.                                        style="border: 0; border-bottom: 1px solid lightgrey; width: 100px"
  43.                                        value="{{ document.getDateCrea|date('Y-m-d') }}">
  44.                                 <i class="fa fa-check text-success ico-saved-date-crea" style="display: none"></i>
  45.                                 <i class="fa fa-pencil text-warning ico-writing-date-crea" style="display: none"></i>
  46.                             </div>
  47.                         </div>
  48.                         <div class="row mt-1">
  49.                             <div class="col-4">
  50.                                 <p>Client :</p>
  51.                             </div>
  52.                             <div class="col-8 div-btn-client">
  53.                                 <button class="btn-client btn btn-outline-dark btn-block text-right" style="padding: 0; border-color: lightgrey;">{{ document.getTiers.getLibSociete }}</button>
  54.                             </div>
  55.                             <div class="col-8 div-select-client" style="display: none">
  56.                                 <select class="select-client-document select2 form-control select2-hidden-accessible"></select>
  57.                             </div>
  58.                         </div>
  59.                         <div class="row mt-1">
  60.                             <div class="col-4">
  61.                                 <p>Adresse :</p>
  62.                             </div>
  63.                             <div class="col-8">
  64.                                 <select class="adresse-document" style="border: 0; border-bottom: 1px solid lightgrey;">
  65.                                     {% for adresse in document.getTiers.serializeAdresse %}
  66.                                         <option value="{{ adresse.id_adresse }}" {% if adresse.id_adresse == document.getAdresse.getId %}selected{% endif %}>{{ adresse.lib_adresse }}</option>
  67.                                     {% endfor %}
  68.                                 </select>
  69.                             </div>
  70.                         </div>
  71.                         <div class="row mt-1">
  72.                             <div class="col-12 label-adresse">
  73.                                 <p>{{ document.getAdresse.getLigne1 }}</p>
  74.                                 <p>{{ document.getAdresse.getLigne2 }}</p>
  75.                                 <p>{{ document.getAdresse.getCodePostal }} {{ document.getAdresse.getVille }}</p>
  76.                                 <p>{{ document.getAdresse.getPays }}</p>
  77.                             </div>
  78.                         </div>
  79.                     </div>
  80.                 </div>
  81.                 <div class="row">
  82.                     <div class="col-6">
  83.                         <div class="row">
  84.                             <div class="col-4">
  85.                                 <p>Projet :</p>
  86.                             </div>
  87.                             <div class="col-8">
  88.                                 {% set lib_projet = document.getProjet.getLibProjet %}
  89.                                 {% if document.libProjet != null %} {% set lib_projet = document.libProjet %} {% endif %}
  90.                                 <input type="text" class="input-lib-projet-document"
  91.                                        style="border: 0; border-bottom: 1px solid lightgrey; width: 95%;"
  92.                                        value="{{ lib_projet }}"/>
  93.                                 <i class="fa fa-check text-success ico-saved-lib-projet" style="display: none"></i>
  94.                                 <i class="fa fa-pencil text-warning ico-writing-lib-projet" style="display: none"></i>
  95.                             </div>
  96.                         </div>
  97.                         <div class="row">
  98.                             <div class="col-4">
  99.                                 <p>Date BDC :</p>
  100.                             </div>
  101.                             <div class="col-8">
  102.                                 <input type="date" class="input-date-bdc-document"
  103.                                        style="border: 0; border-bottom: 1px solid lightgrey; width: 100px"
  104.                                        value="{{ document.getDateBdc|date('Y-m-d') }}">
  105.                                 <i class="fa fa-check text-success ico-saved-date-bdc" style="display: none"></i>
  106.                                 <i class="fa fa-pencil text-warning ico-writing-date-bdc" style="display: none"></i>
  107.                             </div>
  108.                         </div>
  109.                         <div class="row">
  110.                             <div class="col-4">
  111.                                 <p>N° commande :</p>
  112.                             </div>
  113.                             <div class="col-8">
  114.                                 <input type="text" class="input-reference-document"
  115.                                        style="border: 0; border-bottom: 1px solid lightgrey; width: 95%;"
  116.                                        value="{{ document.getReference }}"/>
  117.                                 <i class="fa fa-check text-success ico-saved-reference" style="display: none"></i>
  118.                                 <i class="fa fa-pencil text-warning ico-writing-reference" style="display: none"></i>
  119.                             </div>
  120.                         </div>
  121.                         <div class="row">
  122.                             <div class="col-4">
  123.                                 <p>Contact :</p>
  124.                             </div>
  125.                             <div class="col-8">
  126.                                 <input type="text" class="input-contact-document"
  127.                                        style="border: 0; border-bottom: 1px solid lightgrey; width: 95%;"
  128.                                        value="{{ document.getContact }}"/>
  129.                                 <i class="fa fa-check text-success ico-saved-contact" style="display: none"></i>
  130.                                 <i class="fa fa-pencil text-warning ico-writing-contact" style="display: none"></i>
  131.                             </div>
  132.                         </div>
  133.                     </div>
  134.                 </div>
  135.             </div>
  136.             <div class="col-12">
  137.                 <div class="table-responsive">
  138.                     <table class="table table-bordered">
  139.                         <thead>
  140.                             <tr>
  141.                                 <th>Désignation</th>
  142.                                 <th class="text-right">Qté</th>
  143.                                 <th class="text-right">PU HT</th>
  144.                                 <th class="text-right">Montant HT</th>
  145.                                 <th>Actions</th>
  146.                             </tr>
  147.                         </thead>
  148.                         <tbody>
  149.                             {% for ligne in document.getDocumentLignes %}
  150.                                 <tr class="tr-doc-ligne-visible">
  151.                                     <td>
  152.                                         {{ ligne.getLibelle }}<br>
  153.                                         <i>{{ ligne.getDescription }}</i>
  154.                                     </td>
  155.                                     <td class="text-right">{{ ligne.getQte }}</td>
  156.                                     <td class="text-right">{{ ligne.getPuht|format_euro }}</td>
  157.                                     <td class="text-right">{{ ligne.getMontantHt|format_euro }}</td>
  158.                                     <td class="text-center">
  159.                                         <a class="btn-edit-ligne-doc primary mr-1" style="font-size: 1.5rem"
  160.                                             data-id-ligne-doc="{{ ligne.getId }}">
  161.                                             <i class="fa fa-edit"></i>
  162.                                         </a>
  163.                                         <a class="btn-delete-ligne-doc danger mr-1" style="font-size: 1.5rem"
  164.                                             data-id-ligne-doc="{{ ligne.getId }}">
  165.                                             <i class="fa fa-trash-o"></i>
  166.                                         </a>
  167.                                     </td>
  168.                                 </tr>
  169.                                 <tr class="bg-light-primary tr-doc-ligne-hidden tr-doc-ligne-{{ ligne.getId }}" style="display: none">
  170.                                     <td>
  171.                                         <input class="input-update-libelle-ligne" type="text" style="border: 0; border-bottom: 1px solid lightgrey; width: 100%" placeholder="libellé" value="{{ ligne.getLibelle }}"/>
  172.                                         <textarea class="input-update-description-ligne" style="border: 0; border-bottom: 1px solid lightgrey; width: 100%" rows="3" placeholder="description">{{ ligne.getDescription }}</textarea>
  173.                                     </td>
  174.                                     <td class="text-right">
  175.                                         <input class="input-update-qte-ligne" type="number" style="border: 0; border-bottom: 1px solid lightgrey; width: 100px" value="{{ ligne.getQte }}"/>
  176.                                     </td>
  177.                                     <td class="text-right">
  178.                                         PU HT : <input class="input-update-puht-ligne" type="number" style="border: 0; border-bottom: 1px solid lightgrey; width: 100px" value="{{ ligne.getPuht }}"/>
  179.                                         <br>
  180.                                         Taux TVA :
  181.                                         <select class="input-update-taux-tva-ligne" style="border: 0; border-bottom: 1px solid lightgrey; width: 100px">
  182.                                             <option value="0.2" {% if ligne.getTauxTva == 0.2 %}selected{% endif %}>20%</option>
  183.                                             <option value="0" {% if ligne.getTauxTva == 0 %}selected{% endif %}>Sans TVA</option>
  184.                                         </select>
  185.                                     </td>
  186.                                     <td class="text-right label-montant-ht-ligne-update">{{ ligne.getMontantHt|format_euro }}</td>
  187.                                     <td class="text-center">
  188.                                         <a class="btn-update-ligne primary mr-1" style="font-size: 1.5rem" data-id-ligne-doc="{{ ligne.getId }}"><i class="fa fa-save"></i></a>
  189.                                     </td>
  190.                                 </tr>
  191.                             {% endfor %}
  192.                             {# INPUT LIGNE #}
  193.                             <tr>
  194.                                 <td>
  195.                                     <input class="input-libelle-ligne" type="text" style="border: 0; border-bottom: 1px solid lightgrey; width: 100%" placeholder="libellé"/>
  196.                                     <textarea class="input-description-ligne" style="border: 0; border-bottom: 1px solid lightgrey; width: 100%" rows="3" placeholder="description"></textarea>
  197.                                 </td>
  198.                                 <td class="text-right">
  199.                                     <input class="input-qte-ligne" type="number" style="border: 0; border-bottom: 1px solid lightgrey; width: 100px" value="1"/>
  200.                                 </td>
  201.                                 <td class="text-right">
  202.                                     PU HT : <input class="input-puht-ligne" type="number" style="border: 0; border-bottom: 1px solid lightgrey; width: 100px"/>
  203.                                     <br>
  204.                                     Taux TVA :
  205.                                     <select class="input-taux-tva-ligne" style="border: 0; border-bottom: 1px solid lightgrey; width: 100px">
  206.                                         <option value="0.2" selected>20%</option>
  207.                                         <option value="0">Sans TVA</option>
  208.                                     </select>
  209.                                 </td>
  210.                                 <td class="text-right label-montant-ht-ligne">0,00 €</td>
  211.                                 <td class="text-center"><a class="btn-add-ligne-to-doc primary mr-1" style="font-size: 1.5rem"><i class="fa fa-plus-square"></i></a></td>
  212.                             </tr>
  213.                             {# INPUT LIGNE #}
  214.                         </tbody>
  215.                         <tfoot>
  216.                             <tr>
  217.                                 <td class="text-right" colspan="4">{{ document.getMontantHT|format_euro }}</td>
  218.                                 <th class="text-right">Total HT</th>
  219.                             </tr>
  220.                             {% for tva in document.getVentilationTVA %}
  221.                                 <tr>
  222.                                     <td class="text-right" colspan="4">{{ tva.montant_tva|format_euro }}</td>
  223.                                     <td class="text-right">TVA {{ tva.taux_tva }}%</td>
  224.                                 </tr>
  225.                             {% endfor %}
  226.                             <tr>
  227.                                 <td class="" colspan="3">
  228.                                     <input type="text" class="input-condition-reglement-document"
  229.                                            style="border: 0; border-bottom: 1px solid lightgrey; width: 95%;"
  230.                                            placeholder="le client n'a pas de conditions de réglement enregistrées"
  231.                                            value="{% if document.getConditionReglement is not null %}{{ document.getConditionReglement }}{% else %}{{ document.getTiers.getConditionReglement }}{% endif %}"/>
  232.                                     <i class="fa fa-check text-success ico-saved-condition-reglement" style="display: none"></i>
  233.                                     <i class="fa fa-pencil text-warning ico-writing-condition-reglement" style="display: none"></i>
  234.                                 </td>
  235.                                 <td class="text-right">{{ (document.getMontantHT + document.getMontantTVA)|format_euro }}</td>
  236.                                 <th class="text-right">Total TTC</th>
  237.                             </tr>
  238.                         </tfoot>
  239.                     </table>
  240.                 </div>
  241.             </div>
  242.             <div class="card-footer text-center">
  243.                 <p>
  244.                     {{ societe.lib_societe }}, {{ societe.rue }} - {{ societe.code_postal }} {{ societe.ville }}<br>
  245.                     {{ societe.statut }} au capital de {{ societe.capital }} Euros /
  246.                     Code APE - {{ societe.code_ape }} /
  247.                     {{ societe.registre_commerce }} {{ societe.siret }}
  248.                 </p>
  249.             </div>
  250.         </div>
  251.     </div>
  252.     <div class="col-12 col-sm-12 col-md-12 col-lg-2">
  253.         <div class="card card-bordered">
  254.             <div class="card-body">
  255.                 <button type="button" class="btn btn-primary btn-back-doc btn-block" style="display: none">Retour</button>
  256.                 <button type="button" class="btn btn-primary btn-print-doc btn-block" data-id-doc="{{ document.getId }}">Imprimer</button>
  257.                 <button type="button" class="btn btn-danger btn-cancel-doc btn-block">{{ label_btn_cancel }}</button>
  258.                 <button type="button" class="btn btn-success btn-valid-doc btn-block">Valider</button>
  259.             </div>
  260.         </div>
  261.     </div>
  262. </div>