marquez votre différence

CALCUL

Configurateur Devis Textile — Rouge Oxyde
DEV-202504-001
1
Informations client
Adresse
Projet
2
Articles textile
Plusieurs références / coloris possibles
💡 Ajoute autant d'articles que nécessaire. Le prix fournisseur est confidentiel et n'apparaît jamais sur le devis client.
3
Surfaces de marquage & logos
1 bloc = 1 emplacement + 1 logo
4
Frais divers & notes
📊 Récapitulatif
Client
Non renseigné
Articles textile
Aucun article
Quantité totale 0 pcs
Textile HT 0,00 €
Marquages
Aucun marquage
Marquages HT 0,00 €
Autres
Graphisme0,00 €
Livraison0,00 €
Sous-total HT 0,00 €
TVA 20 % 0,00 €
Total TTC
0,00 €
TVA 20 % incluse
— €/pièce
🔒 Catalogue fournisseur
Références internes · non visibles sur le devis
`, totals:{tHT,mHT,livr,graph,sht,tva,ttc,puTtc,qty}, client:cl, numDev }; }// ══════════════════════════════════════════════════════ // GÉNÉRATION PDF — impression dans nouvel onglet // ══════════════════════════════════════════════════════ function genPDF(){ saveDevis(); const {html,numDev}=buildDevisHtml(false); const win=window.open('','_blank','width=960,height=780'); if(!win){alert('Autorisez les popups pour générer le PDF.');return;} win.document.title=numDev||'Devis Rouge Oxyde'; win.document.write(html); win.document.close(); win.focus(); setTimeout(()=>{ win.print(); setTimeout(()=>{if(win&&!win.closed)win.close();},3000); },600); }// ══════════════════════════════════════════════════════ // ENVOI PAR EMAIL — ouvre le client mail avec le devis // ══════════════════════════════════════════════════════ function envoyerEmail(){ const data=getFormData(); const cl=data.client; const qty=totalQty(); const {totals,numDev}=buildDevisHtml(false); const {ttc,puTtc,sht}=totals;const dest=cl.email||''; const sujet=encodeURIComponent(`Devis textile N° ${numDev} — Rouge Oxyde`);const corps=encodeURIComponent( `Bonjour ${cl.contact||cl.org||''},Veuillez trouver ci-joint votre devis de textile personnalisé.━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DEVIS N° ${numDev} Rouge Oxyde — Agence de communication, Gravelines ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━📦 Quantité totale : ${qty} pièces 💰 Sous-total HT : ${f2(sht)} € 📋 TOTAL TTC : ${f2(ttc)} €${qty>0?' (soit '+f2(puTtc)+' € TTC/pièce)':''}Ce devis est valable 30 jours.Pour valider ce devis, il vous suffit de nous retourner ce mail avec votre accord, ou de signer et nous renvoyer le document joint.━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔴 Prochaines étapes : 1. Validation du devis (par email ou signature) 2. Envoi de votre fichier logo vectoriel (.ai, .eps ou .pdf) 3. Acompte de 30 % à la commande 4. Validation du bon à tirer avant production 5. Livraison sous 10 à 15 jours ouvrés ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━⚠️ IMPORTANT : Le détail complet du devis (articles, marquages, conditions) vous est transmis en pièce jointe PDF. Merci de l'imprimer via le bouton "Générer le devis PDF" de notre configurateur et de le joindre à cet email.Cordialement,Johan CAUCHE Rouge Oxyde — Agence de communication 📞 06 51 36 12 18 📧 rougeoxyde@gmail.com 📍 4 Rue Gustave Flaubert · 59820 Gravelines 🌐 rougeoxyde.fr`);// Ouvrir le client mail const mailtoLink=`mailto:${dest}?subject=${sujet}&body=${corps}`; window.location.href=mailtoLink;// Instructions pour joindre le PDF setTimeout(()=>{ const ok=confirm('Votre application mail va s\'ouvrir.\n\nN\'oubliez pas de :\n1. Joindre le PDF du devis (généré avec le bouton "Générer le devis PDF")\n2. Vérifier l\'adresse email du client\n\nCliquer OK pour ouvrir aussi le PDF ?'); if(ok)genPDF(); },500); }// ══════════════════════════════════════════════════════ // RESET // ══════════════════════════════════════════════════════ function resetAll(){ if(!confirm('Effacer ce devis et en créer un nouveau ?'))return; arts=[];marqs=[];aC=0;mC=0; ['c-org','c-contact','c-adr','c-cp','c-ville','c-email','c-tel','notes'].forEach(id=>{ const el=g(id);if(el)el.value=''; }); g('c-pays').value='France'; g('f-livr').value='0';g('f-graph').value='0'; // Incrémenter le numéro de devis const cur=g('devis-num').textContent; const parts=cur.split('-'); const newNum=parseInt(parts[parts.length-1]||'0')+1; parts[parts.length-1]=String(newNum).padStart(3,'0'); g('devis-num').textContent=parts.join('-'); addArt();addMarq();upd(); }
Retour en haut