Fairoj : FEEDBACK VERSION 4 CHANGES

This commit is contained in:
venbatechnologies@gmail.com 2020-10-03 20:51:57 +05:30
parent f67e81816e
commit 41582545f3
6 changed files with 76 additions and 31 deletions

View File

@ -140,6 +140,7 @@
<ngx-mat-select-search [formControl]="designationFilterCtrl"
[placeholderLabel]="'Search Designation...'"
[noEntriesFoundLabel]="'no matching records found'"></ngx-mat-select-search>
<mat-option>Select</mat-option>
<mat-option *ngFor="let item of filteredcompanyRelationshipList | async" [value]="item.name.split('of')[0]">{{item.name.split('of')[0]}}</mat-option>
</mat-select>
<mat-error align="end" style="font-size:13px" *ngIf="getQuestionControl().at(0)['controls']['designation_entered'].errors?.required || getQuestionControl().at(0)['controls']['designation_entered'].touched">Designation required</mat-error>
@ -150,6 +151,7 @@
<ngx-mat-select-search [formControl]="relationFilterCtrl"
[placeholderLabel]="'Search Relation...'"
[noEntriesFoundLabel]="'no matching records found'"></ngx-mat-select-search>
<mat-option>Select</mat-option>
<mat-option *ngFor="let item of filteredrelationshipList | async" [value]="item.name">{{item.name}}</mat-option>
</mat-select>
<mat-error align="end" style="font-size:13px" *ngIf="getQuestionControl().at(0)['controls']['relation_entered'].errors?.required || getQuestionControl().at(0)['controls']['relation_entered'].touched">Relation required</mat-error>
@ -157,6 +159,7 @@
<mat-form-field appearance="fill">
<mat-label>Relation to</mat-label>
<mat-select formControlName="relation_to">
<mat-option>Select</mat-option>
<mat-option *ngFor="let applicant of getQuestionControl().at(0).get('individuals')['controls'];let a_i=index" [value]="applicant.value.applicant_name">{{applicant.value.applicant_name}}</mat-option>
</mat-select>
<mat-error align="end" style="font-size:13px" *ngIf="getQuestionControl().at(0)['controls']['relation_to'].errors?.required || getQuestionControl().at(0)['controls']['relation_to'].touched">Relation to required</mat-error>
@ -256,7 +259,8 @@
</div>
<div fxLayout="column" class="ion-align-self-end">
<mat-slide-toggle class="ion-float-right" color="primary" formControlName="is_pd_done_on_initiated_address"
></mat-slide-toggle>
(change)="dynamicOnChangeValidations($event.checked,[getQuestionControl().at(1).get('alternative_addresses')['controls'][0]['controls'].alternative_address,getQuestionControl().at(1).get('alternative_addresses')['controls'][0]['controls'].reason_for_alternative_address],false)" ></mat-slide-toggle>
<!-- ABOVE LINE CHANGE FUNCTION HAS DYNAMICALLY SETTING VALIDATION FOR alternative_address and reason_for_alternative_address-->
</div>
</div>
</div>
@ -536,6 +540,7 @@
<mat-form-field appearance="fill">
<mat-label>Do You Want to Add Other Documents?</mat-label>
<mat-select formControlName="other_documents" (selectionChange)= "onDocsSightedChange($event.value,2)">
<mat-option>Select</mat-option>
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
<!-- <mat-option value="not applicable">Not Applicable</mat-option> -->
@ -696,6 +701,7 @@
<mat-form-field appearance="fill">
<mat-label>Stock Photograph</mat-label>
<mat-select formControlName="is_stock_photo">
<mat-option>Select</mat-option>
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
</mat-select>
@ -952,6 +958,7 @@
<mat-label>Final Status of visit</mat-label>
<!-- <textarea matInput type="text" placeholder="Any other comments" formControlName="final_comments"></textarea> -->
<mat-select formControlName="final_visit_status">
<mat-option>Select</mat-option>
<mat-option value="Positive">Positive</mat-option>
<mat-option value="Negative">Negative</mat-option>
<mat-option value="Could not verify">Could not verify</mat-option>

View File

@ -31,10 +31,6 @@ export class CommonQuesComponent implements OnInit {
stepper_index:2
},
{
form_name:'Employer information',
form_id:"BUSINESS_GROUP",
stepper_index:2
},{
form_name:'Credit Manager Queries',
form_id:24,
stepper_index:3,
@ -172,7 +168,7 @@ export class CommonQuesComponent implements OnInit {
// this.FormId=this.router.getCurrentNavigation().extras.state.FormId
this.applicants = this.pdDetails.applicants_details;
this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2 && appt.pd_co_applicant_id != 0);
this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': "Others"})
// this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': "Others"})
this.customer_seg_abbr = this.pdDetails.customer_segment_abbr
console.log("constr",this.pdDetails,this.docs_tobe_collect)
if(this.pdDetails.lender_short_name == 'CLIX' || this.pdDetails.lender_short_name == 'MWISE' || this.pdDetails.prod_catagory == 'LAEP')
@ -360,6 +356,7 @@ getMasters() {
modifyApplicantList=this.applicants.map(element=>{
return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};
})
modifyApplicantList.push({id:0,name:"Others",group_id:2})
this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})
}
@ -1174,11 +1171,11 @@ public findInvalidControls() {
if(group.invalid) {
console.log(group,group.value.form_name);
// debugger;
msg= "Questions are not filled up in "+group.value.form_name
msg= group.value.form_name+" are not complete"
let index = this.stepperInfo.findIndex(vv=>vv.form_id == group.value.form_id);
console.log("Index",index);
if(index != -1) {
msg = "Questions are not filled up in "+this.stepperInfo[index].form_name
msg = this.stepperInfo[index].form_name+" are not complete"
this.myStepper.selectedIndex = this.stepperInfo[index].stepper_index
}
for (const name in group['controls']) {
@ -1187,7 +1184,7 @@ public findInvalidControls() {
let invalidFields = [].slice.call(document.getElementsByClassName('ng-invalid'));
let firstInvalidField;
for(let val in invalidFields){
if( invalidFields[val].nodeName == 'MAT-FORM-FIELD' || invalidFields[val].nodeName == 'MAT-SELECT' || invalidFields[val].nodeName == 'TEXTAREA' ){ //INPUT FOR INPUT FIELD
if( invalidFields[val].nodeName == 'MAT-FORM-FIELD' || invalidFields[val].nodeName == 'MAT-SELECT' || invalidFields[val].nodeName == 'TEXTAREA' || invalidFields[val].nodeName == 'MAT-RADIO-GROUP' ){ //INPUT FOR INPUT FIELD
firstInvalidField=invalidFields[val]
break;
}
@ -1516,6 +1513,20 @@ getAddressTypeNameById(id) {
}
return 'Workplace'
}
dynamicOnChangeValidations(choosed_value,controls_arr,value_compare) {
console.log("D",choosed_value,value_compare,value_compare == choosed_value)
if(controls_arr.length && controls_arr.length >0) {
controls_arr.forEach(vv=>{
if(choosed_value == value_compare) {
vv.setValidators(Validators.required);
}
else{
vv.clearValidators();
}
vv.updateValueAndValidity()
})
}
}
ngOnDestroy() {
console.log("Common ques component destroyed");
if(this.firstFormGroup.dirty){

View File

@ -82,6 +82,7 @@
<mat-form-field appearance="fill">
<mat-label>Is the Employer/ Manager available during FI visit?</mat-label>
<mat-select formControlName="is_employer_available">
<mat-option>Select</mat-option>
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
</mat-select>
@ -93,6 +94,7 @@
<mat-form-field appearance="fill" *ngIf="checkPartEnable(2)">
<mat-label>Anyone met during FI visit at initiated address?</mat-label>
<mat-select formControlName="is_met_during_visit">
<mat-option>Select</mat-option>
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
</mat-select>
@ -142,7 +144,7 @@
</mat-step>
<!-- getQuestionControl().at(2).get('employer_details') || getQuestionControl().at(2).get('office_photographs') || getQuestionControl().at(2).get('nameboard_photographs') || getQuestionControl().at(2).get('docs_sighted') -->
<mat-step *ngIf="checkPartEnable(4) || checkPartEnable(5) || checkPartEnable(1) || checkPartEnable(1) == false" formGroupName="2" [stepControl]="questions?.get([2])">
<ng-template matStepLabel>Employment Information</ng-template>
<ng-template matStepLabel>{{dynamicStepperHeadingForEmp}}</ng-template>
<!-- START OF EMPLOYER INFO -->
<div *ngIf="checkPartEnable(4) && getQuestionControl().at(2).get('employer_details')" formArrayName="employer_details">
@ -158,6 +160,7 @@
<mat-select formControlName="designation_person_met">
<ngx-mat-select-search [formControl]="designationFilterCtrl" [placeholderLabel]="'Search Designation...'"
[noEntriesFoundLabel]="'no matching records found'"></ngx-mat-select-search>
<mat-option>Select</mat-option>
<mat-option *ngFor="let item of filteredcompanyRelationshipList | async"
[value]="item.company_relationship_id">{{item.name.split('of')[0]}}</mat-option>
</mat-select>
@ -167,7 +170,7 @@
</mat-form-field>
<div fxLayout="row" class="ion-align-items-center">
<div fxLayout="column" align="center" class="ion-align-self-center">
<div fxLayout="column" align="center" fxLayoutAlign="center center">
<!-- <ion-thumbnail slot="center"> -->
<div fxLayout="row" fxLayoutAlign="center center">
<img ngxViewer text="PD Photos" title="Selfie Pic" class="ion-text-center"
@ -192,8 +195,9 @@
<div fxLayout="row">
<div fxLayout="column" fxFlex="85%">
<mat-form-field appearance="fill">
<mat-label>Photograph of “Photo ID card of the Employer/Manager"</mat-label>
<mat-label>Photo ID card of the Employer/Manager</mat-label>
<mat-select formControlName="photo_id_card">
<mat-option>Select</mat-option>
<mat-option *ngFor="let item of photoIdCardList" [value]="item"> {{item}}</mat-option>
</mat-select>
</mat-form-field>
@ -226,6 +230,7 @@
<mat-form-field appearance="fill">
<mat-label>Employers/Managers Company ID card / Visiting Card provided”?</mat-label>
<mat-select formControlName="visiting_card">
<mat-option>Select</mat-option>
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
</mat-select>
@ -256,7 +261,8 @@
</div>
<mat-form-field appearance="fill">
<mat-label>Salary Amount Confirmed from Employer/Manager</mat-label>
<mat-select formControlName="confirm_salary">
<mat-select formControlName="confirm_salary" (selectionChange)="dynamicOnChangeValidations($event.value,[getEmployer_details['controls']['sal_amount_was_not_confirmed']],'no')">
<mat-option>Select</mat-option>
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
</mat-select>
@ -265,11 +271,11 @@
</mat-form-field>
<div *ngIf="getEmployer_details.value.confirm_salary == 'yes'">
<mat-form-field appearance="fill">
<mat-label>Gross Salary</mat-label>
<mat-label>Gross Salary <span style="font-size:13px">(salary before deduction)</span></mat-label>
<input matInput type="number" formControlName="gross_monthly_salary" />
</mat-form-field>
<mat-form-field appearance="fill">
<mat-label>Net Salary</mat-label>
<mat-label>Net Salary <span style="font-size:13px">(salary after deduction)</span></mat-label>
<input matInput type="number" formControlName="net_monthly_salary" />
</mat-form-field>
<mat-form-field appearance="fill">
@ -332,11 +338,21 @@
</mat-form-field>
</div>
</div>
<mat-form-field appearance="fill" *ngIf="getEmployer_details.value.confirm_salary == 'no'">
<mat-form-field *ngIf="getEmployer_details.value.confirm_salary == 'no'">
<mat-label>Why salary amount was not confirmed by employer?</mat-label>
<textarea matInput type="text" formControlName="sal_amount_was_not_confirmed"></textarea>
<!-- <textarea matInput type="text" formControlName="sal_amount_was_not_confirmed"></textarea> -->
<mat-select formControlName="sal_amount_was_not_confirmed" multiple>
<!-- <mat-option>Select</mat-option> -->
<mat-option *ngFor="let item of salAmountNotConfirmList" [value]="item">{{item}}</mat-option>
</mat-select>
<mat-error align="end" style="font-size:12px"
*ngIf="getEmployer_details['controls']['sal_amount_was_not_confirmed'].errors?.required ">Required
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="checkSpecifyField(getEmployer_details.value.sal_amount_was_not_confirmed)">
<mat-label>Please Specify</mat-label>
<input matInput type="text" formControlName="sal_amount_was_not_confirmed_others"/>
</mat-form-field>
<div>
<label>Since how long working with this employer?</label>
@ -366,7 +382,7 @@
<!-- START OF DOCS SIGHTED -->
<div *ngIf="checkPartEnable(5) && getQuestionControl().at(2).get('docs_sighted')" formArrayName="docs_sighted">
<mat-label><h5>Documents Sighted of applicant employment During FI</h5></mat-label>
<mat-label><h5>{{dynamicStepperHeadingForEmp}}</h5></mat-label>
<hr/><br/><br/>
<div fxLayout="row">
<div fxLayout="column" fxFlex="85%">
@ -588,7 +604,7 @@ Image </mat-label> -->
<!-- START OF OFFICE PHOTOGRAPHS -->
<div *ngIf="checkPartEnable(1) && getQuestionControl().at(2).get('office_photographs')">
<br/>
<mat-label><h5>Office Setup Photographs</h5></mat-label>
<mat-label><h5>{{dynamicStepperHeadingForEmp}}</h5></mat-label>
<hr/><br/><br/>
<div fxLayout="row" fxLayoutGap="10px" class="ion-align-items-center" formArrayName="office_photographs">
<div fxLayout="column" class="ion-align-self-center" *ngFor="let val of getPhotoControls('office_photographs');let i=index" [formGroupName]="i">
@ -616,7 +632,7 @@ Image </mat-label> -->
<!-- START OF NAME BOARD PHOTOGRAPHS -->
<div *ngIf="checkPartEnable(1) == false && getQuestionControl().at(2).get('nameboard_photographs')">
<br/>
<mat-label><h5> Name board/Entrance photograph</h5></mat-label>
<mat-label><h5>{{dynamicStepperHeadingForEmp}}</h5></mat-label>
<hr/><br/><br/>
<div fxLayout="row" class="ion-align-items-center" formArrayName="nameboard_photographs">
<div fxLayout="column" size="6" align="center" class="ion-align-self-center" *ngFor="let val of getPhotoControls('nameboard_photographs');let i=index" [formGroupName]="i">
@ -737,12 +753,13 @@ Image </mat-label> -->
</div>
<div fxLayout="column" class="ion-align-self-end">
<mat-slide-toggle class="ion-float-right" color="primary" formControlName="is_pd_done_on_initiated_address"
></mat-slide-toggle>
(change)="dynamicOnChangeValidations($event.checked,[getQuestionControl().at(1).get('alternative_addresses')['controls'][0]['controls'].alternative_address,getQuestionControl().at(1).get('alternative_addresses')['controls'][0]['controls'].reason_for_alternative_address],false)"></mat-slide-toggle>
</div>
</div>
</div>
<div *ngIf="getQuestionControl().at(1)['controls']['is_pd_done_on_initiated_address'].value === false">
<br/> <hr class="line">
<br/>
<!-- <hr class="line"> -->
<div formArrayName="alternative_addresses" >
<div *ngFor="let alternative of getQuestionControl().at(1)['controls'].alternative_addresses['controls']; let i=index" [formGroupName]="i">
<mat-form-field style="width: 100%">
@ -808,7 +825,7 @@ Image </mat-label> -->
</div>
</div>
<hr class="line">
<!-- <hr class="line"> -->
</div>
<mat-form-field style="width: 100%">
<!-- (selectionChange)="setOthers($event.value,'',3);selectedAddressType($event.source.triggerValue)" -->
@ -991,6 +1008,7 @@ Image </mat-label> -->
<mat-label>Final Status of visit</mat-label>
<!-- <textarea matInput type="text" placeholder="Any other comments" formControlName="final_comments"></textarea> -->
<mat-select formControlName="final_visit_status">
<mat-option>Select</mat-option>
<mat-option value="Positive">Positive</mat-option>
<mat-option value="Negative">Negative</mat-option>
<mat-option value="Could not verify">Could not verify</mat-option>

View File

@ -65,6 +65,7 @@ export class EmployerInfoComponent implements OnInit {
docNotAvailList:any=[
"Documents were not shared by Employer", "Documents are not issued by Employer", "Documents were not available", "Employer was not available", "Others (please specify)"
]
salAmountNotConfirmList=["Employer doesnt know", "Employer was not co-operative", "Others Please Specify"]
public dateonly: any = [{date:1,isdisabled:false},{date:2,isdisabled:false},{date:3,isdisabled:false},{date:4,isdisabled:false},{date:5,isdisabled:false},{date:6,isdisabled:false},{date:7,isdisabled:false},{date:8,isdisabled:false},{date:9,isdisabled:false},{date:10,isdisabled:false},{date:11,isdisabled:false},{date:12,isdisabled:false},{date:13,isdisabled:false},{date:14,isdisabled:false},{date:15,isdisabled:false},{date:16,isdisabled:false},{date:17,isdisabled:false},{date:18,isdisabled:false},{date:19,isdisabled:false},{date:20,isdisabled:false},{date:21,isdisabled:false},{date:22,isdisabled:false},{date:23,isdisabled:false},{date:24,isdisabled:false},{date:25,isdisabled:false},{date:26,isdisabled:false},{date:27,isdisabled:false},{date:28,isdisabled:false},{date:29,isdisabled:false},{date:30,isdisabled:false},{date:31,isdisabled:false}];
public todate: any[] = this.dateonly;
neighbour_status_list:any=[{id:'',name:'Select'},{id:'Positive',name:'Positive'},{id:'Negative',name:'Negative'},{id:'Could not verify',name:'Could not verify'}]
@ -102,6 +103,7 @@ export class EmployerInfoComponent implements OnInit {
customer_seg_abbr: any;
generalExistBusinessYear: number;
generalExistBusinessMonth: number;
dynamicStepperHeadingForEmp:String;
notifier: NotifierService;
get questions() { return this.employerForm.get('questions');}
get getEmployer_details() {return this.questions.get([2]).get('employer_details')}
@ -720,6 +722,7 @@ export class EmployerInfoComponent implements OnInit {
gross_monthly_salary:[''],
net_monthly_salary:[''],
sal_amount_was_not_confirmed:[''],
sal_amount_was_not_confirmed_others:[''],
// Mode of net salary
mode_of_getting_salary:[''],
amount_paid_through_bank:[''],
@ -1227,11 +1230,11 @@ export class EmployerInfoComponent implements OnInit {
if(group.invalid) {
console.log(group,group.value.form_name);
// debugger;
msg= "Questions are not filled up in "+group.value.form_name
msg= group.value.form_name+" are not complete"
let index = this.stepperInfo.findIndex(vv=>vv.form_id == group.value.form_id);
console.log("Index",index);
if(index != -1) {
msg = "Questions are not filled up in "+this.stepperInfo[index].form_name
msg = this.stepperInfo[index].form_name+" are not complete"
this.myStepper.selectedIndex = this.stepperInfo[index].stepper_index
}
for (const name in group['controls']) {
@ -1549,6 +1552,7 @@ export class EmployerInfoComponent implements OnInit {
// general_controls.person_met_entered_pic.setValidators(Validators.required);
// FOR ADDING OFFICE PHOTO
employement_controls.addControl('office_photographs',this._formBuilder.array([]))
this.dynamicStepperHeadingForEmp = "Office Setup Photographs"
// FOR REMOVING NAME BOARD PHOTO
employement_controls.removeControl('nameboard_photographs')
return true
@ -1556,6 +1560,7 @@ export class EmployerInfoComponent implements OnInit {
else if(general_controls.is_met_during_visit.value == 'no'){
// FOR ADDING NAME BOARD PHOTO
employement_controls.addControl('nameboard_photographs',this._formBuilder.array([]))
this.dynamicStepperHeadingForEmp = "Name board/Entrance photograph"
// FOR REMOVING OFFICE PHOTO
employement_controls.removeControl('office_photographs')
return false
@ -1594,6 +1599,7 @@ export class EmployerInfoComponent implements OnInit {
case 4:
if (general_controls.is_employer_available.value == 'yes') {
employement_controls.addControl('employer_details',this.getEmployerDetailsControls())
this.dynamicStepperHeadingForEmp = "Employment Information"
return true;
}
else{
@ -1607,6 +1613,7 @@ export class EmployerInfoComponent implements OnInit {
if(applicant_arr && applicant_arr.length > 0) {
if(general_controls.is_employer_available.value == 'no' && applicant_arr.filter(vv=>vv.is_person_met == true).length != 0 ){
employement_controls.addControl('docs_sighted',this.getDocsSightedDetailsControls())
this.dynamicStepperHeadingForEmp = "Documents Sighted of applicant employment During FI"
return true;
}
else{

View File

@ -152,7 +152,7 @@
<!-- <span><button mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" [matTooltip]="master.fk_primary_address_id ? 'Initiate PD for this address' : 'Initiate Address for PD Process'" matTooltipPosition="above" (click)="initiateAddtionalPD(master,addresses,master.fk_primary_address_id ? true : false)"><mat-icon>where_to_vote</mat-icon></button></span> -->
<button *ngIf="VendorRoleID != 22" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button>
<span><button mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button></span>
<span *ngIf="VendorRoleID != 22"><button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].vendor_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].vendor_status!=pdStatusCheck.TRIGGERED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(addresses,addresses.addtional_pd_data[0].vendor_status)"><mat-icon>question_answer</mat-icon></button></span>
<span *ngIf="VendorRoleID != 22 && addresses.addtional_pd_data[0].is_qc_enabled == '1'"><button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].vendor_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].vendor_status!=pdStatusCheck.TRIGGERED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(addresses,addresses.addtional_pd_data[0].vendor_status)"><mat-icon>question_answer</mat-icon></button></span>
</div>
</div>
</div>
@ -193,7 +193,7 @@
<div fxFlex="60" align="right">
<span><button *ngIf="VendorRoleID != 22" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button></span>
<span><button mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button></span>
<span *ngIf="VendorRoleID != 22"><button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].vendor_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].vendor_status!=pdStatusCheck.TRIGGERED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(addresses,addresses.addtional_pd_data[0].vendor_status)"><mat-icon>question_answer</mat-icon></button></span>
<span *ngIf="VendorRoleID != 22 && addresses.addtional_pd_data[0].is_qc_enabled == '1'"><button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].vendor_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].vendor_status!=pdStatusCheck.TRIGGERED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(addresses,addresses.addtional_pd_data[0].vendor_status)"><mat-icon>question_answer</mat-icon></button></span>
</div>
</div>
<div fxLayout="row nowrap">
@ -260,7 +260,7 @@
<div fxFlex="100">
<mat-card fxFlex="100" class="p-2" style="box-shadow: 0 0 1px rgba(0,0,0,.18), 0 0 1px rgba(0,0,0,.15) !important">
<div class="mat-button-div" style="text-align: right;">
<button *ngIf="VendorRoleID != 22" mat-raised-button color="primary" class="mr-1 mb-1 hover-icon" type="button" matTooltip="QC COMPLETED" matTooltipPosition="above" (click)="onClickQCCompleted(master)">QC COMPLETED</button>
<button *ngIf="VendorRoleID != 22 && master.is_qc_enabled == '1'" mat-raised-button color="primary" class="mr-1 mb-1 hover-icon" type="button" matTooltip="QC COMPLETE" matTooltipPosition="above" (click)="onClickQCCompleted(master)" [disabled]="master.vendor_status != 'COMPLETED'">QC COMPLETE</button>
</div>
</mat-card>
</div>
@ -398,7 +398,7 @@
</mat-tab>-->
<mat-tab>
<ng-template mat-tab-label>PD History</ng-template>
<ng-template mat-tab-label>FI History</ng-template>
<div *ngIf="masterPdLogsData.length>0; else nohistory">
<mat-list class="m-gap p-gap" *ngFor="let master of masterPdLogsData">
<mat-list-item [ngClass]="master.meta_data ? 'metaDataStyle' : '' ">

View File

@ -370,6 +370,7 @@ export class ViewPdComponent implements OnInit, OnDestroy {
.subscribe(dataresult => {
if (dataresult.update_status == true) {
// this.router.navigate(['../../startpd',pdDetails.assigned_pd], { relativeTo: this.route });
this.viewPdDetails(this.viewID)
this.openQuesComp(pdDetails)
}
});
@ -502,13 +503,14 @@ export class ViewPdComponent implements OnInit, OnDestroy {
console.log('qccompleted',master);
let param={
pd_id: master.pd_id,
vendor_status: master.vendor_status,
vendor_status: 'QC_COMPLETED',
fk_updatedby: master.fk_updatedby,
}
this._pd.updateStatus(param).subscribe(res=>{
if(res['status'] == '200'){
console.log(res['dataStatus'].status == 200)
this.notifier.notify("info","Updated Successfully")
this.viewPdDetails(this.viewID);
}
else if(res['status'] == '304'){
Swal(