function pdf_inmobiliaria(reporting) { "use strict"; var model = openerp; reporting.ReportPdfWidgetInmobiliaria = reporting.Base.extend({ drawPDFInmobiliaria: function (getColumns,row,ResCompany,pdf_title,pdf_type,pdf_name,pdf_columnStyles,filter) { var self = this; var base64Img = 'data:image/png;base64,' + ResCompany.logo; var hoy = moment().format('DD/MM/YYYY'); var totalPagesExp = "{total_pages_count_string}"; var pdfDoc = new jsPDF(pdf_type); var y_position = 27; var y_position2 = 27; //LOGO pdfDoc.addImage(base64Img, 'png', 7, 2, 0, 15); //FECHA pdfDoc.setFontSize(13); pdfDoc.setFontStyle('normal'); pdfDoc.setTextColor(40) pdfDoc.text(pdfDoc.internal.pageSize.getWidth() - 35, 12,hoy); //TITULO pdfDoc.setFontSize(15); pdfDoc.setFontStyle('bold'); pdfDoc.setTextColor('#0288d1'); pdfDoc.autoTableText(pdf_title, pdfDoc.internal.pageSize.getWidth() - 12, 18, { halign: 'right', valign: 'middle' }); pdfDoc.setLineWidth(0.5); pdfDoc.setDrawColor('#424242'); pdfDoc.line(10, 22, pdfDoc.internal.pageSize.getWidth() - 10 , 22); var i=0; if(pdf_type == 'l'){ var col1_title = 15; var col1_value = 55; var col2_title = 150; var col2_value = 190; } else{ var col1_title = 10; var col1_value = 50; var col2_title = 110; var col2_value = 150; } if(filter.length >0){ _.each(filter,function(item){ if(i<4){ self.addFilter(pdfDoc,item.title,item.value,col1_title,col1_value,y_position); y_position = y_position + 5; }else{ self.addFilter(pdfDoc,item.title,item.value,col2_title,col2_value,y_position2); y_position2 = y_position2 + 5; } i++; }); pdfDoc.setLineWidth(0.5); pdfDoc.setDrawColor('#424242'); if(y_position >= y_position2){ y_position = y_position; pdfDoc.line(10, y_position, pdfDoc.internal.pageSize.getWidth() - 10 , y_position); }else{ y_position = y_position2; pdfDoc.line(10, y_position2, pdfDoc.internal.pageSize.getWidth() - 10 , y_position2); } } pdfDoc.autoTable(getColumns, row, { // showHeader: 'firstPage', startY: y_position + 5, theme: 'grid', styles: { overflow: 'linebreak', columnWidth: 'auto', fontSize: 7, }, headerStyles: { fillColor: [76, 133, 248], fontSize: 8 }, columnStyles: pdf_columnStyles, margin: { horizontal: 7}, drawCell: function(cell, opts) { var rows = opts.table.rows; if (opts.row.index == rows.length - 1) { pdfDoc.setFontStyle('bold'); } }, addPageContent: function (data) { //FOOTER var str = "Página " + data.pageCount; if (typeof pdfDoc.putTotalPages === 'function') { str = str + " de " + totalPagesExp; } pdfDoc.setFontSize(9); pdfDoc.setFontStyle('bold'); pdfDoc.setTextColor(40); var pageHeight = pdfDoc.internal.pageSize.height || pdfDoc.internal.pageSize.getHeight(); pdfDoc.autoTableText(str, pdfDoc.internal.pageSize.getWidth() - 35, pageHeight - 5, { halign: 'rigth', valign: 'middle' }); } }); if (typeof pdfDoc.putTotalPages === 'function') { pdfDoc.putTotalPages(totalPagesExp); } row.pop(); if(model.printer_bridge){ var data = pdfDoc.output('datauristring'); model.printer_bridge.print(data); return; } pdfDoc.save(pdf_name + hoy + '.pdf'); }, addFilter: function(pdfDoc,title,value,x_position_title,x_position_value,y_position){ pdfDoc.setFontSize(10); pdfDoc.setTextColor('#424242'); pdfDoc.setFontStyle('bold'); pdfDoc.autoTableText(title+':', x_position_title, y_position, { halign: 'left', valign: 'middle' }); pdfDoc.setFontSize(10); pdfDoc.setTextColor('#424242'); pdfDoc.setFontStyle('normal'); pdfDoc.autoTableText(value, x_position_value, y_position, { halign: 'left', valign: 'middle' }); }, }) }