diff --git a/src/app/dashboard/partner-details/partner-details.component.html b/src/app/dashboard/partner-details/partner-details.component.html index 97b8aa7..5de944b 100644 --- a/src/app/dashboard/partner-details/partner-details.component.html +++ b/src/app/dashboard/partner-details/partner-details.component.html @@ -1,4 +1,4 @@ -
+
@@ -7,10 +7,11 @@
- - + +
@@ -21,22 +22,26 @@
- +
- +
- +
- +
- +
- +
- +
@@ -49,42 +54,51 @@
- +
- +
- +
- +
- +
- +
-
+
- +
- +
- +
- +
- +
- +
@@ -97,20 +111,23 @@
- - + +
- +
- +
- +
- +
- +
@@ -123,28 +140,33 @@
- +
- +
- +
- +
- +
@@ -158,45 +180,54 @@
- +
- +
- +
- +
- +
- +
- +
- - + +
@@ -209,55 +240,70 @@
-
-
- +
+
+ +
+
- -
-
- - -
+
+ + +
-
- - -
+
+ + +
-
-
- +
+
+ +
+
- -
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
- +
- +
@@ -268,78 +314,78 @@
HII Data
-
-
- Name -
-
- {{ package.name }} -
-
-
-
- Implementation Status -
-
- {{ package.implementationStatus }} -
-
-
-
- No. of Females -
-
- {{ package.noOfFemales }} -
-
-
-
- No. of Males -
-
- {{ package.noOfMales }} -
-
-
-
- No. of Transgenders -
-
- {{ package.noOfTransgender }} -
-
-
-
- Health Package ID -
-
- {{ package.packagesHealth }} -
-
-
-
- Health Remarks -
-
- {{ package.healthRemarks }} -
-
-
-
- Disaggregation Note -
-
- {{ package.disaggregationNote }} -
-
-
-
- Relevant Documents -
-
- Link -
+
+
+ Name +
+
+ {{ package.name }} +
+
+
+
+ Implementation Status +
+
+ {{ package.implementationStatus }} +
+
+
+
+ No. of Females
+
+ {{ package.noOfFemales }} +
+
+
+
+ No. of Males +
+
+ {{ package.noOfMales }} +
+
+
+
+ No. of Transgenders +
+
+ {{ package.noOfTransgender }} +
+
+
+
+ Health Package ID +
+
+ {{ package.packagesHealth }} +
+
+
+
+ Health Remarks +
+
+ {{ package.healthRemarks }} +
+
+
+
+ Disaggregation Note +
+
+ {{ package.disaggregationNote }} +
+
+
+
+ Relevant Documents +
+
+ Link +
+
@@ -348,46 +394,46 @@
SP Data
-
-
- Name -
-
- {{ package.name }} -
-
-
-
- Implementation Status -
-
- {{ package.status }} -
-
-
-
- Total Aggregation -
-
- {{ package.totalAggregation }} -
-
-
-
- Other Remarks -
-
- {{ package.otherRemarks }} -
-
-
-
- Relevant Documents -
-
- Link -
-
+
+
+ Name +
+
+ {{ package.name }} +
+
+
+
+ Implementation Status +
+
+ {{ package.status }} +
+
+
+
+ Total Aggregation +
+
+ {{ package.totalAggregation }} +
+
+
+
+ Other Remarks +
+
+ {{ package.otherRemarks }} +
+
+
+
+ Relevant Documents +
+
+ Link +
+
@@ -396,22 +442,22 @@
SP Scheme
-
-
- Count -
-
- {{ package.count }} -
-
-
-
- Scheme Id -
-
- {{ package.schemeId }} -
-
+
+
+ Count +
+
+ {{ package.count }} +
+
+
+
+ Scheme Id +
+
+ {{ package.schemeId }} +
+
@@ -423,10 +469,12 @@ Back - - - - + + + + @@ -436,25 +484,28 @@
Select Data Type
-
+
Profile Data -
+
Implementation Data -
+
Both -
+
Export as
-
+
@@ -462,7 +513,8 @@ - + diff --git a/src/app/dashboard/partner-details/partner-details.component.ts b/src/app/dashboard/partner-details/partner-details.component.ts index 7d07b55..1614094 100644 --- a/src/app/dashboard/partner-details/partner-details.component.ts +++ b/src/app/dashboard/partner-details/partner-details.component.ts @@ -1,9 +1,10 @@ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import * as Papa from 'papaparse'; +import { UserData } from 'src/shared/structure/user'; import * as XLSX from 'xlsx' -type exportType = "CSV" | "XLSX"; +type ExportType = "CSV" | "XLSX"; @Component({ selector: 'app-partner-details', @@ -11,7 +12,7 @@ type exportType = "CSV" | "XLSX"; styleUrls: ['./partner-details.component.scss'] }) export class PartnerDetailsComponent implements OnInit { - partnerDetails: any; + partnerDetails: UserData | undefined; isFormEditable: boolean = false; selectedSegment: 1 | 2 | 3 = 1; showExportOptions: boolean = false; @@ -30,12 +31,11 @@ export class PartnerDetailsComponent implements OnInit { ngOnInit(): void { this.activateRouter.queryParams.subscribe((data: any) => { this.partnerDetails = JSON.parse(data.data); - console.log(this.partnerDetails); }).unsubscribe(); } - loadExportData(partnerData: any) { + loadExportData(partnerData: UserData) { let exportData: Array = []; let exportHiiData: Array = []; let exportSpData: Array = []; @@ -45,123 +45,123 @@ export class PartnerDetailsComponent implements OnInit { exportData = [{ - "PortalID": partnerData.portalId ? partnerData.portalId : '-', - - // Primary Contact - - "Primary Name": partnerData.primaryContact.name, - "Primary Contact Number": partnerData.primaryContact.contactNumber, - "Primary Email": partnerData.primaryContact.email, - "Primary Designation": partnerData.primaryContact.designation, - - // Basic Info - - "Areas Of Work": partnerData.organizationBasicInfo.areasOfWork ? partnerData.organizationBasicInfo.areasOfWork.toString() : '', - "Name": partnerData.organizationBasicInfo.name, - "Reason For Becoming Member": partnerData.organizationBasicInfo.reasonForBecomingMember, - "Referral Name": partnerData.organizationBasicInfo.referralName, - "Source": partnerData.organizationBasicInfo.source, - "Type": partnerData.organizationBasicInfo.type, - "Website": partnerData.organizationBasicInfo.website, - "Would Like Updates": partnerData.organizationBasicInfo.wouldLikeUpdates, - - // Alternative Contact - - 'Alternative Name': partnerData.alternateContact.name, - 'Alternative ContactNumber': partnerData.alternateContact.contactNumber, - 'Alternative Email': partnerData.alternateContact.email, - 'Alternative Designation': partnerData.alternateContact.designation, - - // Detailed Profile - - 'Bio': partnerData.detailedProfile.bio, - 'Branch Location Countries': partnerData.detailedProfile.branchLocationCountries ? partnerData.detailedProfile.branchLocationCountries.toString() : '', - "Communities": partnerData.detailedProfile.communities ? partnerData.detailedProfile.communities.toString() : '', - "District": partnerData.detailedProfile.district, - "Districts": partnerData.detailedProfile.districts ? partnerData.detailedProfile.districts.toString() : '', - "Files": partnerData.detailedProfile.files, - "Have Branches In Other Districts": partnerData.detailedProfile.haveBranchesInOtherDistricts, - "Logo": partnerData.detailedProfile.logo, - "partnerData Location": partnerData.detailedProfile.partnerDataLocation, - "Preferred Languages": partnerData.detailedProfile.preferredLanguages ? partnerData.detailedProfile.preferredLanguages.toString() : '', - "Preferred Mode Of Communications": partnerData.detailedProfile.preferredModeOfCommunications ? partnerData.detailedProfile.preferredModeOfCommunications.toString() : '', - "State": partnerData.detailedProfile.state, - "States": partnerData.detailedProfile.states ? partnerData.detailedProfile.states.toString() : '', - "Total Reach Of Organization": partnerData.detailedProfile.totalReachOfOrganization, - "Year Of Establishment": partnerData.detailedProfile.yearOfEstablishment, - - // Strength - - "Other Specific Support Required": partnerData.strengthAndCapability.otherSpecificSupportRequired, - "Primary Areas Of Support Offered": partnerData.strengthAndCapability.otherSpecificSupportRequired ? partnerData.strengthAndCapability.otherSpecificSupportRequired.toString() : '', - "Primary Areas Of Support Offered Description": partnerData.strengthAndCapability.primaryAreasOfSupportOffered, - "Primary Areas Of Support Offered Other": partnerData.strengthAndCapability.primaryAreasOfSupportOfferedDescription, - "Primary Areas Of Support Required": partnerData.strengthAndCapability.primaryAreasOfSupportOfferedOther ? partnerData.strengthAndCapability.primaryAreasOfSupportOfferedOther.toString() : '', - "Primary Areas Of Support Required Description": partnerData.strengthAndCapability.primaryAreasOfSupportRequired, - "Primary Areas Of Support Required Other": partnerData.strengthAndCapability.primaryAreasOfSupportRequiredOther, - }] - - - - let surveyCtoHIIData = []; - for (const hiidata of partnerData.surveyCtoData.hiiData) { - let partnerHiiDetails = { - "HII Id": hiidata.id, - "HII Name": hiidata.name, - "HII Packages Health": hiidata.packagesHealth, - "HII Implementation Status": hiidata.implementationStatus, - "HII Disaggregation Note": hiidata.disaggregationNote, - "HII No Of Males": hiidata.id, - "HII No Of Females": hiidata.noOfMales, - "HII No Of Transgender": hiidata.noOfTransgender, - "HII Health Remarks": hiidata.healthRemarks, - "HII Relevant Documents": hiidata.relevantDocuments, - } - surveyCtoHIIData.push(partnerHiiDetails) + "PortalID": partnerData.portalId ? partnerData.portalId : '-', + + // Primary Contact + + "Primary Name": partnerData.primaryContact.name, + "Primary Contact Number": partnerData.primaryContact.contactNumber, + "Primary Email": partnerData.primaryContact.email, + "Primary Designation": partnerData.primaryContact.designation, + + // Basic Info + + "Areas Of Work": partnerData.organizationBasicInfo.areasOfWork ? partnerData.organizationBasicInfo.areasOfWork.map(option => option.name).join(', ') : '', + "Name": partnerData.organizationBasicInfo.name, + "Reason For Becoming Member": partnerData.organizationBasicInfo.reasonForBecomingMember, + "Referral Name": partnerData.organizationBasicInfo.referralName, + "Source": partnerData.organizationBasicInfo.source, + "Type": partnerData.organizationBasicInfo.type, + "Website": partnerData.organizationBasicInfo.website, + "Would Like Updates": partnerData.organizationBasicInfo.wouldLikeUpdates, + + // Alternative Contact + + 'Alternative Name': partnerData.alternateContact.name, + 'Alternative ContactNumber': partnerData.alternateContact.contactNumber, + 'Alternative Email': partnerData.alternateContact.email, + 'Alternative Designation': partnerData.alternateContact.designation, + + // Detailed Profile + + 'Bio': partnerData.detailedProfile.bio, + 'Branch Location Countries': partnerData.detailedProfile.branchLocationCountries ? partnerData.detailedProfile.branchLocationCountries.map(option => option.name).join(', ') : '', + "Communities": partnerData.detailedProfile.communities ? partnerData.detailedProfile.communities.map(option => option.name).join(', ') : '', + "District": partnerData.detailedProfile.district, + "Districts": partnerData.detailedProfile.districts ? partnerData.detailedProfile.districts.map(option => option.name).join(', ') : '', + "Files": partnerData.detailedProfile.files, + "Have Branches In Other Districts": partnerData.detailedProfile.haveBranchesInOtherDistricts, + "Logo": partnerData.detailedProfile.logo, + "partnerData Location": partnerData.detailedProfile.partnerLocation, + "Preferred Languages": partnerData.detailedProfile.preferredLanguages ? partnerData.detailedProfile.preferredLanguages.map(option => option.name).join(', ') : '', + "Preferred Mode Of Communications": partnerData.detailedProfile.preferredModeOfCommunications ? partnerData.detailedProfile.preferredModeOfCommunications.map(option => option.name).join(', ') : '', + "State": partnerData.detailedProfile.state, + "States": partnerData.detailedProfile.states ? partnerData.detailedProfile.states.map(option => option.name).join(', ') : '', + "Total Reach Of Organization": partnerData.detailedProfile.totalReachOfOrganization, + "Year Of Establishment": partnerData.detailedProfile.yearOfEstablishment, + + // Strength + + "Other Specific Support Required": partnerData.strengthAndCapability.otherSpecificSupportRequired, + "Primary Areas Of Support Offered": partnerData.strengthAndCapability.otherSpecificSupportRequired ? partnerData.strengthAndCapability.otherSpecificSupportRequired.toString() : '', + "Primary Areas Of Support Offered Description": partnerData.strengthAndCapability.primaryAreasOfSupportOffered.map(option => option.name).join(', '), + "Primary Areas Of Support Offered Other": partnerData.strengthAndCapability.primaryAreasOfSupportOfferedDescription, + "Primary Areas Of Support Required": partnerData.strengthAndCapability.primaryAreasOfSupportOfferedOther ? partnerData.strengthAndCapability.primaryAreasOfSupportOfferedOther.toString() : '', + "Primary Areas Of Support Required Description": partnerData.strengthAndCapability.primaryAreasOfSupportRequired.map(option => option.name).join(', '), + "Primary Areas Of Support Required Other": partnerData.strengthAndCapability.primaryAreasOfSupportRequiredOther, + }] + + + + let surveyCtoHIIData = []; + for (const hiidata of partnerData.surveyCtoData.hiiData) { + let partnerHiiDetails = { + "HII Id": hiidata.id, + "HII Name": hiidata.name, + "HII Packages Health": hiidata.packagesHealth, + "HII Implementation Status": hiidata.implementationStatus, + "HII Disaggregation Note": hiidata.disaggregationNote, + "HII No Of Males": hiidata.id, + "HII No Of Females": hiidata.noOfMales, + "HII No Of Transgender": hiidata.noOfTransgender, + "HII Health Remarks": hiidata.healthRemarks, + "HII Relevant Documents": hiidata.relevantDocuments, } - surveyCtoHIIData.forEach(data => { - exportHiiData.push(data) - }) - - let surveyCtoSpData = [] - for (const spData of partnerData.surveyCtoData.spData) { - let partnerSpDetails = { - "SP Id": spData.id, - "SP Name": spData.name, - "SP Status": spData.status, - "SP TotalAggregation": spData.totalAggregation, - "SP OtherRemarks": spData.otherRemarks, - "SP RelevantDocuments": spData.relevantDocuments, - } - - surveyCtoSpData.push(partnerSpDetails) + surveyCtoHIIData.push(partnerHiiDetails) + } + surveyCtoHIIData.forEach(data => { + exportHiiData.push(data) + }) + + let surveyCtoSpData = [] + for (const spData of partnerData.surveyCtoData.spData) { + let partnerSpDetails = { + "SP Id": spData.id, + "SP Name": spData.name, + "SP Status": spData.status, + "SP TotalAggregation": spData.totalAggregation, + "SP OtherRemarks": spData.otherRemarks, + "SP RelevantDocuments": spData.relevantDocuments, } - surveyCtoSpData.forEach(data => { - exportSpData.push(data) - }) - - let surveyCtoSpSchemaData = [] - for (const spSchema of partnerData.surveyCtoData.spSchemeData) { - let partnerSpSchemaDetails = { - "SPSchema SchemeId": spSchema.schemeId, - "SPSchema Count": spSchema.count, - } - - surveyCtoSpSchemaData.push(partnerSpSchemaDetails) + + surveyCtoSpData.push(partnerSpDetails) + } + surveyCtoSpData.forEach(data => { + exportSpData.push(data) + }) + + let surveyCtoSpSchemaData = [] + for (const spSchema of partnerData.surveyCtoData.spSchemeData) { + let partnerSpSchemaDetails = { + "SPSchema SchemeId": spSchema.schemeId, + "SPSchema Count": spSchema.count, } - surveyCtoSpSchemaData.forEach(data => { - exportSPSchemaData.push(data) - }) - - surveyCtoData.push(exportHiiData) - surveyCtoData.push(exportSpData) - surveyCtoData.push(exportSPSchemaData) - - this.exportData = exportData; - this.exportSurveyCtoData = surveyCtoData + + surveyCtoSpSchemaData.push(partnerSpSchemaDetails) + } + surveyCtoSpSchemaData.forEach(data => { + exportSPSchemaData.push(data) + }) + + surveyCtoData.push(exportHiiData) + surveyCtoData.push(exportSpData) + surveyCtoData.push(exportSPSchemaData) + + this.exportData = exportData; + this.exportSurveyCtoData = surveyCtoData } - exportProfileData(exportType: exportType) { + exportProfileData(exportType: ExportType) { const fileTypeXLS = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8', fileTypeCSV = 'text/csv;charset=utf-8;', fileExtension = exportType === 'CSV' ? '.csv' : '.xlsx', @@ -169,6 +169,10 @@ export class PartnerDetailsComponent implements OnInit { let blob; + if (!this.partnerDetails) { + return; + } + this.loadExportData(this.partnerDetails) const partnerData = XLSX.utils.json_to_sheet(this.exportData); diff --git a/src/app/services/partner-profile.service.ts b/src/app/services/partner-profile.service.ts index f6f3a52..2e4d5c8 100644 --- a/src/app/services/partner-profile.service.ts +++ b/src/app/services/partner-profile.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { lastValueFrom } from 'rxjs'; -export const BASE_URL = 'http://143.110.247.94'; +export const BASE_URL = 'http://localhost:8001'; // http://localhost:8001 // http://143.110.247.94