You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

324 lines
9.4 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { PurchaseDto } from 'src/app/_dto/purchase.dto';
import { TenderDetailDto } from 'src/app/_dto/tender-detail.dto';
import { TenderDocumentDto } from 'src/app/_dto/tender-documents.dto';
import { apiUrl } from 'src/app/_providers/_resources/api-url.properties';
import { ErrorTranslateService } from 'src/app/_providers/_services/error-translate.service';
import { MasterService } from 'src/app/_providers/_services/master.service';
import { TransactionService } from 'src/app/_providers/_services/transaction.service';
import { UiService } from 'src/app/_providers/_services/ui.service';
import { environment } from 'src/environments/environment.prod';
@Component({
selector: 'app-home-view',
templateUrl: './home-view.component.html',
styleUrls: ['./home-view.component.scss']
})
export class HomeViewComponent implements OnInit {
tenderId: number;
tenderData: any;
nitItemDocuments: any;
workItemDocuments: any;
drawingsDocuments: any;
tenderDocuments: any;
paymentDetails: PurchaseDto;
tempID: any;
newPaymentRow: any;
currentDate = new Date();
enableDownload: boolean = true
paymentStatus: string;
userId: string;
amountPaid: boolean = false;
seculevel: string;
displayedColumns: string[] = ['field', 'value'];
constructor(
private router: Router,
private route: ActivatedRoute,
private _masterService: MasterService,
private _transactionService: TransactionService,
private _ui: UiService,
private _errorTranslateService: ErrorTranslateService
) {
this.tenderId = +this.route.snapshot.paramMap.get('id');
this.paymentStatus = this.route.snapshot.paramMap.get('pay');
this.getData()
}
ngOnInit(): void {
this.tenderData = new TenderDetailDto()
this.userId = localStorage.getItem('userId')
this.seculevel = localStorage.getItem('seculevel')
console.log("this.seculevel", this.seculevel);
this.enableDownload = true;
this.getData();
this.getPaymentData();
}
getData() {
this._masterService.getMasterDatabyId(apiUrl.AllTenderData, this.tenderId).then((res) => {
console.log("tenderData", res);
this.tenderData = res
this.tenderDocuments = this.tenderData['tenderDoc']
console.log("data", this.tenderDocuments);
const saleStartDate = new Date(this.tenderData.saleStartDate);
const saleEndDate = new Date(this.tenderData.saleEndDate);
if (this.currentDate >= saleStartDate && this.currentDate <= saleEndDate) {
this.enableDownload = false; // Enable the button
console.log("enabled");
} else {
this.enableDownload = true; // Disable the button
console.log("disabled");
}
this.filterDataByCategory();
})
}
getPaymentData() {
this._masterService.getMasterDatabyId(apiUrl.paymentCheck, `${this.userId}/${this.tenderId}`).then(res => {
console.log('pay res=>', res);
if (res.length >0 && res[0].transId && res[0].transId != null && res[0].transId != undefined) {
this.amountPaid = true
}
// else{
// this.amountPaid = false
// }
})
}
print(): void {
window.print();
}
filterDataByCategory() {
this.drawingsDocuments = this.tenderDocuments.filter(doc => doc.documentCategory === 'D');
this.workItemDocuments = this.tenderDocuments.filter(doc => doc.documentCategory === 'WID');
this.nitItemDocuments = this.tenderDocuments.filter(doc => doc.documentCategory === 'NIT');
}
navigateTo(destination: any) {
this.router.navigate([destination])
}
goToHome() {
window.location.href = 'https://www.thrickodithanamscb.in/index.html#hero';
}
goToContactUs() {
window.location.href = 'https://www.thrickodithanamscb.in/index.html#contact';
}
DownloadDrawingsZIP() {
if (!this.amountPaid && this.seculevel == 'U') {
// Scroll to the "Pay" button
var payButton = document.getElementById("headingBreak");
if (payButton) {
payButton.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
this._ui.toastMessage(this._errorTranslateService.translate('pleasePayTheAmountForDoc'), 3000);
}
else {
const id = this.tenderId;
this._masterService.getMasterDatabyId(apiUrl.drawingsDownloadDocs, id).then((res) => {
}, err => {
console.log('res===>', err);
if (err.status == 200) {
console.log('start >>>');
// window.open(`${environment.apiUrl}/${apiUrl.bankDocs}/${id}`);
let newWindow = window.open(`${environment.apiUrl}/${apiUrl.drawingsDownloadDocs}/${id}`);
setTimeout(() => {
newWindow.close();
}, 10000);
}
if (err.status == 404) {
alert('No Bank Document Found for the selected Tender.');
}
if (err.status == 500) {
alert(`${err.message}`);
}
else {
// alert(`An error Occured`);
// let newWindow = window.open(`${environment.apiUrl}/${apiUrl.bankDocs}/${id}`);
// setTimeout(() => {
// newWindow.close();
// }, 100);
}
})
}
}
// DownloadDrawingsZIP() {
// // Your code to download the ZIP file goes here
// // Scroll to the "Pay" button
// var payButton = document.getElementById("headingBreak");
// if (payButton) {
// payButton.scrollIntoView({ behavior: 'smooth', block: 'start' });
// }
// }
DownloadNIT(index: number) {
const id = this.tenderId;
console.log(index);
console.log(this.nitItemDocuments[index].docName);
this._masterService.getMasterDatabyId(apiUrl.noticeDownlaod, `${this.tenderId}/${this.nitItemDocuments[index].docName}`).then((res) => {
} , err => {
console.log('res===>', err);
if (err.status == 200) {
console.log('start >>>');
// window.open(`${environment.apiUrl}/${apiUrl.bankDocs}/${id}`);
let newWindow = window.open(`${environment.apiUrl}/${apiUrl.noticeDownlaod}/${this.tenderId}/${this.nitItemDocuments[index].docName}`);
// setTimeout(() => {
// newWindow.close();
// }, 10000);
}
if (err.status == 404) {
alert('No Notice Document Found for the selected Tender.');
}
if (err.status == 500) {
alert(`${err.message}`);
}
else {
//alert(`An error Occured`);
// let newWindow = window.open(`${environment.apiUrl}/${apiUrl.noticeDownlaod}/${id}`);
// setTimeout(() => {
// newWindow.close();
// }, 100);
}
})
}
downloadWITZip() {
if (!this.amountPaid && this.seculevel == 'U') {
// Scroll to the "Pay" button
var payButton = document.getElementById("headingBreak");
if (payButton) {
payButton.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
this._ui.toastMessage(this._errorTranslateService.translate('pleasePayTheAmountForDoc'), 3000);
}
else {
console.log('clicked');
const id = this.tenderId;
// let newWindow = window.open(`${environment.apiUrl}/${apiUrl.bankDocs}/${id}`);
// setTimeout(() => {
// newWindow.close();
// }, 10);
this._masterService.getMasterDatabyId(apiUrl.bankDocs, id).then(res => {
}, err => {
console.log('res===>', err);
if (err.status == 200) {
console.log('start >>>');
// window.open(`${environment.apiUrl}/${apiUrl.bankDocs}/${id}`);
let newWindow = window.open(`${environment.apiUrl}/${apiUrl.bankDocs}/${id}`);
setTimeout(() => {
newWindow.close();
}, 100);
}
if (err.status == 404) {
alert('No Bank Document Found for the selected Tender.');
}
if (err.status == 500) {
alert(`${err.message}`);
}
else {
//alert(`An error Occured`);
// let newWindow = window.open(`${environment.apiUrl}/${apiUrl.bankDocs}/${id}`);
// setTimeout(() => {
// newWindow.close();
// }, 100);
}
})
// window.open('http://192.168.1.112:3500/api/v1/file-upload/Bank-Documents-Arc/'+id);
}
}
async paymentGateway() {
// if(this.seculevel != 'B'){
this.paymentDetails = new PurchaseDto();
this.paymentDetails.application = this.tenderId;
this.paymentDetails.mobile = localStorage.getItem('mobile')
this.paymentDetails.email = "accuratesoftware2022@gmail.com";
this.paymentDetails.amount = this.tenderData.tenderFee;
this.paymentDetails.type = "I"
// this.paymentDetails.email=this.issueApplicationData.motherEmail
// console.log('this.newPaymentRow.paymentMethod ====',this.newPaymentRow);
// let paymentMethod = this.paymentMethodLovData.find(x=> x.id==this.newPaymentRow.paymentMethod)
console.log('this.paymentDetails===', this.paymentDetails);
this._transactionService.createPayment(this.paymentDetails).then(
res => {
this.onSuccessPayment(res);
},
err => {
this.onFailurePayment(err);
console.log("==er====", err);
}
);
// }
}
onSuccessPayment(response) {
if (response.url) {
// Render PayUmoney payment gateway page
window.location.href = response.url;
}
}
onFailurePayment(err) {
console.log('Failure Payment : ' + err);
this._ui.toastMessage(err.message ? err.message : this._errorTranslateService.translate('errInSave'), 3000);
}
}