Advertisement
EulisAires

js pdf versao 2

Mar 20th, 2019
511
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function generate() {
  2.  
  3.     const httpGet = (url, callback) => {
  4.         const http = new XMLHttpRequest();
  5.         http.open('GET', url, true);
  6.  
  7.         http.onload = () => {
  8.             if (http.status >= 200 && http.status < 400) {
  9.                 // Success!
  10.                 callback(http.responseText);
  11.             }
  12.         };
  13.  
  14.         http.send();
  15.     };
  16.  
  17.     httpGet('/get_models?model=vistorias', (res) => {
  18.         const a = res;
  19.         httpGet('/get_models?model=vendedores', (res2) => {
  20.             let vistorias = JSON.parse(a);
  21.             let vendedor;
  22.             let cidade;
  23.             document.querySelector('body').innerHTML += `<table id="vist-table"><tr>
  24.             <th>Número</th>
  25.             <th>Data de Vistoria</th>
  26.             <th>Grupo</th>
  27.             <th>Concessionária</th>
  28.             <th>Placa</th>
  29.             <th>Setor</th>
  30.             <th>Vendedor</th>
  31.             <th>Modo de Pagamento</th>
  32.             <th>Valor</th>
  33.             </tr></table>`;
  34.             vistorias.forEach((vist) => {
  35.                 const vendedores  = JSON.parse(res2);
  36.                 vendedor = vendedores.filter(vendedor => vendedor.pk === vist.fields.Vendedor)[0].fields.nome
  37.                 document.querySelector('#vist-table').innerHTML += `<tr>
  38.                     <td>${vist.pk}</td>
  39.                     <td>${vist.fields.Data_de_Registro.split('-').reverse().join('/')}
  40.                     </td>
  41.                     <td>${vist.fields.Grupo_da_concessionaria[0].toUpperCase() + vist.fields.Grupo_da_concessionaria.slice(1)}</td>
  42.                     <td>${vist.fields.Concessionaria[0].toUpperCase() + vist.fields.Concessionaria.slice(1)}</td>
  43.                     <td>${vist.fields.Placa.toUpperCase()}</td>
  44.                     <td>${vist.fields.Setor[0].toUpperCase() + vist.fields.Setor.slice(1)}</td>
  45.                     <td>${vendedor[0].toUpperCase() + vendedor.slice(1)}</td>
  46.                     <td>${vist.fields.Modos_de_pagamento[0].toUpperCase() + vist.fields.Modos_de_pagamento.slice(1)}</td>
  47.                     <td>${vist.fields.Valor_pago}</td>
  48.                     </tr>`;
  49.             });
  50.             var doc = new jsPDF('landscape', 'pt');
  51.             var res = doc.autoTableHtmlToJson(document.getElementById("vist-table"));
  52.             doc.autoTable(res.columns, res.data, { margin: { top: 80 } });
  53.  
  54.             var header = function (data) {
  55.                 doc.setFontSize(18);
  56.                 doc.setTextColor(40);
  57.                 doc.setFontStyle('normal');
  58.                 //doc.addImage(headerImgData, 'JPEG', data.settings.margin.left, 20, 50, 50);
  59.                 //   doc.text("Relatorio das Vistorias", data.settings.margin.left, 50);
  60.             };
  61.  
  62.             var options = {
  63.                 beforePageContent: header,
  64.                 margin: {
  65.                     top: 80
  66.                 },
  67.                 startY: doc.autoTableEndPosY() + 20
  68.             };
  69.  
  70.             const putZero = (num) => {
  71.                 return num >= 10 ? num : `0${num}`
  72.             }
  73.  
  74.             // doc.autoTable(res.columns, res.data, options);
  75.             // console.log(date)
  76.             doc.text(`Relatório de Vistorias - ${putZero(new Date().getDate())}/${putZero(new Date().getMonth()+1)}/${putZero(new Date().getFullYear())}`, 50, 49)
  77.             doc.save(`Relatório - ${putZero(new Date().getDate())}-${putZero(new Date().getMonth()+1)}-${putZero(new Date().getFullYear())}.pdf`);
  78.             // window.location.reload(true);
  79.         });
  80.     });
  81.  
  82.  
  83. }
  84.  
  85. // function generatePrint() {
  86.  
  87. //     const httpGet = (url, callback) => {
  88. //         const http = new XMLHttpRequest();
  89. //         http.open('GET', url, true);
  90.  
  91. //         http.onload = () => {
  92. //             if (http.status >= 200 && http.status < 400) {
  93. //                 // Success!
  94. //                 callback(http.responseText);
  95. //             }
  96. //         };
  97.  
  98. //         http.send();
  99. //     };
  100.  
  101.  
  102. //     httpGet('/get_models?model=vistorias', (res) => {
  103.  
  104. //         let vistorias = JSON.parse(res);
  105. //         let vendedor;
  106. //         let cidade;
  107. //         console.log(vistorias)
  108. //         document.querySelector('body').innerHTML += `<table id="vist-table"><tr>
  109. //         <th>Número</th>
  110. //         <th>Data de Vistoria</th>
  111. //         <th>Grupo</th>
  112. //         <th>Concessionária</th>
  113. //         <th>Placa</th>
  114. //         <th>Setor</th>
  115. //         <th>Vendedor</th>
  116. //         <th>Modo de Pagamento</th>
  117. //         <th>Valor</th>
  118. //       </tr></table>`;
  119. //         vistorias.forEach((vist) => {
  120. //             httpGet('/get_models?model=vendedores', (res2) => {
  121. //                 const vendedores  = JSON.parse(res2);
  122. //                 vendedor = vendedores.filter(vendedor => vendedor.pk === vist.fields.Vendedor)[0].fields.nome
  123. //                 document.querySelector('#vist-table').innerHTML += `<tr>
  124. //                     <td>${vist.pk}</td>
  125. //                     <td>${vist.fields.Data_de_Registro.split('-').reverse().join('/')}
  126. //                     </td>
  127. //                     <td>${vist.fields.Grupo_da_concessionaria[0].toUpperCase() + vist.fields.Grupo_da_concessionaria.slice(1)}</td>
  128. //                     <td>${vist.fields.Concessionaria[0].toUpperCase() + vist.fields.Concessionaria.slice(1)}</td>
  129. //                     <td>${vist.fields.Placa.toUpperCase()}</td>
  130. //                     <td>${vist.fields.Setor[0].toUpperCase() + vist.fields.Setor.slice(1)}</td>
  131. //                     <td>${vendedor[0].toUpperCase() + vendedor.slice(1)}</td>
  132. //                     <td>${vist.fields.Modos_de_pagamento[0].toUpperCase() + vist.fields.Modos_de_pagamento.slice(1)}</td>
  133. //                     <td>${vist.fields.Valor_pago}</td>
  134. //                     </tr>`;
  135. //                     var page = new URL(window.location.href).searchParams.get("page");
  136.            
  137. //                     var doc = new jsPDF('landscape', 'pt');
  138.            
  139. //                     var res = doc.autoTableHtmlToJson(document.getElementById("vist-table"));
  140. //                     doc.autoTable(res.columns, res.data, { margin: { top: 80 } });
  141.            
  142. //                     var header = function (data) {
  143. //                         doc.setFontSize(18);
  144. //                         doc.setTextColor(40);
  145. //                         doc.setFontStyle('normal');
  146. //                         //doc.addImage(headerImgData, 'JPEG', data.settings.margin.left, 20, 50, 50);
  147. //                         //   doc.text("Relatorio das Vistorias", data.settings.margin.left, 50);
  148. //                     };
  149.            
  150. //                     var options = {
  151. //                         beforePageContent: header,
  152. //                         margin: {
  153. //                             top: 80
  154. //                         },
  155. //                         startY: doc.autoTableEndPosY() + 20
  156. //                     };
  157.            
  158. //                     const putZero = (num) => {
  159. //                         return num >= 10 ? num : `0${num}`
  160. //                     }
  161.            
  162. //                     // doc.autoTable(res.columns, res.data, options);
  163. //                     // console.log(date)
  164. //                     doc.text(`Relatório de Vistorias - ${putZero(new Date().getDate())}/${putZero(new Date().getMonth()+1)}/${putZero(new Date().getFullYear())}`, 50, 49)
  165. //                     doc.autoPrint()
  166. //                     doc.save(`Relatório - ${putZero(new Date().getDate())}-${putZero(new Date().getMonth()+1)}-${putZero(new Date().getFullYear())}.pdf`);
  167. //                     window.location.reload(true);
  168. //             });
  169. //         });
  170. //     });
  171.  
  172.  
  173. // }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement