K-secret

Chatea con nosotros
'],{type:'application/vnd.ms-excel'}); const url=URL.createObjectURL(blob),a=document.createElement('a'); a.href=url;a.download='cotizacion_shein_armonia.xls';document.body.appendChild(a);a.click();a.remove();URL.revokeObjectURL(url); }async function imageToDataURL(url){ return new Promise((resolve,reject)=>{ const img=new Image(); img.crossOrigin='anonymous'; img.onload=()=>{ const c=document.createElement('canvas'); c.width=img.naturalWidth;c.height=img.naturalHeight; c.getContext('2d').drawImage(img,0,0); try{resolve(c.toDataURL('image/jpeg',0.92))}catch(e){reject(e)} }; img.onerror=reject; img.src=url; }); }async function exportPdf(){ const {jsPDF}=window.jspdf; const doc=new jsPDF('l','pt','a4'); const rows=gather(),tc=num($('#sc-tc').val()),tax=num($('#sc-impuesto').val()),count=rows.reduce((s,r)=>s+r.cant,0);// Header border doc.setDrawColor(161,15,58); doc.setLineWidth(1); doc.roundedRect(24,18,794,78,10,10);// Logo try{ const logoData=await imageToDataURL(window.ArmoniaSheinLogo); doc.addImage(logoData,'JPEG',38,29,56,56); }catch(e){}doc.setTextColor(161,15,58); doc.setFont('helvetica','bold'); doc.setFontSize(18); doc.text('ARMONÍA',108,51); doc.setTextColor(245,138,0); doc.text('SHOP',132,72);doc.setTextColor(161,15,58); doc.setFontSize(28); doc.text('PEDIDOS SHEIN',350,48,{align:'center'});doc.setTextColor(35,35,35); doc.setFontSize(8.5); doc.setFont('helvetica','normal'); doc.text('Sanchez Lima 2206 esquina Fernando Guachalla,',565,36); doc.text('Sopocachi, La Paz, Bolivia',565,48); doc.text('WhatsApp: 70549481',565,62); doc.text('Lunes a viernes de 3 a 7 pm',565,76);// Rate strip doc.setDrawColor(245,138,0); doc.roundedRect(280,104,300,24,10,10); doc.setFontSize(10); doc.setTextColor(40,40,40); doc.text('Tipo de cambio aplicado: Bs '+fmt(tc)+'/USD | Importación: '+fmt(tax)+'%',430,120,{align:'center'});// Client card: 2 rows x 2 columns doc.setDrawColor(205,170,185); doc.roundedRect(24,136,794,72,8,8); // divider lines doc.setLineDashPattern([1.5,1.5],0); doc.line(421,136,421,208); doc.line(24,172,818,172); doc.setLineDashPattern([],0);doc.setFont('helvetica','bold'); doc.setTextColor(161,15,58); doc.setFontSize(9);// Row 1 doc.text('Ciudad / Provincia',40,151); doc.text('Wsp',440,151);// Row 2 doc.text('Nombre',40,187); doc.text('Fecha',440,187);doc.setFont('helvetica','normal'); doc.setTextColor(30,30,30); doc.text($('#sc-direccion').val()||'',40,164); doc.text($('#sc-wsp').val()||'',440,164); doc.text($('#sc-nombre').val()||'',40,200); doc.text($('#sc-fecha').val()||'',440,200);// Main table doc.autoTable({ startY:216, margin:{left:24,right:24}, head:[['NRO','ARTÍCULO','CANT.','UNIT USD','UNIT BS','SUBTOTAL BS','IMPORT BS','TOTAL BS']], body:rows.map(r=>[r.nro,r.art,fmt(r.cant),'USD '+fmt(r.u),'Bs '+fmt(r.ub),'Bs '+fmt(r.sb),'Bs '+fmt(r.ib),'Bs '+fmt(r.tb)]), styles:{fontSize:7.5,cellPadding:3,textColor:[25,25,25]}, headStyles:{fillColor:[161,15,58],textColor:[255,255,255],fontStyle:'bold'}, alternateRowStyles:{fillColor:[255,250,248]}, columnStyles:{1:{cellWidth:270}} });// Summary doc.autoTable({ startY:doc.lastAutoTable.finalY+8, margin:{left:24,right:24}, head:[['Moneda','Artículos','Importación 30%','Total','Cant. de artículos']], body:[ ['USD',$('#sc-total-art-usd').text(),$('#sc-total-imp-usd').text(),$('#sc-total-usd').text(),String(count)], ['Bs',$('#sc-total-art-bs').text(),$('#sc-total-imp-bs').text(),$('#sc-total-bs').text(),String(count)] ], styles:{fontSize:8.5,cellPadding:4}, headStyles:{fillColor:[161,15,58],textColor:[255,255,255],fontStyle:'bold'}, alternateRowStyles:{fillColor:[255,250,248]} });const y=doc.lastAutoTable.finalY+8;// FORMAS DE PAGO - se muestran ambas simultáneamente const drawPayCard=(x,yy,w,title,amount,sub,fill,stroke,text)=>{ doc.setFillColor(...fill);doc.setDrawColor(...stroke); doc.roundedRect(x,yy,w,42,7,7,'FD'); doc.setTextColor(...text);doc.setFont('helvetica','bold');doc.setFontSize(8.5); doc.text(title,x+10,yy+13); doc.setFontSize(14);doc.text(amount,x+10,yy+29); doc.setTextColor(70,70,70);doc.setFont('helvetica','normal');doc.setFontSize(7); doc.text(sub,x+w-98,yy+26); };doc.setTextColor(161,15,58);doc.setFont('helvetica','bold');doc.setFontSize(9); doc.text('FORMA DE PAGO 1',24,y+7); doc.setTextColor(90,75,82);doc.setFont('helvetica','normal');doc.setFontSize(7.5); doc.text('Monto fijo en Bs',111,y+7); drawPayCard(24,y+12,250,'PAGA AHORA:',$('#sc-pay1-now').text(),'Costo de los artículos.',[243,255,244],[124,191,125],[43,127,56]); drawPayCard(286,y+12,302,'PAGA AL RECOGER:',$('#sc-pay1-later').text(),'Importación ('+fmt(tax)+'%).',[255,247,238],[242,165,93],[214,107,0]);doc.setTextColor(161,15,58);doc.setFont('helvetica','bold');doc.setFontSize(9); doc.text('FORMA DE PAGO 2',24,y+65); doc.setTextColor(90,75,82);doc.setFont('helvetica','normal');doc.setFontSize(7.5); doc.text('Pago 50/50',111,y+65); drawPayCard(24,y+70,250,'PAGA AHORA:',$('#sc-pay2-now').text(),'50% del total.',[243,255,244],[124,191,125],[43,127,56]); drawPayCard(286,y+70,302,'PAGA AL RECOGER:',$('#sc-pay2-later').text(),'50% restante.',[255,247,238],[242,165,93],[214,107,0]);// Cantidad doc.setFillColor(244,248,255);doc.setDrawColor(139,181,219); doc.roundedRect(602,y+12,216,100,8,8,'FD'); doc.setTextColor(53,110,156);doc.setFont('helvetica','bold');doc.setFontSize(9); doc.text('CANTIDAD TOTAL A ENTREGAR:',614,y+34); doc.setFontSize(16);doc.text(String(count)+' artículos',614,y+61);doc.setTextColor(80,80,80);doc.setFont('helvetica','bold');doc.setFontSize(8.2); doc.text('Forma de Pago 2: el 50% restante se calculará según el tipo de cambio de venta del dólar vigente al momento del pago, manteniendo como mínimo el monto cotizado.',24,y+124);doc.setTextColor(161,15,58); doc.setFont('times','italic'); doc.setFontSize(9); doc.text('¡Gracias por confiar en Armonía Shop!',421,y+139,{align:'center'});doc.save('cotizacion_shein_armonia.pdf'); }$(document).on('input change','.cant,.price,#sc-impuesto,#sc-tc',recalc); $(document).on('click','#sc-add-row',()=>add()); $(document).on('click','.ash-del',function(){$(this).closest('tr').remove();renumber();recalc()}); $(document).on('click','#sc-use-suggested',function(){$('#sc-tc').val(fmt(suggested));recalc()});$(document).on('click','#sc-import-btn',function(){ const f=document.getElementById('sc-import-file').files[0]; if(!f)return alert('Selecciona un Excel o CSV.'); const rd=new FileReader(); rd.onload=e=>{ try{ const wb=XLSX.read(new Uint8Array(e.target.result),{type:'array'}); const sh=wb.Sheets[wb.SheetNames[0]]; importJson(XLSX.utils.sheet_to_json(sh,{defval:''})); }catch(err){ console.error(err);alert('No pude leer el archivo.'); } }; rd.readAsArrayBuffer(f); });$(document).on('click','#sc-fill-demo',function(){ $('#sc-body').empty(); [ {articulo:'Producto de ejemplo 1',cant:1,precio:15.32}, {articulo:'Producto de ejemplo 2',cant:2,precio:8.50}, {articulo:'Producto de ejemplo 3',cant:1,precio:11.25} ].forEach(add); renumber();recalc(); });$(document).on('click','#sc-clear-all',function(){ if(!confirm('¿Limpiar toda la cotización?'))return; $('#sc-body').empty();add(); $('#sc-direccion,#sc-wsp,#sc-nombre').val(''); $('#sc-impuesto').val('30'); $('#sc-tc').val(fmt(suggested)); $('#sc-import-file').val(''); recalc(); });$(document).on('click','#sc-export-excel',exportExcel); $(document).on('click','#sc-export-pdf',exportPdf);$(function(){ add(); $('#sc-fecha').val(new Date().toISOString().slice(0,10)); recalc(); }); })(jQuery); //# sourceURL=armonia-shein-v9-script-js-after '],{type:'application/vnd.ms-excel'}); const url=URL.createObjectURL(blob),a=document.createElement('a'); a.href=url;a.download='cotizacion_temu_armonia.xls';document.body.appendChild(a);a.click();a.remove();URL.revokeObjectURL(url); }async function imageToDataURL(url){ return new Promise((resolve,reject)=>{ const img=new Image(); img.crossOrigin='anonymous'; img.onload=()=>{ const c=document.createElement('canvas'); c.width=img.naturalWidth;c.height=img.naturalHeight; c.getContext('2d').drawImage(img,0,0); try{resolve(c.toDataURL('image/jpeg',0.92))}catch(e){reject(e)} }; img.onerror=reject; img.src=url; }); }async function exportPdf(){ const {jsPDF}=window.jspdf; const doc=new jsPDF('l','pt','a4'); const rows=gather(),tc=num($('#sc-tc').val()),tax=num($('#sc-impuesto').val()),count=rows.reduce((s,r)=>s+r.cant,0);// Header border doc.setDrawColor(161,15,58); doc.setLineWidth(1); doc.roundedRect(24,18,794,78,10,10);// Logo try{ const logoData=await imageToDataURL(window.ArmoniaTemuLogo); doc.addImage(logoData,'JPEG',38,29,56,56); }catch(e){}doc.setTextColor(161,15,58); doc.setFont('helvetica','bold'); doc.setFontSize(18); doc.text('ARMONÍA',108,51); doc.setTextColor(245,138,0); doc.text('SHOP',132,72);doc.setTextColor(161,15,58); doc.setFontSize(28); doc.text('PEDIDOS TEMU',350,48,{align:'center'});doc.setTextColor(35,35,35); doc.setFontSize(8.5); doc.setFont('helvetica','normal'); doc.text('Sanchez Lima 2206 esquina Fernando Guachalla,',565,36); doc.text('Sopocachi, La Paz, Bolivia',565,48); doc.text('WhatsApp: 70549481',565,62); doc.text('Lunes a viernes de 3 a 7 pm',565,76);// Rate strip doc.setDrawColor(245,138,0); doc.roundedRect(280,104,300,24,10,10); doc.setFontSize(10); doc.setTextColor(40,40,40); doc.text('Tipo de cambio aplicado: Bs '+fmt(tc)+'/S/ | Importación: '+fmt(tax)+'%',430,120,{align:'center'});// Client card: 2 rows x 2 columns doc.setDrawColor(205,170,185); doc.roundedRect(24,136,794,72,8,8); // divider lines doc.setLineDashPattern([1.5,1.5],0); doc.line(421,136,421,208); doc.line(24,172,818,172); doc.setLineDashPattern([],0);doc.setFont('helvetica','bold'); doc.setTextColor(161,15,58); doc.setFontSize(9);// Row 1 doc.text('Ciudad / Provincia',40,151); doc.text('Wsp',440,151);// Row 2 doc.text('Nombre',40,187); doc.text('Fecha',440,187);doc.setFont('helvetica','normal'); doc.setTextColor(30,30,30); doc.text($('#sc-direccion').val()||'',40,164); doc.text($('#sc-wsp').val()||'',440,164); doc.text($('#sc-nombre').val()||'',40,200); doc.text($('#sc-fecha').val()||'',440,200);// Main table doc.autoTable({ startY:216, margin:{left:24,right:24}, head:[['NRO','ARTÍCULO','CANT.','UNIT S/','UNIT BS','SUBTOTAL BS','IMPORT BS','TOTAL BS']], body:rows.map(r=>[r.nro,r.art,fmt(r.cant),'S/ '+fmt(r.u),'Bs '+fmt(r.ub),'Bs '+fmt(r.sb),'Bs '+fmt(r.ib),'Bs '+fmt(r.tb)]), styles:{fontSize:7.5,cellPadding:3,textColor:[25,25,25]}, headStyles:{fillColor:[161,15,58],textColor:[255,255,255],fontStyle:'bold'}, alternateRowStyles:{fillColor:[255,250,248]}, columnStyles:{1:{cellWidth:270}} });// Summary doc.autoTable({ startY:doc.lastAutoTable.finalY+8, margin:{left:24,right:24}, head:[['Moneda','Artículos','Importación 30%','Total','Cant. de artículos']], body:[ ['S/',$('#sc-total-art-pen').text(),$('#sc-total-imp-pen').text(),$('#sc-total-pen').text(),String(count)], ['Bs',$('#sc-total-art-bs').text(),$('#sc-total-imp-bs').text(),$('#sc-total-bs').text(),String(count)] ], styles:{fontSize:8.5,cellPadding:4}, headStyles:{fillColor:[161,15,58],textColor:[255,255,255],fontStyle:'bold'}, alternateRowStyles:{fillColor:[255,250,248]} });const y=doc.lastAutoTable.finalY+8;// FORMAS DE PAGO - se muestran ambas simultáneamente const drawPayCard=(x,yy,w,title,amount,sub,fill,stroke,text)=>{ doc.setFillColor(...fill);doc.setDrawColor(...stroke); doc.roundedRect(x,yy,w,42,7,7,'FD'); doc.setTextColor(...text);doc.setFont('helvetica','bold');doc.setFontSize(8.5); doc.text(title,x+10,yy+13); doc.setFontSize(14);doc.text(amount,x+10,yy+29); doc.setTextColor(70,70,70);doc.setFont('helvetica','normal');doc.setFontSize(7); doc.text(sub,x+w-98,yy+26); };doc.setTextColor(161,15,58);doc.setFont('helvetica','bold');doc.setFontSize(9); doc.text('FORMA DE PAGO 1',24,y+7); doc.setTextColor(90,75,82);doc.setFont('helvetica','normal');doc.setFontSize(7.5); doc.text('Monto fijo en Bs',111,y+7); drawPayCard(24,y+12,250,'PAGA AHORA:',$('#sc-pay1-now').text(),'Costo de los artículos.',[243,255,244],[124,191,125],[43,127,56]); drawPayCard(286,y+12,302,'PAGA AL RECOGER:',$('#sc-pay1-later').text(),'Importación ('+fmt(tax)+'%).',[255,247,238],[242,165,93],[214,107,0]);doc.setTextColor(161,15,58);doc.setFont('helvetica','bold');doc.setFontSize(9); doc.text('FORMA DE PAGO 2',24,y+65); doc.setTextColor(90,75,82);doc.setFont('helvetica','normal');doc.setFontSize(7.5); doc.text('Pago 50/50',111,y+65); drawPayCard(24,y+70,250,'PAGA AHORA:',$('#sc-pay2-now').text(),'50% del total.',[243,255,244],[124,191,125],[43,127,56]); drawPayCard(286,y+70,302,'PAGA AL RECOGER:',$('#sc-pay2-later').text(),'50% restante.',[255,247,238],[242,165,93],[214,107,0]);// Cantidad doc.setFillColor(244,248,255);doc.setDrawColor(139,181,219); doc.roundedRect(602,y+12,216,100,8,8,'FD'); doc.setTextColor(53,110,156);doc.setFont('helvetica','bold');doc.setFontSize(9); doc.text('CANTIDAD TOTAL A ENTREGAR:',614,y+34); doc.setFontSize(16);doc.text(String(count)+' artículos',614,y+61);doc.setTextColor(80,80,80);doc.setFont('helvetica','bold');doc.setFontSize(8.2); doc.text('Forma de Pago 2: el 50% restante se calculará según el tipo de cambio de venta del dólar vigente al momento del pago, manteniendo como mínimo el monto cotizado.',24,y+124);doc.setTextColor(161,15,58); doc.setFont('times','italic'); doc.setFontSize(9); doc.text('¡Gracias por confiar en Armonía Shop!',421,y+139,{align:'center'});doc.save('cotizacion_temu_armonia.pdf'); }$(document).on('input change','.cant,.price,#sc-impuesto,#sc-tc',recalc); $(document).on('click','#sc-add-row',()=>add()); $(document).on('click','.ash-del',function(){$(this).closest('tr').remove();renumber();recalc()}); $(document).on('click','#sc-use-suggested',function(){$('#sc-tc').val(fmt(suggested));recalc()});$(document).on('click','#sc-import-btn',function(){ const f=document.getElementById('sc-import-file').files[0]; if(!f)return alert('Selecciona un Excel o CSV.'); const rd=new FileReader(); rd.onload=e=>{ try{ const wb=XLSX.read(new Uint8Array(e.target.result),{type:'array'}); const sh=wb.Sheets[wb.SheetNames[0]]; importJson(XLSX.utils.sheet_to_json(sh,{defval:''})); }catch(err){ console.error(err);alert('No pude leer el archivo.'); } }; rd.readAsArrayBuffer(f); });$(document).on('click','#sc-fill-demo',function(){ $('#sc-body').empty(); [ {articulo:'Producto de ejemplo 1',cant:1,precio:15.32}, {articulo:'Producto de ejemplo 2',cant:2,precio:8.50}, {articulo:'Producto de ejemplo 3',cant:1,precio:11.25} ].forEach(add); renumber();recalc(); });$(document).on('click','#sc-clear-all',function(){ if(!confirm('¿Limpiar toda la cotización?'))return; $('#sc-body').empty();add(); $('#sc-direccion,#sc-wsp,#sc-nombre').val(''); $('#sc-impuesto').val('30'); $('#sc-tc').val(fmt(suggested)); $('#sc-import-file').val(''); recalc(); });$(document).on('click','#sc-export-excel',exportExcel); $(document).on('click','#sc-export-pdf',exportPdf);$(function(){ add(); $('#sc-fecha').val(new Date().toISOString().slice(0,10)); recalc(); }); })(jQuery); //# sourceURL=armonia-temu-v9-script-js-after