Vendor search filter

This commit is contained in:
sriram-at-840620226347 2020-07-22 18:53:20 +05:30
parent 09a3e56875
commit f698156061
4 changed files with 109 additions and 4 deletions

View File

@ -1,6 +1,6 @@
import { Component, OnInit, Inject, ViewEncapsulation } from '@angular/core';
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
import { FormBuilder, FormGroup } from '@angular/forms';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { NotifierService } from 'angular-notifier';
import { PdTrigerService } from '../../../pd-service/pd-triger.service';
// import { AllocationViewMoreComponent } from './../allocation-view-more/allocation-view-more.component';
@ -18,6 +18,10 @@ export class VendorPdAllocationComponent implements OnInit {
notifier: NotifierService;
selectedItem: any;
isDisabled: boolean;
searchForm:FormGroup;
public submitted = false;
cityList: any = [];
stateList: any = [];
constructor(notifier: NotifierService,
private _fb: FormBuilder,
@ -26,11 +30,19 @@ export class VendorPdAllocationComponent implements OnInit {
@Inject(MAT_DIALOG_DATA) public data: any) {
console.log(data)
this.notifier = notifier;
this.searchForm = this._fb.group(
{
vendor_name:[null],
state: [null],
city:[null]
});
}
ngOnInit() {
this.isDisabled = true;
this.getVendorList();
this.getStateCityList();
// this._pdAllocationForm = this._fb.group({
// pd_primary_id: [null],
@ -38,6 +50,7 @@ export class VendorPdAllocationComponent implements OnInit {
// });
}
// convenience getter for easy access to form fields
// get readForm() { return this._pdAllocationForm.controls; }
// pd officer list
@ -80,6 +93,63 @@ export class VendorPdAllocationComponent implements OnInit {
});
}
}
//get State
getStateCityList() {
this._pd.getAllMasterDatas('STATE').subscribe(
data => {
if (data.status == 200) {
this.stateList = data.records.filter(item => item.isactive == 1);
// this.stateData = this.stateList;
}
});
}
//get city list details based on state id
getCityList(stateID: string,index) {
this._pd.getStateWiseCities(stateID).subscribe(data => {
if (data.status == 200) {
this.cityList[index] = data.records.cities;
// this.cityData[index] = this.cityList[index];
}
});
}
/** To Save/Edited Popup Data */
searchItem() {
this.submitted = true;
var searchVendor = this.searchForm.value;
if(searchVendor.vendor_name == null && searchVendor.city == null){
this.notifier.notify('warning', 'Please fill the feilds');
return;
}
//To Remove The "Null" With Key also
Object.keys(searchVendor).forEach((key) => (searchVendor[key] == null) && delete searchVendor[key]);
//Add BRANCH data with help Service File
this._pd.searchListOfvendors(searchVendor).subscribe(
dataresult => {
if (dataresult.status == 200) {
console.log(dataresult);
this.pdOfficerList = dataresult.records;
}
else{
this.pdOfficerList=[];
this.notifier.notify('warning', 'No Records Found !');
}
}, error => {
this.dialogRef.close(null);
this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
// this.errorMessage = "Something Went Wrong Try Again !";
});
}
onReset(){
this.searchForm.reset();
this.getVendorList();
}
/** For Popup Close Button */
closeAllocationComponent(): void {
this.dialogRef.close();

View File

@ -10,6 +10,33 @@
</h2>
<mat-dialog-content class="mat-typography">
<!-- <form [formGroup]="_pdAllocationForm" (submit)="onSubmit()"> -->
<div [formGroup]="searchForm">
<mat-form-field style="width:30%">
<input matInput type="text" formControlName="vendor_name" placeholder="Vendor Name" >
</mat-form-field> &nbsp; &nbsp;
<mat-form-field style="width: 30%">
<mat-select placeholder="State" formControlName="state" (selectionChange)="getCityList($event.value,i)">
<mat-option *ngFor="let SL of stateList" [value]="SL.state_id">{{SL.name}}</mat-option>
</mat-select>
</mat-form-field> &nbsp; &nbsp;
<mat-form-field style="width:30%" *ngIf="searchForm.value.state != '' && searchForm.value.state != null" >
<mat-select formControlName="city" placeholder="City">
<mat-option *ngFor="let CL of cityList[i]" [value]="CL.city_id">{{CL.city_name}}</mat-option>
</mat-select>
</mat-form-field> &nbsp; &nbsp;
<button type="button" mat-raised-button mat-icon-button (click)="onReset()"
matTooltip="Reset" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary">
<mat-icon>settings_backup_restore</mat-icon>
</button> &nbsp; &nbsp;
<button type="button" mat-raised-button mat-icon-button (click)="searchItem()"
matTooltip="Search" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" type="button">
<mat-icon>search</mat-icon>
</button>
</div>
<mat-list role="list" *ngIf="pdOfficerList.length > 0">
@ -37,7 +64,7 @@
</mat-list>
<mat-list *ngIf="pdOfficerList.length == 0">
<mat-list-item>
<p>No PD officer available.</p>
<p>No Vendor officer available.</p>
</mat-list-item>
</mat-list>

View File

@ -303,7 +303,15 @@ export class PdTrigerService {
catchError(this.handleError('role', []))
)
}
//search vendor list
searchListOfvendors(params): Observable<any>{
let SearchVendor =
{ params: new HttpParams().set('vendor_name', params.vendor_name).set('location', params.city) };
return this._http.get<any>(this.apiUrl+'getListOfvendors',SearchVendor)
.pipe(
catchError(this.handleError('operation', []))
)
}
// get Vendor List
getVendorList() {
return this._http.get<any>(this.apiUrl + 'getListOfvendors')

View File

@ -220,7 +220,7 @@ console.log("cog",userData,this.usersData)
if (this.usersData === undefined) {
this.AWS.register(userData).subscribe(res => {
if (res.User.UserStatus != '' && res.User.UserStatus !== undefined && res.User.UserStatus != null) {
if(userData.role.role_id == 10){
if(userData.role.role_id == 10 || userData.role.role_id == 21){
this.AWS.UserGroup(res,userData).subscribe(res=>{});}
this.users.saveRecords(res, userData).subscribe(res => {
data = res;