imageexportreport.component.ts 5.19 KB

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
//import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/Rx';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/filter';
import { ImageExportReports } from '../Reports/reportdatamodel';
import { ReportService } from '../Reports/report.service';
import { GlobalService } from '../../Shared/global';
import { BsModalService } from 'ngx-bootstrap/modal';
import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';
import { DatePipe } from '@angular/common';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap';
import { Http, Response } from '@angular/http';
import { LoadingService } from '../../shared/loading.service';

declare var $: any;
@Component({
  templateUrl: './imageexportreport.component.html'
})

export class ImageExportReport implements OnInit {
  public lstImageExportReport: any;
  ImageExportReportForm: FormGroup;
  ImageExportReports: ImageExportReports[];
  numberOfImageExportReport: number;
  limit: number;
  page: number = 1;
  error;
  imageexportreport = new ImageExportReports();
  modalAlerts: string;
  divClass: string = '';
  topPos: string = '2000px';
  selectedRow: number = 0;
  datePipe: DatePipe = new DatePipe('en-US');
  bsValue1: Date = new Date();
  bsValue2: Date = new Date();
  selectedId: number = 0;
  modalRef: BsModalRef;
  date = new Date();
  previousdate = new Date();
  NoRecord: string;
  alerts: string;
  ExportingStart: boolean;
  bsConfig: Partial<BsDatepickerConfig>;
  buttonStatus: boolean;
  constructor(private router: Router, private reportservice: ReportService, private fb: FormBuilder, private modalService: BsModalService,
    private global: GlobalService, private _loadingService: LoadingService) { }

  ngOnInit(): void {
    this.buttonStatus = false;
    this.ExportingStart = false;
    this.bsConfig = Object.assign({}, { containerClass: 'theme-dark-blue' });
    this.NoRecord = this.global.NoRecords;
    let imageexportreport = new ImageExportReports();
    this.previousdate.setDate(this.previousdate.getDate());
    this.ImageExportReportForm = this.fb.group({
      sFromDate: [this.previousdate],
      sToDate: [this.date],
      sAccountNumber: ['']
    });
    this.alerts = '';
    
    
    this.GetImageExportReport();
    var testScript = document.createElement("script");
    testScript.setAttribute("id", "fixed_table_rc");
    testScript.setAttribute("src", "../assets/scripts/fixed_table_rc.js");
    testScript.setAttribute("type", "text/javascript");
    document.body.appendChild(testScript);
    $('#fixed_hdr2').fxdHdrCol({
      fixedCols: 0,
      width: "100%",
      height: 300,
      colModal: [
        { width: 180, align: 'center' },
        { width: 230, align: 'center' },
        { width: 150, align: 'Center' },
        //{ width: 150, align: 'Center' },
        { width: 350, align: 'Center' },
        { width: 500, align: 'Center' },
        { width: 130, align: 'Center' },
        { width: 120, align: 'center' },        
        { width: 150, align: 'center' },
        { width: 110, align: 'center' },
      ],
      sort: true
    });
    //document.getElementById("fixed_table_rc").remove();
  }

  GetImageExportReport(this) {
    debugger;
    this.alerts = '';
    this.global.compareTwoDates(this.ImageExportReportForm.controls['sToDate'].value, this.ImageExportReportForm.controls['sFromDate'].value);
    if (this.global.ValidationMsg != '') {
      this.alerts = this.global.ValidationMsg
    }
    if (this.alerts == '') {
      this._loadingService.ShowLoading("global-loading");
      this.imageexportreport = this.ImageExportReportForm.value;
      var obj = this.imageexportreport;
      if (this.ExportingStart) {
        this.reportservice.GetImageExportReport(obj).subscribe((ImageExportReports: ImageExportReports[]) => { this.ExportService(ImageExportReports); }, error => this.error = <any>error);
      }
      else {
        this.reportservice.GetImageExportReport(obj).subscribe((ImageExportReports: ImageExportReports[]) => { this.BindFormFields(ImageExportReports); }, error => this.error = <any>error);
      }
      
    }
  }
  BindFormFields(data) {
    this.lstImageExportReport = data
    this.numberOfImageExportReport = this.lstImageExportReport.length; this.limit = this.lstImageExportReport.length;
    if (this.lstImageExportReport.length > 0) {
      this.NoRecord = '';
      this.buttonStatus = true;
      this._loadingService.HideLoading("global-loading");
    }
    if (this.lstImageExportReport.length == 0) {
      this.NoRecord = this.global.NoRecords;
      this._loadingService.HideLoading("global-loading");
      this.buttonStatus = false;

    }
  }
  ExportEvent() {
    if (this.buttonStatus) {
      this.ExportingStart = true;
      this.GetImageExportReport();
    }
  }
  ExportService(data: any) {
    this._loadingService.HideLoading("global-loading");
    this.global.ExportToCSV(data, "ImageExportReport-" + this.date.getDay() + "-" + this.date.getMonth() + "-" + this.date.getSeconds())
    
  }

}