|
@@ -3,135 +3,7 @@ function pdf(reporting) {
|
|
|
|
|
|
var model = openerp;
|
|
|
|
|
|
- reporting.ReportSalePdfWidget = reporting.Base.extend({
|
|
|
- drawPDF: 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;
|
|
|
- var col1_title;
|
|
|
- var col1_value;
|
|
|
- var col2_title;
|
|
|
- var col2_value;
|
|
|
- if(pdf_type == 'l'){
|
|
|
- col1_title = 15;
|
|
|
- col1_value = 55;
|
|
|
- col2_title = 150;
|
|
|
- col2_value = 190;
|
|
|
- }
|
|
|
- else{
|
|
|
- col1_title = 10;
|
|
|
- col1_value = 50;
|
|
|
- col2_title = 110;
|
|
|
- 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, {
|
|
|
- startY: y_position + 5,
|
|
|
- theme: 'grid',
|
|
|
- styles: {
|
|
|
- overflow: 'linebreak',
|
|
|
- columnWidth: 'auto',
|
|
|
- fontSize: 7,
|
|
|
- },
|
|
|
- headerStyles: {
|
|
|
- fillColor: [76, 133, 248],
|
|
|
- fontSize: 9
|
|
|
- },
|
|
|
- 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) {
|
|
|
+ reporting.ReportExpensePdfWidget = reporting.Base.extend({
|
|
|
|
|
|
- //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'
|
|
|
- });
|
|
|
- },
|
|
|
});
|
|
|
}
|