merge:kms
This commit is contained in:
parent
d38de2243e
commit
0a8685f13d
28
ng6-seed/package-lock.json
generated
28
ng6-seed/package-lock.json
generated
@ -4294,12 +4294,14 @@
|
|||||||
"balanced-match": {
|
"balanced-match": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"brace-expansion": {
|
"brace-expansion": {
|
||||||
"version": "1.1.11",
|
"version": "1.1.11",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"balanced-match": "^1.0.0",
|
"balanced-match": "^1.0.0",
|
||||||
"concat-map": "0.0.1"
|
"concat-map": "0.0.1"
|
||||||
@ -4314,17 +4316,20 @@
|
|||||||
"code-point-at": {
|
"code-point-at": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"concat-map": {
|
"concat-map": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"console-control-strings": {
|
"console-control-strings": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"core-util-is": {
|
"core-util-is": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
@ -4441,7 +4446,8 @@
|
|||||||
"inherits": {
|
"inherits": {
|
||||||
"version": "2.0.3",
|
"version": "2.0.3",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"ini": {
|
"ini": {
|
||||||
"version": "1.3.5",
|
"version": "1.3.5",
|
||||||
@ -4453,6 +4459,7 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"number-is-nan": "^1.0.0"
|
"number-is-nan": "^1.0.0"
|
||||||
}
|
}
|
||||||
@ -4467,6 +4474,7 @@
|
|||||||
"version": "3.0.4",
|
"version": "3.0.4",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"brace-expansion": "^1.1.7"
|
"brace-expansion": "^1.1.7"
|
||||||
}
|
}
|
||||||
@ -4474,12 +4482,14 @@
|
|||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "0.0.8",
|
"version": "0.0.8",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"minipass": {
|
"minipass": {
|
||||||
"version": "2.2.4",
|
"version": "2.2.4",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"safe-buffer": "^5.1.1",
|
"safe-buffer": "^5.1.1",
|
||||||
"yallist": "^3.0.0"
|
"yallist": "^3.0.0"
|
||||||
@ -4498,6 +4508,7 @@
|
|||||||
"version": "0.5.1",
|
"version": "0.5.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "0.0.8"
|
"minimist": "0.0.8"
|
||||||
}
|
}
|
||||||
@ -4578,7 +4589,8 @@
|
|||||||
"number-is-nan": {
|
"number-is-nan": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"object-assign": {
|
"object-assign": {
|
||||||
"version": "4.1.1",
|
"version": "4.1.1",
|
||||||
@ -4590,6 +4602,7 @@
|
|||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"wrappy": "1"
|
"wrappy": "1"
|
||||||
}
|
}
|
||||||
@ -4711,6 +4724,7 @@
|
|||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"code-point-at": "^1.0.0",
|
"code-point-at": "^1.0.0",
|
||||||
"is-fullwidth-code-point": "^1.0.0",
|
"is-fullwidth-code-point": "^1.0.0",
|
||||||
|
|||||||
@ -1,108 +1,101 @@
|
|||||||
<div class="pad-wrap">
|
<div class="pad-wrap">
|
||||||
|
<div fxFlex.gt-sm="100" fxFlex.gt-xs="100" fxFlex="100">
|
||||||
|
<mat-card style="min-height: 110%;">
|
||||||
|
<mat-card-title>
|
||||||
|
<div fxFlex.gt-sm="25" fxFlex="100">
|
||||||
|
{{dashboardTitle}}
|
||||||
|
|
||||||
<!-- doughnut -->
|
</div>
|
||||||
<div fxFlex.gt-sm="100" fxFlex.gt-xs="100" fxFlex="100">
|
<div fxFlex.gt-sm="25" fxFlex="100">
|
||||||
<mat-card>
|
<ngx-mat-drp (selectedDateRangeChanged)="updateRange($event)" (change)="onChange($event,'One')" [options]="options" #dateRangePicker></ngx-mat-drp>
|
||||||
<mat-card-title>
|
|
||||||
<div fxFlex.gt-sm="25" fxFlex="100">
|
|
||||||
{{dashboardTitle}}
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div fxFlex.gt-sm="25" fxFlex="100">
|
<div fxFlex.gt-sm="25" fxFlex="100">
|
||||||
<ngx-mat-drp (selectedDateRangeChanged)="updateRange($event)" (change)="onChange($event,'One')" [options]="options" #dateRangePicker></ngx-mat-drp>
|
<mat-form-field class="example-full-width">
|
||||||
|
<mat-select placeholder="City" [formControl]="myControl" multiple>
|
||||||
|
<mat-select-trigger style="color:#fff;">
|
||||||
|
{{myControl.value != null && myControl.value != '' ? myControl.value[0].name : ''}}
|
||||||
|
<span *ngIf="myControl.value?.length > 1" >
|
||||||
|
(+{{myControl.value.length - 1}} {{myControl.value?.length === 2 ? 'other' : 'others'}})
|
||||||
|
</span>
|
||||||
|
</mat-select-trigger>
|
||||||
|
<mat-option *ngFor="let cd of cityData" (onSelectionChange)="onChange($event,2)" [value]="cd">{{ cd.name }} / {{cd.state_name}} </mat-option>
|
||||||
|
</mat-select>
|
||||||
|
|
||||||
</div>
|
</mat-form-field>
|
||||||
<div fxFlex.gt-sm="25" fxFlex="100">
|
|
||||||
<mat-form-field class="example-full-width">
|
|
||||||
<mat-select placeholder="City" [formControl]="myControl" multiple>
|
|
||||||
<mat-select-trigger style="color:#fff;">
|
|
||||||
{{myControl.value ? myControl.value[0].name : ''}}
|
|
||||||
<span *ngIf="myControl.value?.length > 1" >
|
|
||||||
(+{{myControl.value.length - 1}} {{myControl.value?.length === 2 ? 'other' : 'others'}})
|
|
||||||
</span>
|
|
||||||
</mat-select-trigger>
|
|
||||||
<mat-option *ngFor="let cd of cityData" (onSelectionChange)="onChange($event,2)" [value]="cd">{{ cd.name }} / {{cd.state_name}} </mat-option>
|
|
||||||
</mat-select>
|
|
||||||
|
|
||||||
</mat-form-field>
|
</div>
|
||||||
|
<div fxFlex.gt-sm="25" fxFlex="100">
|
||||||
|
|
||||||
</div>
|
<mat-form-field class="example-full-width">
|
||||||
<div fxFlex.gt-sm="25" fxFlex="100">
|
<mat-select placeholder="Lender" [formControl]="myControl2" multiple>
|
||||||
|
<mat-select-trigger style="color:#fff;">
|
||||||
|
{{myControl2.value != null && myControl2.value != '' ? myControl2.value[0].short_name : ''}}
|
||||||
|
<span *ngIf="myControl2.value?.length > 1" >
|
||||||
|
(+{{myControl2.value.length - 1}} {{myControl2.value?.length === 2 ? 'other' : 'others'}})
|
||||||
|
</span>
|
||||||
|
</mat-select-trigger>
|
||||||
|
<!-- <mat-option #allSelected (click)="toggleAllSelection()" [value]="0">All</mat-option> -->
|
||||||
|
<mat-option *ngFor="let ld of lenderData" (onSelectionChange)="onChange($event,3)" [value]="ld">{{ ld.full_name }} ({{ ld.short_name }})</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
|
||||||
<mat-form-field class="example-full-width">
|
</mat-form-field>
|
||||||
<mat-select placeholder="Lender" [formControl]="myControl2" multiple>
|
</div>
|
||||||
<mat-select-trigger style="color:#fff;">
|
|
||||||
{{myControl2.value ? myControl2.value[0].short_name : ''}}
|
|
||||||
<span *ngIf="myControl2.value?.length > 1" >
|
|
||||||
(+{{myControl2.value.length - 1}} {{myControl2.value?.length === 2 ? 'other' : 'others'}})
|
|
||||||
</span>
|
|
||||||
</mat-select-trigger>
|
|
||||||
<!-- <mat-option #allSelected (click)="toggleAllSelection()" [value]="0">All</mat-option> -->
|
|
||||||
<mat-option *ngFor="let ld of lenderData" (onSelectionChange)="onChange($event,3)" [value]="ld">{{ ld.full_name }} ({{ ld.short_name }})</mat-option>
|
|
||||||
</mat-select>
|
|
||||||
|
|
||||||
</mat-form-field>
|
</mat-card-title>
|
||||||
</div>
|
<!-- <pre> Full - {{doughnutChartDataForFullPD}} Smart -{{doughnutChartDataForSmartPD}} TELE -{{doughnutChartDataForTelePD}} </pre> -->
|
||||||
</mat-card-title>
|
<mat-card-content>
|
||||||
|
<div fxLayout="row" style="min-height:280px;">
|
||||||
|
<div fxFlex.gt-sm="30" fxFlex="100" >
|
||||||
|
<canvas baseChart class="chart" id="FullCanvas" name="FullCanvas"
|
||||||
|
height="280px" width="280px"
|
||||||
|
[data]="doughnutChartDataForFullPD"
|
||||||
|
[labels]="doughnutChartLabels"
|
||||||
|
[options]="doughnutOptions"
|
||||||
|
[colors]="doughnutChartColors"
|
||||||
|
[legend]="false"
|
||||||
|
[chartType]="doughnutChartType"></canvas>
|
||||||
|
<div *ngIf="total1 != 0" class="donut-inner"><span>Full - {{total1}}</span></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<mat-card-content>
|
<div fxFlexOffset.gt-sm="5" fxFlex.gt-sm="30" fxFlex="100">
|
||||||
<div fxLayout="row">
|
<canvas baseChart class="chart" id="SmartCanvas" name="SmartCanvas"
|
||||||
<div fxFlex.gt-sm="30" fxFlex="100">
|
height="280px" width="280px"
|
||||||
<canvas baseChart class="chart"
|
[data]="doughnutChartDataForSmartPD"
|
||||||
height="280px" width="280px"
|
[labels]="doughnutChartLabels"
|
||||||
[data]="doughnutChartDataForFullPD"
|
[options]="doughnutOptions"
|
||||||
[labels]="doughnutChartLabels"
|
[colors]="doughnutChartColors"
|
||||||
[options]="doughnutOptions"
|
[legend]="false"
|
||||||
[colors]="doughnutChartColors"
|
[chartType]="doughnutChartType"></canvas>
|
||||||
[legend]="false"
|
<div *ngIf="total2 != 0" class="donut-inner"><span>Smart - {{total2}}</span></div>
|
||||||
[chartType]="doughnutChartType"></canvas>
|
</div>
|
||||||
<div *ngIf="total1 != 0" class="donut-inner"><span>Full - {{total1}}</span></div>
|
<div fxFlexOffset.gt-sm="5" fxFlex.gt-sm="30" fxFlex="100">
|
||||||
</div>
|
<canvas baseChart class="chart" id="TeleCanvas" name="TeleCanvas"
|
||||||
<div fxFlex.gt-sm="5" fxFlex="100">
|
height="280px" width="280px"
|
||||||
</div>
|
[data]="doughnutChartDataForTelePD"
|
||||||
<div fxFlex.gt-sm="30" fxFlex="100">
|
[labels]="doughnutChartLabels"
|
||||||
<canvas baseChart class="chart"
|
[options]="doughnutOptions"
|
||||||
height="280px" width="280px"
|
[colors]="doughnutChartColors"
|
||||||
[data]="doughnutChartDataForSmartPD"
|
[legend]="false"
|
||||||
[labels]="doughnutChartLabels"
|
[chartType]="doughnutChartType"></canvas>
|
||||||
[options]="doughnutOptions"
|
<div *ngIf="total3 != 0" class="donut-inner"><span>Tele - {{total3}}</span></div>
|
||||||
[colors]="doughnutChartColors"
|
</div>
|
||||||
[legend]="false"
|
</div>
|
||||||
[chartType]="doughnutChartType"></canvas>
|
<div fxLayout="row" class="pt-3">
|
||||||
<div *ngIf="total2 != 0" class="donut-inner"><span>Smart - {{total2}}</span></div>
|
<div fxFlex.gt-sm="100" fxFlex="100" style="text-align:center">
|
||||||
</div>
|
<ul class="lengend-list">
|
||||||
<div fxFlex.gt-sm="5" fxFlex="100">
|
<li class="lengend-element"><span class="oval" style="background-color:#c1c1c1"> </span> Draft</li>
|
||||||
</div>
|
<li class="lengend-element"><span class="oval" style="background-color:#f44336"> </span> Triggered</li>
|
||||||
<div fxFlex.gt-sm="30" fxFlex="100">
|
<li class="lengend-element"><span class="oval" style="background-color:#ffa500"> </span> Allocated</li>
|
||||||
<canvas baseChart class="chart"
|
<li class="lengend-element"><span class="oval" style="background-color:#ffeb3b"> </span> Scheduled</li>
|
||||||
height="280px" width="280px"
|
<li class="lengend-element"><span class="oval" style="background-color:#3f51b5"> </span> InProgress</li>
|
||||||
[data]="doughnutChartDataForTelePD"
|
<li class="lengend-element"><span class="oval" style="background-color:#00ff00"> </span> Completed</li>
|
||||||
[labels]="doughnutChartLabels"
|
<li class="lengend-element"><span class="oval" style="background-color:#4caf50"> </span> QC Completed</li>
|
||||||
[options]="doughnutOptions"
|
</ul>
|
||||||
[colors]="doughnutChartColors"
|
</div>
|
||||||
[legend]="false"
|
</div>
|
||||||
[chartType]="doughnutChartType"></canvas>
|
</mat-card-content>
|
||||||
<div *ngIf="total3 != 0" class="donut-inner"><span>Tele - {{total3}}</span></div>
|
</mat-card>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div fxLayout="row">
|
|
||||||
<div fxFlex.gt-sm="100" fxFlex="100" >
|
|
||||||
<br><br><br><br><br><br>
|
|
||||||
|
|
||||||
<ul class="lengend-list">
|
|
||||||
<li class="lengend-element"><span class="oval" style="background-color:#c1c1c1"> </span> Draft</li>
|
|
||||||
<li class="lengend-element"><span class="oval" style="background-color:#f44336"> </span> Triggered</li>
|
|
||||||
<li class="lengend-element"><span class="oval" style="background-color:#ffa500"> </span> Allocated</li>
|
|
||||||
<li class="lengend-element"><span class="oval" style="background-color:#ffeb3b"> </span> Scheduled</li>
|
|
||||||
<li class="lengend-element"><span class="oval" style="background-color:#3f51b5"> </span> InProgress</li>
|
|
||||||
<li class="lengend-element"><span class="oval" style="background-color:#00ff00"> </span> Completed</li>
|
|
||||||
<li class="lengend-element"><span class="oval" style="background-color:#4caf50"> </span> QC Completed</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</mat-card-content>
|
|
||||||
</mat-card>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -5,34 +5,17 @@ $p: 12px;
|
|||||||
mat-card-title{
|
mat-card-title{
|
||||||
background-color:#E00201 !important;
|
background-color:#E00201 !important;
|
||||||
color:#fff;
|
color:#fff;
|
||||||
//padding-bottom: 1rem;
|
|
||||||
//margin-bottom: 0px;
|
|
||||||
}
|
}
|
||||||
.mat-input-wrapper {
|
.mat-input-wrapper {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
// .example-form {
|
|
||||||
// min-width: 150px;
|
|
||||||
// max-width: 500px;
|
|
||||||
// width: 95%;
|
|
||||||
// }
|
|
||||||
li
|
li
|
||||||
{
|
{
|
||||||
display:block;
|
display:inline-block;
|
||||||
float:left;
|
//float:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
//::ng-deep {
|
|
||||||
// .mat-form-field-appearance-outline .mat-form-field-outline {
|
|
||||||
// color: white;
|
|
||||||
//}
|
|
||||||
//mat-form-field {
|
|
||||||
// .mat-hint, input, ::placeholder, .mat-form-field-label {
|
|
||||||
// color: white;
|
|
||||||
//}
|
|
||||||
//}
|
|
||||||
//}
|
|
||||||
|
|
||||||
.example-full-width {
|
.example-full-width {
|
||||||
width: 95%;
|
width: 95%;
|
||||||
}
|
}
|
||||||
@ -47,25 +30,23 @@ li
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lengend-list {
|
//.lengend-list {
|
||||||
list-style-type: none;
|
// list-style-type: none;
|
||||||
margin: 0;
|
//margin: 0;
|
||||||
padding: 0;
|
// padding: 0;
|
||||||
overflow: hidden;
|
// overflow: hidden;
|
||||||
text-align:justify;
|
// text-align:justify;
|
||||||
}
|
//}
|
||||||
|
|
||||||
.lengend-element {
|
.lengend-element {
|
||||||
font-size: 1rem;
|
font-size: 1rem !important;
|
||||||
padding-right: 3%;
|
padding-right: 3%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.donut-inner{
|
.donut-inner{
|
||||||
margin-top: -171px;
|
margin-top: -171px;
|
||||||
margin-left: 120px;
|
margin-left: 120px;
|
||||||
//margin-bottom: 154px;
|
|
||||||
//margin-top: -221px;
|
|
||||||
//margin-left: 145px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.donut-inner h5 {
|
.donut-inner h5 {
|
||||||
@ -77,545 +58,10 @@ li
|
|||||||
font-size:1rems;
|
font-size:1rems;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .profile {
|
|
||||||
// position: relative;
|
|
||||||
// width: 100%;
|
|
||||||
// height: 100%;
|
|
||||||
// background: rgba(white, .25);
|
|
||||||
// border-radius: 2px;
|
|
||||||
// overflow: hidden;
|
|
||||||
// box-shadow: 0 0 20px rgba(darken($red, 40%), .2);
|
|
||||||
// &.pre-enter {
|
|
||||||
// transform-origin: center center;
|
|
||||||
// transform: scaleY(0);
|
|
||||||
// .avatar {
|
|
||||||
// transform-origin: center top;
|
|
||||||
// transform: scaleY(0);
|
|
||||||
// }
|
|
||||||
// h1,
|
|
||||||
// h2,
|
|
||||||
// a.follow,
|
|
||||||
// a.link {
|
|
||||||
// opacity: 0;
|
|
||||||
// transform: translateY(300px);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// &.on-enter {
|
|
||||||
// animation: scaleYIn 1000ms ease-out forwards;
|
|
||||||
// .avatar {
|
|
||||||
// animation: scaleYIn-small 750ms ease-out forwards 1000ms;
|
|
||||||
// }
|
|
||||||
// h1,
|
|
||||||
// h2,
|
|
||||||
// a.follow,
|
|
||||||
// a.link {
|
|
||||||
// opacity: 1;
|
|
||||||
// animation: slideInUp 1000ms ease-out forwards;
|
|
||||||
// }
|
|
||||||
// h1 {
|
|
||||||
// animation-delay: 1050ms;
|
|
||||||
// }
|
|
||||||
// h2 {
|
|
||||||
// animation-delay: 1100ms;
|
|
||||||
// }
|
|
||||||
// a.follow {
|
|
||||||
// animation-delay: 1250ms;
|
|
||||||
// }
|
|
||||||
// li {
|
|
||||||
// &:nth-child(1) {
|
|
||||||
// a.link {
|
|
||||||
// animation-delay: 1300ms;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// &:nth-child(2) {
|
|
||||||
// a.link {
|
|
||||||
// animation-delay: 1350ms;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// &:nth-child(3) {
|
|
||||||
// a.link {
|
|
||||||
// animation-delay: 1400ms;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .background {
|
|
||||||
// position: absolute;
|
|
||||||
// top: 0;
|
|
||||||
// left: 0;
|
|
||||||
// width: 100%;
|
|
||||||
// height: 100%;
|
|
||||||
// background: white;
|
|
||||||
// border-radius: 2px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .avatar,
|
|
||||||
// .info {
|
|
||||||
// width: 100%;
|
|
||||||
// height: 50%;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .avatar {
|
|
||||||
// background: url('../../assets/images/1.jpg') no-repeat center center / cover;
|
|
||||||
// clip-path: polygon(0 0, 100% 0, 100% 75%, 0% 100%);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .prof-list {
|
|
||||||
// li {
|
|
||||||
// display: inline-block;
|
|
||||||
// list-style: none;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .info {
|
|
||||||
// display: flex;
|
|
||||||
// flex-flow: row wrap;
|
|
||||||
// align-items: center;
|
|
||||||
// align-content: center;
|
|
||||||
// justify-content: center;
|
|
||||||
// position: relative;
|
|
||||||
// text-align: center;
|
|
||||||
// h1 {
|
|
||||||
// padding: $p $p 0;
|
|
||||||
// width: 100%;
|
|
||||||
// font-size: 24px;
|
|
||||||
// font-weight: 800;
|
|
||||||
// letter-spacing: 2px;
|
|
||||||
// text-transform: uppercase;
|
|
||||||
// }
|
|
||||||
// h2,
|
|
||||||
// a.follow {
|
|
||||||
// display: block;
|
|
||||||
|
|
||||||
// border-radius: 2px;
|
|
||||||
// padding: $p/2;
|
|
||||||
// color: white;
|
|
||||||
// font-size: 12px;
|
|
||||||
// font-weight: 500;
|
|
||||||
// letter-spacing: 1px;
|
|
||||||
// text-transform: uppercase;
|
|
||||||
// }
|
|
||||||
// h2 {
|
|
||||||
// background: $red;
|
|
||||||
// background: linear-gradient(135deg, rgba(#f5825f, 1) 0%, rgba(#f5005f, 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5825f', endColorstr='#f5005f', GradientType=1);
|
|
||||||
// }
|
|
||||||
// a.follow {
|
|
||||||
// margin-left: $p;
|
|
||||||
// background: $blue;
|
|
||||||
// background: linear-gradient(135deg, rgba(#05c8e0, 1) 0%, rgba(#057fe0, 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#05c8e0', endColorstr='#057fe0', GradientType=1);
|
|
||||||
// &:hover,
|
|
||||||
// &:focus {
|
|
||||||
// background: #05c8e0;
|
|
||||||
// background: linear-gradient(135deg, rgba(lighten(#05c8e0, 10%), 1) 0%, rgba(lighten(#057fe0, 10%), 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='lighten(#05c8e0, 10%)', endColorstr='lighten(#057fe0, 10%)', GradientType=1);
|
|
||||||
// }
|
|
||||||
// &:active {
|
|
||||||
// background: #057fe0;
|
|
||||||
// background: linear-gradient(135deg, rgba(darken(#05c8e0, 5%), 1) 0%, rgba(darken(#057fe0, 5%), 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='darken(#05c8e0, 5%)', endColorstr='darken(#057fe0, 5%)', GradientType=1);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// ul {
|
|
||||||
// display: flex;
|
|
||||||
// justify-content: center;
|
|
||||||
// padding: $p/2;
|
|
||||||
// width: 100%;
|
|
||||||
// li {
|
|
||||||
// padding: $p/2;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// a.link {
|
|
||||||
// display: block;
|
|
||||||
// border-radius: 100%;
|
|
||||||
// background: $blue;
|
|
||||||
// width: 30px;
|
|
||||||
// height: 30px;
|
|
||||||
// line-height: 30px;
|
|
||||||
// display: block;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// a.link {
|
|
||||||
// &.portfolio {
|
|
||||||
// background: #f5c8bf;
|
|
||||||
// background: linear-gradient(135deg, rgba(#f5c8bf, 1) 0%, rgba(#f58dbf, 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5c8bf', endColorstr='#f58dbf', GradientType=1);
|
|
||||||
// box-shadow: inset 0 0 10px rgba(#f58dbf, .5);
|
|
||||||
// &:hover,
|
|
||||||
// &:focus {
|
|
||||||
// background: lighten(#f5c8bf, 5%);
|
|
||||||
// background: linear-gradient(135deg, rgba(lighten(#f5c8bf, 5%), 1) 0%, rgba(lighten(#f58dbf, 5%), 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='lighten(#f5c8bf, 5%)', endColorstr='lighten(#f58dbf, 5%)', GradientType=1);
|
|
||||||
// box-shadow: inset 0 0 10px rgba(lighten(#f58dbf, 5%), .5);
|
|
||||||
// }
|
|
||||||
// &:active {
|
|
||||||
// background: darken(#f5c8bf, 5%);
|
|
||||||
// background: linear-gradient(135deg, rgba(darken(#f5c8bf, 5%), 1) 0%, rgba(darken(#f58dbf, 5%), 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='darken(#f5c8bf, 5%)', endColorstr='darken(#f58dbf, 5%)', GradientType=1);
|
|
||||||
// box-shadow: inset 0 0 10px rgba(darken(#f58dbf, 5%), .5);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// &.codepen {
|
|
||||||
// background: #fcd000;
|
|
||||||
// background: linear-gradient(135deg, rgba(#fcd000, 1) 0%, rgba(#fc9a00, 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcd000', endColorstr='#fc9a00', GradientType=1);
|
|
||||||
// box-shadow: inset 0 0 10px rgba(#fc9a00, .5);
|
|
||||||
// &:hover,
|
|
||||||
// &:focus {
|
|
||||||
// background: lighten(#fcd000, 5%);
|
|
||||||
// background: linear-gradient(135deg, rgba(lighten(#fcd000, 5%), 1) 0%, rgba(lighten(#fc9a00, 5%), 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='lighten(#fcd000, 5%)', endColorstr='lighten(#fc9a00, 5%)', GradientType=1);
|
|
||||||
// box-shadow: inset 0 0 10px rgba(lighten(#fc9a00, 5%), .5);
|
|
||||||
// }
|
|
||||||
// &:active {
|
|
||||||
// background: darken(#fcd000, 5%);
|
|
||||||
// background: linear-gradient(135deg, rgba(darken(#fcd000, 5%), 1) 0%, rgba(darken(#fc9a00, 5%), 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='darken(#fcd000, 5%)', endColorstr='darken(#fc9a00, 5%)', GradientType=1);
|
|
||||||
// box-shadow: inset 0 0 10px rgba(darken(#fc9a00, 5%), .5);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// &.github {
|
|
||||||
// background: #41adc4;
|
|
||||||
// background: linear-gradient(135deg, rgba(#41adc4, 1) 0%, rgba(#4183c4, 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#41adc4', endColorstr='#4183c4', GradientType=1);
|
|
||||||
// box-shadow: inset 0 0 10px rgba(#4183c4, .5);
|
|
||||||
// &:hover,
|
|
||||||
// &:focus {
|
|
||||||
// background: lighten(#41adc4, 5%);
|
|
||||||
// background: linear-gradient(135deg, rgba(lighten(#41adc4, 5%), 1) 0%, rgba(lighten(#4183c4, 5%), 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='lighten(#41adc4, 5%)', endColorstr='lighten(#4183c4, 5%)', GradientType=1);
|
|
||||||
// box-shadow: inset 0 0 10px rgba(lighten(#4183c4, 5%), .5);
|
|
||||||
// }
|
|
||||||
// &:active {
|
|
||||||
// background: darken(#41adc4, 5%);
|
|
||||||
// background: linear-gradient(135deg, rgba(darken(#41adc4, 5%), 1) 0%, rgba(darken(#4183c4, 5%), 1) 100%);
|
|
||||||
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='darken(#41adc4, 5%)', endColorstr='darken(#4183c4, 5%)', GradientType=1);
|
|
||||||
// box-shadow: inset 0 0 10px rgba(darken(#4183c4, 5%), .5);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @media only screen and (min-width: 470px) {
|
|
||||||
// .profile {
|
|
||||||
// display: flex;
|
|
||||||
// &.pre-enter {
|
|
||||||
// transform: scaleX(0);
|
|
||||||
// .avatar {
|
|
||||||
// transform-origin: left center;
|
|
||||||
// transform: scaleX(0);
|
|
||||||
// }
|
|
||||||
// h1,
|
|
||||||
// h2,
|
|
||||||
// a.follow,
|
|
||||||
// a.link {
|
|
||||||
// transform: translateX(300px);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// &.on-enter {
|
|
||||||
// animation-name: scaleXIn;
|
|
||||||
// .avatar {
|
|
||||||
// animation-name: scaleXIn-small;
|
|
||||||
// }
|
|
||||||
// h1,
|
|
||||||
// h2,
|
|
||||||
// a.follow,
|
|
||||||
// a.link {
|
|
||||||
// animation-name: slideInLeft;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// .background {
|
|
||||||
// mix-blend-mode: overlay;
|
|
||||||
// }
|
|
||||||
// .avatar,
|
|
||||||
// .info {
|
|
||||||
// width: 50%;
|
|
||||||
// height: 100%;
|
|
||||||
// }
|
|
||||||
// .avatar {
|
|
||||||
// clip-path: polygon(0 0, 100% 0, 75% 100%, 0% 100%);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @media only screen and (min-width: 470px) and (min-height: 600px) {
|
|
||||||
// .profile {
|
|
||||||
// max-height: 400px;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// /* https://goo.gl/jIUq3E */
|
|
||||||
|
|
||||||
// @keyframes scaleXIn {
|
|
||||||
// 0% {
|
|
||||||
// transform: matrix3d(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 4.7% {
|
|
||||||
// transform: matrix3d(0.45, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 9.41% {
|
|
||||||
// transform: matrix3d(0.883, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 14.11% {
|
|
||||||
// transform: matrix3d(1.141, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 18.72% {
|
|
||||||
// transform: matrix3d(1.212, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 24.32% {
|
|
||||||
// transform: matrix3d(1.151, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 29.93% {
|
|
||||||
// transform: matrix3d(1.048, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 35.54% {
|
|
||||||
// transform: matrix3d(0.979, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 41.04% {
|
|
||||||
// transform: matrix3d(0.961, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 52.15% {
|
|
||||||
// transform: matrix3d(0.991, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 63.26% {
|
|
||||||
// transform: matrix3d(1.007, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 85.49% {
|
|
||||||
// transform: matrix3d(0.999, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 100% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// /* https://goo.gl/auuhcg */
|
|
||||||
|
|
||||||
// @keyframes scaleYIn {
|
|
||||||
// 0% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 4.7% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.45, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 9.41% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.883, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 14.11% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1.141, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 18.72% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1.212, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 24.32% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1.151, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 29.93% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1.048, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 35.54% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.979, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 41.04% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.961, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 52.15% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.991, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 63.26% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1.007, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 85.49% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.999, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 100% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// /* https://goo.gl/dNBqrt */
|
|
||||||
|
|
||||||
// @keyframes scaleXIn-small {
|
|
||||||
// 0% {
|
|
||||||
// transform: matrix3d(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 6.31% {
|
|
||||||
// transform: matrix3d(0.384, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 12.51% {
|
|
||||||
// transform: matrix3d(0.621, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 18.82% {
|
|
||||||
// transform: matrix3d(0.771, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 25.03% {
|
|
||||||
// transform: matrix3d(0.862, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 37.54% {
|
|
||||||
// transform: matrix3d(0.952, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 50.05% {
|
|
||||||
// transform: matrix3d(0.984, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 75.08% {
|
|
||||||
// transform: matrix3d(0.999, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 100% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// /* https://goo.gl/jZL0uj */
|
|
||||||
|
|
||||||
// @keyframes scaleYIn-small {
|
|
||||||
// 0% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 6.31% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.384, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 12.51% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.621, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 18.82% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.771, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 25.03% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.862, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 37.54% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.952, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 50.05% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.984, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 75.08% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 0.999, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 100% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// /* https://goo.gl/Ne0Mkr */
|
|
||||||
|
|
||||||
// @keyframes slideInLeft {
|
|
||||||
// 0% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 300, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 6.31% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 184.858, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 12.51% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 113.68, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 18.82% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 68.663, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 25.03% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 41.37, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 37.54% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 14.382, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 50.05% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.724, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 75.08% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.381, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// 100% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// /* https://goo.gl/MSqtd5 */
|
|
||||||
|
|
||||||
// @keyframes slideInUp {
|
|
||||||
// 0% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 300, 0, 1);
|
|
||||||
// }
|
|
||||||
// 6.31% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 184.858, 0, 1);
|
|
||||||
// }
|
|
||||||
// 12.51% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 113.68, 0, 1);
|
|
||||||
// }
|
|
||||||
// 18.82% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 68.663, 0, 1);
|
|
||||||
// }
|
|
||||||
// 25.03% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 41.37, 0, 1);
|
|
||||||
// }
|
|
||||||
// 37.54% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 14.382, 0, 1);
|
|
||||||
// }
|
|
||||||
// 50.05% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 4.724, 0, 1);
|
|
||||||
// }
|
|
||||||
// 75.08% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0.381, 0, 1);
|
|
||||||
// }
|
|
||||||
// 100% {
|
|
||||||
// transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// //wheather
|
|
||||||
// .card-wheather {
|
|
||||||
// height: 220px;
|
|
||||||
// color: #fff;
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// .city {
|
|
||||||
|
|
||||||
// font-size: 26px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .date {
|
|
||||||
// font-size: 20px;
|
|
||||||
// line-height: 40px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .sun {
|
|
||||||
// height: 70px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .grad-blue {
|
|
||||||
// background: linear-gradient(58deg, #f44336, #673ab7);
|
|
||||||
// color: #fff;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .grad-green {
|
|
||||||
// background: linear-gradient(58deg, #009688, #673ab7);
|
|
||||||
// color: #fff;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .grad-red {
|
|
||||||
// background: linear-gradient(58deg, #f44336, #673ab7);
|
|
||||||
// color: #fff;
|
|
||||||
// }
|
|
||||||
// .card-wheather{
|
|
||||||
// padding: 2rem;
|
|
||||||
// }
|
|
||||||
// .temp {
|
|
||||||
// font-size: 50px;
|
|
||||||
// display: inline-block;
|
|
||||||
// }
|
|
||||||
mat-card-content{
|
mat-card-content{
|
||||||
min-height: 400px;
|
min-height: 400px;
|
||||||
}
|
}
|
||||||
.chart{
|
.chart{
|
||||||
|
padding: 0.8rem;
|
||||||
padding: 0.8rem;
|
|
||||||
}
|
}
|
||||||
@ -1,16 +1,11 @@
|
|||||||
//import { Component } from '@angular/core';
|
//import { Component } from '@angular/core';
|
||||||
import {Component, NgModule, ElementRef, Inject, Injectable, ViewChild} from '@angular/core'
|
import {Component, NgModule, ElementRef, Inject, Injectable, ViewChild} from '@angular/core'
|
||||||
import { FormBuilder, FormGroup, Validators , ValidatorFn, AbstractControl, FormControl} from '@angular/forms'
|
import { FormBuilder, FormGroup, Validators , ValidatorFn, AbstractControl, FormControl} from '@angular/forms'
|
||||||
import { HttpClient } from '@angular/common/http';
|
|
||||||
import {BrowserModule} from '@angular/platform-browser'
|
|
||||||
import {ChartsModule, Color} from 'ng2-charts';
|
import {ChartsModule, Color} from 'ng2-charts';
|
||||||
import {Observable} from 'rxjs';
|
|
||||||
import {map, startWith, debounceTime, distinctUntilChanged, switchMap} from 'rxjs/operators';
|
|
||||||
import { MastersService } from '../settings/service/masters/masters.service';
|
import { MastersService } from '../settings/service/masters/masters.service';
|
||||||
import { DashboardService } from './dashboard.service';
|
import { DashboardService } from './dashboard.service';
|
||||||
import { NgxDrpOptions, PresetItem, Range } from 'ngx-mat-daterange-picker';
|
import { NgxDrpOptions, PresetItem, Range } from 'ngx-mat-daterange-picker';
|
||||||
import { BaseChartDirective } from 'ng2-charts/ng2-charts';
|
import { BaseChartDirective } from 'ng2-charts/ng2-charts';
|
||||||
//import { DatePipe } from '@angular/common';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dashboard',
|
selector: 'app-dashboard',
|
||||||
@ -32,10 +27,12 @@ export class DashboardComponent {
|
|||||||
dashboardTitle = 'PD Status';
|
dashboardTitle = 'PD Status';
|
||||||
|
|
||||||
/** Declaration Part Of Doughnut Chart */
|
/** Declaration Part Of Doughnut Chart */
|
||||||
@ViewChild('mycanvas') canvas:ElementRef;
|
//@ViewChild('BaseChartDirective') canvas ;
|
||||||
|
@ViewChild(BaseChartDirective) FullCanvas: BaseChartDirective;
|
||||||
|
@ViewChild(BaseChartDirective) TeleCanvas: BaseChartDirective;
|
||||||
|
@ViewChild(BaseChartDirective) SmartCanvas: BaseChartDirective;
|
||||||
//myChart: BaseChartDirective;
|
//myChart: BaseChartDirective;
|
||||||
|
|
||||||
|
|
||||||
doughnutChartType = 'doughnut';
|
doughnutChartType = 'doughnut';
|
||||||
doughnutChartLabels: string[] = ['Draft','Triggered','Allocated','Scheduled','InProgress','Completed','QC Completed'];
|
doughnutChartLabels: string[] = ['Draft','Triggered','Allocated','Scheduled','InProgress','Completed','QC Completed'];
|
||||||
|
|
||||||
@ -50,9 +47,6 @@ export class DashboardComponent {
|
|||||||
total1: number = 0;
|
total1: number = 0;
|
||||||
total2: number = 0;
|
total2: number = 0;
|
||||||
total3: number = 0;
|
total3: number = 0;
|
||||||
total4: number = 0;
|
|
||||||
total5: number = 0;
|
|
||||||
total6: number = 0;
|
|
||||||
flag : number = 0;
|
flag : number = 0;
|
||||||
|
|
||||||
// doughnutChartColors: any[] = [{
|
// doughnutChartColors: any[] = [{
|
||||||
@ -72,14 +66,8 @@ export class DashboardComponent {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Declaration Part Of SubCard Section */
|
/** Declaration Part Of Title Section */
|
||||||
|
|
||||||
cityWisePD : any=[];
|
|
||||||
lenderWisePD :any=[];
|
|
||||||
alertMessage : any=[];
|
|
||||||
|
|
||||||
selectedCity : any=[];
|
|
||||||
selectedLender : any=[];
|
|
||||||
|
|
||||||
/** Declaration Part Of Title Form Section */
|
/** Declaration Part Of Title Form Section */
|
||||||
myControl = new FormControl();
|
myControl = new FormControl();
|
||||||
@ -89,6 +77,8 @@ export class DashboardComponent {
|
|||||||
lenderData : any[];
|
lenderData : any[];
|
||||||
cityData : any[];
|
cityData : any[];
|
||||||
|
|
||||||
|
selectedCity : any=[];
|
||||||
|
selectedLender : any=[];
|
||||||
|
|
||||||
constructor(private _dashboardService: DashboardService,
|
constructor(private _dashboardService: DashboardService,
|
||||||
private _masterService: MastersService) {
|
private _masterService: MastersService) {
|
||||||
@ -117,8 +107,8 @@ export class DashboardComponent {
|
|||||||
|
|
||||||
ngOnInit(){
|
ngOnInit(){
|
||||||
|
|
||||||
|
this.getDoughnutChartData();
|
||||||
|
|
||||||
this.getDoughnutChartData();
|
|
||||||
|
|
||||||
const today = new Date();
|
const today = new Date();
|
||||||
const fromMin = new Date(today.getFullYear(), today.getMonth()-2, 1);
|
const fromMin = new Date(today.getFullYear(), today.getMonth()-2, 1);
|
||||||
@ -129,12 +119,12 @@ export class DashboardComponent {
|
|||||||
const LastDateForPreMonth = new Date(today.getFullYear(), today.getMonth(), 0);
|
const LastDateForPreMonth = new Date(today.getFullYear(), today.getMonth(), 0);
|
||||||
const FirstDateForPreMonth = new Date(today.getFullYear(), today.getMonth()-1, 1);
|
const FirstDateForPreMonth = new Date(today.getFullYear(), today.getMonth()-1, 1);
|
||||||
|
|
||||||
console.log('FromDateMin:',fromMin);
|
// console.log('FromDateMin:',fromMin);
|
||||||
console.log('FromDateMax:',fromMax);
|
// console.log('FromDateMax:',fromMax);
|
||||||
console.log('ToDateMin',toMin);
|
// console.log('ToDateMin',toMin);
|
||||||
console.log('ToDateMax',toMax);
|
// console.log('ToDateMax',toMax);
|
||||||
console.log('LastDateForPreMonth',LastDateForPreMonth);
|
// console.log('LastDateForPreMonth',LastDateForPreMonth);
|
||||||
console.log('FirstDateForPreMonth',FirstDateForPreMonth);
|
// console.log('FirstDateForPreMonth',FirstDateForPreMonth);
|
||||||
|
|
||||||
// const resetRange = {fromDate: today, toDate: today};
|
// const resetRange = {fromDate: today, toDate: today};
|
||||||
// this.dateRangePicker.resetDates(resetRange); // will trigger selectedDateRangeChanged
|
// this.dateRangePicker.resetDates(resetRange); // will trigger selectedDateRangeChanged
|
||||||
@ -144,7 +134,7 @@ export class DashboardComponent {
|
|||||||
this.options = {
|
this.options = {
|
||||||
presets: this.presets,
|
presets: this.presets,
|
||||||
format: 'mediumDate',
|
format: 'mediumDate',
|
||||||
range: {fromDate:toMin, toDate: fromMax},
|
range: {fromDate:FirstDateForPreMonth, toDate: fromMax},
|
||||||
applyLabel: "Submit",
|
applyLabel: "Submit",
|
||||||
calendarOverlayConfig: {
|
calendarOverlayConfig: {
|
||||||
shouldCloseOnBackdropClick: false,
|
shouldCloseOnBackdropClick: false,
|
||||||
@ -159,7 +149,6 @@ export class DashboardComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateRange(range: Range){
|
updateRange(range: Range){
|
||||||
|
|
||||||
this.range = range;
|
this.range = range;
|
||||||
this.onChange(this.range,1);
|
this.onChange(this.range,1);
|
||||||
}
|
}
|
||||||
@ -202,10 +191,7 @@ getDoughnutChartData(){
|
|||||||
|
|
||||||
this._dashboardService.getPDDetailForDoughnut(fromdate,todate,cityarr,lenderarr).subscribe(data => {
|
this._dashboardService.getPDDetailForDoughnut(fromdate,todate,cityarr,lenderarr).subscribe(data => {
|
||||||
this.flag = 1;
|
this.flag = 1;
|
||||||
console.log(' ***** Doughnut Chart Data *****');
|
console.log(' ***** Doughnut Chart Data *****',data);
|
||||||
console.log('Whole Data',data);
|
|
||||||
console.log('Monthly Status',data.records.current_month);
|
|
||||||
|
|
||||||
|
|
||||||
let DraftIndexvalue = this.doughnutChartLabels.indexOf('Draft');
|
let DraftIndexvalue = this.doughnutChartLabels.indexOf('Draft');
|
||||||
let TriggedIndexvalue = this.doughnutChartLabels.indexOf('Triggered');
|
let TriggedIndexvalue = this.doughnutChartLabels.indexOf('Triggered');
|
||||||
@ -227,9 +213,8 @@ getDoughnutChartData(){
|
|||||||
if(DraftFullPDvalue.length != '0'){
|
if(DraftFullPDvalue.length != '0'){
|
||||||
//console.log('console triggered value',TriggerFullPDvalue);
|
//console.log('console triggered value',TriggerFullPDvalue);
|
||||||
for(let FPD of DraftFullPDvalue){
|
for(let FPD of DraftFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[DraftIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[DraftIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -238,11 +223,10 @@ getDoughnutChartData(){
|
|||||||
|
|
||||||
let TriggerFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'TRIGGERED');
|
let TriggerFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'TRIGGERED');
|
||||||
if(TriggerFullPDvalue.length != '0'){
|
if(TriggerFullPDvalue.length != '0'){
|
||||||
//console.log('console triggered value',TriggerFullPDvalue);
|
|
||||||
for(let FPD of TriggerFullPDvalue){
|
for(let FPD of TriggerFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[TriggedIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[TriggedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -252,9 +236,8 @@ getDoughnutChartData(){
|
|||||||
let AllocatedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
let AllocatedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
||||||
if(AllocatedFullPDvalue.length != '0'){
|
if(AllocatedFullPDvalue.length != '0'){
|
||||||
for(let FPD of AllocatedFullPDvalue){
|
for(let FPD of AllocatedFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[AllocatedIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[AllocatedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -264,11 +247,10 @@ getDoughnutChartData(){
|
|||||||
let ScheduledFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
let ScheduledFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
||||||
if(ScheduledFullPDvalue.length != '0'){
|
if(ScheduledFullPDvalue.length != '0'){
|
||||||
for(let FPD of ScheduledFullPDvalue){
|
for(let FPD of ScheduledFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[ScheduledIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[ScheduledIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +ScheduledFullPDvalue.count;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -278,9 +260,8 @@ getDoughnutChartData(){
|
|||||||
let InProgressFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
let InProgressFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
||||||
if(InProgressFullPDvalue.length != '0'){
|
if(InProgressFullPDvalue.length != '0'){
|
||||||
for(let FPD of InProgressFullPDvalue){
|
for(let FPD of InProgressFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[InProgressIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[InProgressIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +InProgressFullPDvalue.count;
|
//let y = +InProgressFullPDvalue.count;
|
||||||
|
|
||||||
@ -292,9 +273,8 @@ getDoughnutChartData(){
|
|||||||
let CompletedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
let CompletedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
||||||
if(CompletedFullPDvalue.length != '0'){
|
if(CompletedFullPDvalue.length != '0'){
|
||||||
for(let FPD of CompletedFullPDvalue){
|
for(let FPD of CompletedFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[CompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[CompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +CompletedFullPDvalue.count;
|
//let y = +CompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -306,9 +286,8 @@ getDoughnutChartData(){
|
|||||||
let QCCompletedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
let QCCompletedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
||||||
if(QCCompletedFullPDvalue.length != '0'){
|
if(QCCompletedFullPDvalue.length != '0'){
|
||||||
for(let FPD of QCCompletedFullPDvalue){
|
for(let FPD of QCCompletedFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[QCCompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[QCCompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +QCCompletedFullPDvalue.count;
|
//let y = +QCCompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -321,9 +300,8 @@ getDoughnutChartData(){
|
|||||||
if(DraftSmartPDvalue.length != '0'){
|
if(DraftSmartPDvalue.length != '0'){
|
||||||
//console.log('console triggered value',TriggerFullPDvalue);
|
//console.log('console triggered value',TriggerFullPDvalue);
|
||||||
for(let FPD of DraftSmartPDvalue){
|
for(let FPD of DraftSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[DraftIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[DraftIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -334,9 +312,7 @@ getDoughnutChartData(){
|
|||||||
if(TriggerSmartPDvalue.length != '0'){
|
if(TriggerSmartPDvalue.length != '0'){
|
||||||
|
|
||||||
for(let FPD of TriggerSmartPDvalue){
|
for(let FPD of TriggerSmartPDvalue){
|
||||||
let y = +FPD.count;
|
this.tempDataSmartPD[TriggedIndexvalue] = +FPD.count;
|
||||||
this.total2 = this.total2+y;
|
|
||||||
this.tempDataSmartPD[TriggedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -346,9 +322,8 @@ getDoughnutChartData(){
|
|||||||
let AllocatedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
let AllocatedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
||||||
if(AllocatedSmartPDvalue.length != '0'){
|
if(AllocatedSmartPDvalue.length != '0'){
|
||||||
for(let FPD of AllocatedSmartPDvalue){
|
for(let FPD of AllocatedSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[AllocatedIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[AllocatedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -358,9 +333,8 @@ getDoughnutChartData(){
|
|||||||
let ScheduledSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
let ScheduledSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
||||||
if(ScheduledSmartPDvalue.length != '0'){
|
if(ScheduledSmartPDvalue.length != '0'){
|
||||||
for(let FPD of ScheduledSmartPDvalue){
|
for(let FPD of ScheduledSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[ScheduledIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[ScheduledIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +ScheduledFullPDvalue.count;
|
//let y = +ScheduledFullPDvalue.count;
|
||||||
|
|
||||||
@ -372,9 +346,8 @@ getDoughnutChartData(){
|
|||||||
let InProgressSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
let InProgressSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
||||||
if(InProgressSmartPDvalue.length != '0'){
|
if(InProgressSmartPDvalue.length != '0'){
|
||||||
for(let FPD of InProgressSmartPDvalue){
|
for(let FPD of InProgressSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[InProgressIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[InProgressIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +InProgressFullPDvalue.count;
|
//let y = +InProgressFullPDvalue.count;
|
||||||
|
|
||||||
@ -386,9 +359,8 @@ getDoughnutChartData(){
|
|||||||
let CompletedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
let CompletedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
||||||
if(CompletedSmartPDvalue.length != '0'){
|
if(CompletedSmartPDvalue.length != '0'){
|
||||||
for(let FPD of CompletedSmartPDvalue){
|
for(let FPD of CompletedSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[CompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[CompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +CompletedFullPDvalue.count;
|
//let y = +CompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -400,9 +372,8 @@ getDoughnutChartData(){
|
|||||||
let QCCompletedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
let QCCompletedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
||||||
if(QCCompletedSmartPDvalue.length != '0'){
|
if(QCCompletedSmartPDvalue.length != '0'){
|
||||||
for(let FPD of QCCompletedSmartPDvalue){
|
for(let FPD of QCCompletedSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[QCCompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[QCCompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +QCCompletedFullPDvalue.count;
|
//let y = +QCCompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -416,9 +387,8 @@ getDoughnutChartData(){
|
|||||||
if(DraftTelePDvalue.length != '0'){
|
if(DraftTelePDvalue.length != '0'){
|
||||||
|
|
||||||
for(let FPD of DraftTelePDvalue){
|
for(let FPD of DraftTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total3+y;
|
this.tempDataTelePD[DraftIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[DraftIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -429,9 +399,8 @@ getDoughnutChartData(){
|
|||||||
if(TriggerTelePDvalue.length != '0'){
|
if(TriggerTelePDvalue.length != '0'){
|
||||||
//console.log('console triggered value',TriggerTelePDvalue);
|
//console.log('console triggered value',TriggerTelePDvalue);
|
||||||
for(let FPD of TriggerTelePDvalue){
|
for(let FPD of TriggerTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[TriggedIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[TriggedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -441,9 +410,8 @@ getDoughnutChartData(){
|
|||||||
let AllocatedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
let AllocatedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
||||||
if(AllocatedTelePDvalue.length != '0'){
|
if(AllocatedTelePDvalue.length != '0'){
|
||||||
for(let FPD of AllocatedTelePDvalue){
|
for(let FPD of AllocatedTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[AllocatedIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[AllocatedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -453,9 +421,8 @@ getDoughnutChartData(){
|
|||||||
let ScheduledTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
let ScheduledTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
||||||
if(ScheduledTelePDvalue.length != '0'){
|
if(ScheduledTelePDvalue.length != '0'){
|
||||||
for(let FPD of ScheduledTelePDvalue){
|
for(let FPD of ScheduledTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[ScheduledIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[ScheduledIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +ScheduledFullPDvalue.count;
|
//let y = +ScheduledFullPDvalue.count;
|
||||||
|
|
||||||
@ -467,9 +434,8 @@ getDoughnutChartData(){
|
|||||||
let InProgressTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
let InProgressTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
||||||
if(InProgressTelePDvalue.length != '0'){
|
if(InProgressTelePDvalue.length != '0'){
|
||||||
for(let FPD of InProgressTelePDvalue){
|
for(let FPD of InProgressTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[InProgressIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[InProgressIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +InProgressFullPDvalue.count;
|
//let y = +InProgressFullPDvalue.count;
|
||||||
|
|
||||||
@ -481,9 +447,8 @@ getDoughnutChartData(){
|
|||||||
let CompletedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
let CompletedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
||||||
if(CompletedTelePDvalue.length != '0'){
|
if(CompletedTelePDvalue.length != '0'){
|
||||||
for(let FPD of CompletedTelePDvalue){
|
for(let FPD of CompletedTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[CompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[CompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +CompletedFullPDvalue.count;
|
//let y = +CompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -495,9 +460,8 @@ getDoughnutChartData(){
|
|||||||
let QCCompletedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
let QCCompletedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
||||||
if(QCCompletedTelePDvalue.length != '0'){
|
if(QCCompletedTelePDvalue.length != '0'){
|
||||||
for(let FPD of QCCompletedTelePDvalue){
|
for(let FPD of QCCompletedTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[QCCompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[QCCompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +QCCompletedFullPDvalue.count;
|
//let y = +QCCompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -508,22 +472,21 @@ getDoughnutChartData(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
else{
|
else{
|
||||||
//console.log('Else Condition month');
|
this.tempDataFullPD = [0,0,0,0,0,0,0];
|
||||||
|
this.tempDataSmartPD = [0,0,0,0,0,0,0];
|
||||||
|
this.tempDataTelePD = [0,0,0,0,0,0,0];
|
||||||
}
|
}
|
||||||
|
|
||||||
this.doughnutChartDataForFullPD = this.tempDataFullPD;
|
this.doughnutChartDataForFullPD = this.tempDataFullPD;
|
||||||
this.doughnutChartDataForSmartPD = this.tempDataSmartPD;
|
this.doughnutChartDataForSmartPD = this.tempDataSmartPD;
|
||||||
this.doughnutChartDataForTelePD = this.tempDataTelePD;
|
this.doughnutChartDataForTelePD = this.tempDataTelePD;
|
||||||
|
this.total1 = this.tempDataFullPD.reduce((a, b) => a + b, 0);
|
||||||
|
this.total2 = this.tempDataSmartPD.reduce((a, b) => a + b, 0);
|
||||||
|
this.total3 = this.tempDataTelePD.reduce((a, b) => a + b, 0);
|
||||||
|
|
||||||
console.log('Final full Data Completed',this.doughnutChartDataForFullPD);
|
console.log('Final Full Data '+ this.doughnutChartDataForFullPD+'Temp Data'+this.tempDataFullPD+'Full Total '+this.total1);
|
||||||
console.log('temp full Data',this.tempDataFullPD);
|
console.log('Final Smart Data '+ this.doughnutChartDataForSmartPD+' Temp Data '+this.tempDataSmartPD+'Smart Total '+this.total2);
|
||||||
console.log('Final Smart Data Completed',this.doughnutChartDataForSmartPD);
|
console.log('Final Tele Data '+ this.doughnutChartDataForTelePD+' Temp Data'+this.tempDataTelePD+'Tele Total '+this.total3);
|
||||||
console.log('temp Smart Data',this.tempDataSmartPD);
|
|
||||||
console.log('Final Tele Data Completed',this.doughnutChartDataForTelePD);
|
|
||||||
console.log('temp Tele Data',this.tempDataTelePD);
|
|
||||||
console.log('total3',this.total3);
|
|
||||||
console.log('total2',this.total2);
|
|
||||||
console.log('total1',this.total1);
|
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -538,10 +501,17 @@ doughnutOptions: any = Object.assign({
|
|||||||
centertext:'One'
|
centertext:'One'
|
||||||
},this.globalChartOptions);
|
},this.globalChartOptions);
|
||||||
|
|
||||||
|
// ngOnChanges(){
|
||||||
|
// // this.barChartData=this.chartData;
|
||||||
|
// this.barChartLabel=this.chartLabel;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
onChange(e :any,flag: any) {
|
onChange(e :any,flag: any) {
|
||||||
|
|
||||||
let fromdate;
|
let fromdate;
|
||||||
let todate;
|
let todate;
|
||||||
console.log('flag',flag);
|
|
||||||
if(flag == 1){
|
if(flag == 1){
|
||||||
|
|
||||||
fromdate = new Date(e.fromDate);
|
fromdate = new Date(e.fromDate);
|
||||||
@ -553,7 +523,7 @@ onChange(e :any,flag: any) {
|
|||||||
let data = e.source.value.city_id;
|
let data = e.source.value.city_id;
|
||||||
e.source._selected == true ? this.selectedCity.push(data)
|
e.source._selected == true ? this.selectedCity.push(data)
|
||||||
: this.selectedCity.splice(this.selectedCity.indexOf(data),1);
|
: this.selectedCity.splice(this.selectedCity.indexOf(data),1);
|
||||||
console.log(this.selectedCity);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(flag == 3){
|
if(flag == 3){
|
||||||
@ -561,24 +531,29 @@ onChange(e :any,flag: any) {
|
|||||||
e.source._selected == true ? this.selectedLender.push(data)
|
e.source._selected == true ? this.selectedLender.push(data)
|
||||||
: this.selectedLender.splice(this.selectedLender.indexOf(data),1);
|
: this.selectedLender.splice(this.selectedLender.indexOf(data),1);
|
||||||
|
|
||||||
console.log(this.selectedLender);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
this._dashboardService.getPDDetailForDoughnut(fromdate,todate,this.selectedLender,this.selectedCity).subscribe(data => {
|
|
||||||
|
|
||||||
console.log(' *****Updated Date Doughnut Chart Data *****');
|
this._dashboardService.getPDDetailForDoughnut(fromdate,todate,this.selectedCity,this.selectedLender).subscribe(data => {
|
||||||
console.log('Whole Data',data);
|
|
||||||
|
console.log(' *****Updated Date Doughnut Chart Data *****',data);
|
||||||
|
|
||||||
if(data.records.current_month.length != 0){
|
if(data.records.current_month.length != 0){
|
||||||
this.total1 = 0;
|
this.total1 = 0;
|
||||||
this.total2 = 0;
|
this.total2 = 0;
|
||||||
this.total3 = 0;
|
this.total3 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.doughnutChartDataForFullPD = [];
|
this.doughnutChartDataForFullPD = [];
|
||||||
this.doughnutChartDataForSmartPD = [];
|
this.doughnutChartDataForSmartPD = [];
|
||||||
this.doughnutChartDataForTelePD = [];
|
this.doughnutChartDataForTelePD = [];
|
||||||
|
this.tempDataFullPD = [];
|
||||||
|
this.tempDataSmartPD =[];
|
||||||
|
this.tempDataTelePD = [];
|
||||||
|
|
||||||
|
|
||||||
let DraftIndexvalue = this.doughnutChartLabels.indexOf('Draft');
|
let DraftIndexvalue = this.doughnutChartLabels.indexOf('Draft');
|
||||||
@ -614,9 +589,8 @@ onChange(e :any,flag: any) {
|
|||||||
if(TriggerFullPDvalue.length != '0'){
|
if(TriggerFullPDvalue.length != '0'){
|
||||||
|
|
||||||
for(let FPD of TriggerFullPDvalue){
|
for(let FPD of TriggerFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[TriggedIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[TriggedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -626,9 +600,8 @@ onChange(e :any,flag: any) {
|
|||||||
let AllocatedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
let AllocatedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
||||||
if(AllocatedFullPDvalue.length != '0'){
|
if(AllocatedFullPDvalue.length != '0'){
|
||||||
for(let FPD of AllocatedFullPDvalue){
|
for(let FPD of AllocatedFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[AllocatedIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[AllocatedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -638,9 +611,8 @@ onChange(e :any,flag: any) {
|
|||||||
let ScheduledFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
let ScheduledFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
||||||
if(ScheduledFullPDvalue.length != '0'){
|
if(ScheduledFullPDvalue.length != '0'){
|
||||||
for(let FPD of ScheduledFullPDvalue){
|
for(let FPD of ScheduledFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[ScheduledIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[ScheduledIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +ScheduledFullPDvalue.count;
|
//let y = +ScheduledFullPDvalue.count;
|
||||||
|
|
||||||
@ -652,9 +624,8 @@ onChange(e :any,flag: any) {
|
|||||||
let InProgressFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
let InProgressFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
||||||
if(InProgressFullPDvalue.length != '0'){
|
if(InProgressFullPDvalue.length != '0'){
|
||||||
for(let FPD of InProgressFullPDvalue){
|
for(let FPD of InProgressFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[InProgressIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[InProgressIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +InProgressFullPDvalue.count;
|
//let y = +InProgressFullPDvalue.count;
|
||||||
|
|
||||||
@ -666,9 +637,8 @@ onChange(e :any,flag: any) {
|
|||||||
let CompletedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
let CompletedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
||||||
if(CompletedFullPDvalue.length != '0'){
|
if(CompletedFullPDvalue.length != '0'){
|
||||||
for(let FPD of CompletedFullPDvalue){
|
for(let FPD of CompletedFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[CompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[CompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +CompletedFullPDvalue.count;
|
//let y = +CompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -680,9 +650,8 @@ onChange(e :any,flag: any) {
|
|||||||
let QCCompletedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
let QCCompletedFullPDvalue = MonthlyFullPDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
||||||
if(QCCompletedFullPDvalue.length != '0'){
|
if(QCCompletedFullPDvalue.length != '0'){
|
||||||
for(let FPD of QCCompletedFullPDvalue){
|
for(let FPD of QCCompletedFullPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total1+y;
|
this.tempDataFullPD[QCCompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataFullPD[QCCompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +QCCompletedFullPDvalue.count;
|
//let y = +QCCompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -695,9 +664,8 @@ onChange(e :any,flag: any) {
|
|||||||
if(DraftSmartPDvalue.length != '0'){
|
if(DraftSmartPDvalue.length != '0'){
|
||||||
//console.log('console triggered value',TriggerFullPDvalue);
|
//console.log('console triggered value',TriggerFullPDvalue);
|
||||||
for(let FPD of DraftSmartPDvalue){
|
for(let FPD of DraftSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[DraftIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[DraftIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -708,9 +676,8 @@ onChange(e :any,flag: any) {
|
|||||||
if(TriggerSmartPDvalue.length != '0'){
|
if(TriggerSmartPDvalue.length != '0'){
|
||||||
|
|
||||||
for(let FPD of TriggerSmartPDvalue){
|
for(let FPD of TriggerSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[TriggedIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[TriggedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -720,9 +687,8 @@ onChange(e :any,flag: any) {
|
|||||||
let AllocatedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
let AllocatedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
||||||
if(AllocatedSmartPDvalue.length != '0'){
|
if(AllocatedSmartPDvalue.length != '0'){
|
||||||
for(let FPD of AllocatedSmartPDvalue){
|
for(let FPD of AllocatedSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[AllocatedIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[AllocatedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -732,9 +698,8 @@ onChange(e :any,flag: any) {
|
|||||||
let ScheduledSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
let ScheduledSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
||||||
if(ScheduledSmartPDvalue.length != '0'){
|
if(ScheduledSmartPDvalue.length != '0'){
|
||||||
for(let FPD of ScheduledSmartPDvalue){
|
for(let FPD of ScheduledSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[ScheduledIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[ScheduledIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +ScheduledFullPDvalue.count;
|
//let y = +ScheduledFullPDvalue.count;
|
||||||
|
|
||||||
@ -746,9 +711,8 @@ onChange(e :any,flag: any) {
|
|||||||
let InProgressSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
let InProgressSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
||||||
if(InProgressSmartPDvalue.length != '0'){
|
if(InProgressSmartPDvalue.length != '0'){
|
||||||
for(let FPD of InProgressSmartPDvalue){
|
for(let FPD of InProgressSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[InProgressIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[InProgressIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +InProgressFullPDvalue.count;
|
//let y = +InProgressFullPDvalue.count;
|
||||||
|
|
||||||
@ -760,9 +724,8 @@ onChange(e :any,flag: any) {
|
|||||||
let CompletedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
let CompletedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
||||||
if(CompletedSmartPDvalue.length != '0'){
|
if(CompletedSmartPDvalue.length != '0'){
|
||||||
for(let FPD of CompletedSmartPDvalue){
|
for(let FPD of CompletedSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[CompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[CompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +CompletedFullPDvalue.count;
|
//let y = +CompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -774,9 +737,8 @@ onChange(e :any,flag: any) {
|
|||||||
let QCCompletedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
let QCCompletedSmartPDvalue = MonthlySmartPDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
||||||
if(QCCompletedSmartPDvalue.length != '0'){
|
if(QCCompletedSmartPDvalue.length != '0'){
|
||||||
for(let FPD of QCCompletedSmartPDvalue){
|
for(let FPD of QCCompletedSmartPDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total2 = this.total2+y;
|
this.tempDataSmartPD[QCCompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataSmartPD[QCCompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +QCCompletedFullPDvalue.count;
|
//let y = +QCCompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -790,9 +752,8 @@ onChange(e :any,flag: any) {
|
|||||||
if(DraftTelePDvalue.length != '0'){
|
if(DraftTelePDvalue.length != '0'){
|
||||||
|
|
||||||
for(let FPD of DraftTelePDvalue){
|
for(let FPD of DraftTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total1 = this.total3+y;
|
this.tempDataTelePD[DraftIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[DraftIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -803,9 +764,8 @@ onChange(e :any,flag: any) {
|
|||||||
if(TriggerTelePDvalue.length != '0'){
|
if(TriggerTelePDvalue.length != '0'){
|
||||||
//console.log('console triggered value',TriggerTelePDvalue);
|
//console.log('console triggered value',TriggerTelePDvalue);
|
||||||
for(let FPD of TriggerTelePDvalue){
|
for(let FPD of TriggerTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[TriggedIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[TriggedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -815,9 +775,8 @@ onChange(e :any,flag: any) {
|
|||||||
let AllocatedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
let AllocatedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'ALLOCATED');
|
||||||
if(AllocatedTelePDvalue.length != '0'){
|
if(AllocatedTelePDvalue.length != '0'){
|
||||||
for(let FPD of AllocatedTelePDvalue){
|
for(let FPD of AllocatedTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[AllocatedIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[AllocatedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -827,9 +786,8 @@ onChange(e :any,flag: any) {
|
|||||||
let ScheduledTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
let ScheduledTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'SCHEDULED');
|
||||||
if(ScheduledTelePDvalue.length != '0'){
|
if(ScheduledTelePDvalue.length != '0'){
|
||||||
for(let FPD of ScheduledTelePDvalue){
|
for(let FPD of ScheduledTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[ScheduledIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[ScheduledIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +ScheduledFullPDvalue.count;
|
//let y = +ScheduledFullPDvalue.count;
|
||||||
|
|
||||||
@ -841,9 +799,8 @@ onChange(e :any,flag: any) {
|
|||||||
let InProgressTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
let InProgressTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'INPROGRESS');
|
||||||
if(InProgressTelePDvalue.length != '0'){
|
if(InProgressTelePDvalue.length != '0'){
|
||||||
for(let FPD of InProgressTelePDvalue){
|
for(let FPD of InProgressTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[InProgressIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[InProgressIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +InProgressFullPDvalue.count;
|
//let y = +InProgressFullPDvalue.count;
|
||||||
|
|
||||||
@ -855,9 +812,8 @@ onChange(e :any,flag: any) {
|
|||||||
let CompletedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
let CompletedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == 'COMPLETED');
|
||||||
if(CompletedTelePDvalue.length != '0'){
|
if(CompletedTelePDvalue.length != '0'){
|
||||||
for(let FPD of CompletedTelePDvalue){
|
for(let FPD of CompletedTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[CompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[CompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +CompletedFullPDvalue.count;
|
//let y = +CompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -869,9 +825,8 @@ onChange(e :any,flag: any) {
|
|||||||
let QCCompletedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
let QCCompletedTelePDvalue = MonthlyTelePDArr.filter(arr=>arr.pd_status == "QC_COMPLETED");
|
||||||
if(QCCompletedTelePDvalue.length != '0'){
|
if(QCCompletedTelePDvalue.length != '0'){
|
||||||
for(let FPD of QCCompletedTelePDvalue){
|
for(let FPD of QCCompletedTelePDvalue){
|
||||||
let y = +FPD.count;
|
|
||||||
this.total3 = this.total3+y;
|
this.tempDataTelePD[QCCompletedIndexvalue] = +FPD.count;
|
||||||
this.tempDataTelePD[QCCompletedIndexvalue] = y;
|
|
||||||
}
|
}
|
||||||
//let y = +QCCompletedFullPDvalue.count;
|
//let y = +QCCompletedFullPDvalue.count;
|
||||||
|
|
||||||
@ -882,22 +837,26 @@ onChange(e :any,flag: any) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
else{
|
else{
|
||||||
//console.log('Else Condition month');
|
this.tempDataFullPD = [0,0,0,0,0,0,0];
|
||||||
|
this.tempDataSmartPD = [0,0,0,0,0,0,0];
|
||||||
|
this.tempDataTelePD = [0,0,0,0,0,0,0];
|
||||||
}
|
}
|
||||||
this.doughnutChartDataForFullPD = this.tempDataFullPD;
|
|
||||||
|
this.doughnutChartDataForFullPD= this.tempDataFullPD;
|
||||||
this.doughnutChartDataForSmartPD = this.tempDataSmartPD;
|
this.doughnutChartDataForSmartPD = this.tempDataSmartPD;
|
||||||
this.doughnutChartDataForTelePD = this.tempDataTelePD;
|
this.doughnutChartDataForTelePD = this.tempDataTelePD;
|
||||||
|
this.doughnutChartLabels = this.doughnutChartLabels;
|
||||||
|
this.total1 = this.tempDataFullPD.reduce((a, b) => a + b, 0);
|
||||||
|
this.total2 = this.tempDataSmartPD.reduce((a, b) => a + b, 0);
|
||||||
|
this.total3 = this.tempDataTelePD.reduce((a, b) => a + b, 0);
|
||||||
|
|
||||||
console.log('Final full Data Completed',this.doughnutChartDataForFullPD);
|
this.FullCanvas.chart.update();
|
||||||
console.log('temp full Data',this.tempDataFullPD);
|
this.SmartCanvas.chart.update();
|
||||||
console.log('Final Smart Data Completed',this.doughnutChartDataForSmartPD);
|
this.TeleCanvas.chart.update();
|
||||||
console.log('temp Smart Data',this.tempDataSmartPD);
|
|
||||||
console.log('Final Tele Data Completed',this.doughnutChartDataForTelePD);
|
|
||||||
console.log('temp Tele Data',this.tempDataTelePD);
|
|
||||||
console.log('total3',this.total3);
|
|
||||||
console.log('total2',this.total2);
|
|
||||||
console.log('total1',this.total1);
|
|
||||||
|
|
||||||
|
console.log('Final Full Data '+ this.doughnutChartDataForFullPD+'Temp Data'+this.tempDataFullPD+'Full Total '+this.total1);
|
||||||
|
console.log('Final Smart Data '+ this.doughnutChartDataForSmartPD+' Temp Data '+this.tempDataSmartPD+'Smart Total '+this.total2);
|
||||||
|
console.log('Final Tele Data '+ this.doughnutChartDataForTelePD+' Temp Data'+this.tempDataTelePD+'Tele Total '+this.total3);
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,6 @@ const currentdate = new Date().toJSON().slice(0,19).replace('T',' ');
|
|||||||
export class DashboardService {
|
export class DashboardService {
|
||||||
|
|
||||||
private apiUrl = environment.apiEndpoint;
|
private apiUrl = environment.apiEndpoint;
|
||||||
//private apiUrl = 'http://localhost/sparqapi/api/';
|
|
||||||
|
|
||||||
constructor(private _http: HttpClient,
|
constructor(private _http: HttpClient,
|
||||||
private _aws:AwsService) { }
|
private _aws:AwsService) { }
|
||||||
@ -53,17 +52,13 @@ export class DashboardService {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
getPDDetailForDoughnut(fromdate,todate,cityarr,lenderarr): Observable<any> {
|
getPDDetailForDoughnut(fromdate,todate,cityarr,lenderarr): Observable<any> {
|
||||||
console.log(')))))');
|
|
||||||
console.log(fromdate);
|
console.log(' From : ' + fromdate + ' To : ' + todate + ' Lender Array : ' + lenderarr + ' City Array : ' + cityarr);
|
||||||
console.log(todate);
|
|
||||||
console.log(cityarr);
|
|
||||||
console.log(lenderarr);
|
|
||||||
console.log('(((');
|
|
||||||
return this._http.post(this.apiUrl+'getDashBoardMaster', {
|
return this._http.post(this.apiUrl+'getDashBoardMaster', {
|
||||||
"fromdate":fromdate,
|
"fromdate":fromdate != '' && fromdate != null && fromdate != undefined ? fromdate : '',
|
||||||
"todate": todate,
|
"todate": todate != '' && todate != null && todate != undefined ? todate : '',
|
||||||
"cityarr":cityarr,
|
"cityarr":cityarr,"lenderarr": lenderarr})
|
||||||
"lenderarr": lenderarr})
|
|
||||||
.pipe(catchError(this.handleError('role', []))
|
.pipe(catchError(this.handleError('role', []))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -312,7 +312,7 @@
|
|||||||
<div class="body-container">
|
<div class="body-container">
|
||||||
<router-outlet></router-outlet>
|
<router-outlet></router-outlet>
|
||||||
</div>
|
</div>
|
||||||
<mat-sidenav #end position="end" class="chat-panel" mode="over" opened="false">
|
<mat-sidenav #end position="end" mode="over" opened="false">
|
||||||
<div style="text-align: center;">Not Yet Scheduled</div>
|
<div style="text-align: center;">Not Yet Scheduled</div>
|
||||||
<mat-tab-group [selectedIndex]="1" mat-stretch-tabs>
|
<mat-tab-group [selectedIndex]="1" mat-stretch-tabs>
|
||||||
<mat-tab>
|
<mat-tab>
|
||||||
|
|||||||
@ -87,7 +87,7 @@
|
|||||||
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width: 100%">
|
<mat-form-field style="width: 100%">
|
||||||
<input matInput placeholder="Loan Amount" formControlName="loan_amount">
|
<input matInput placeholder="Loan Amount" formControlName="loan_amount" (keypress)="keyPress($event)">
|
||||||
<!-- <mat-error *ngIf="pdMain.loan_amount.hasError('required')">Amount Required.</mat-error> -->
|
<!-- <mat-error *ngIf="pdMain.loan_amount.hasError('required')">Amount Required.</mat-error> -->
|
||||||
<mat-error *ngIf="pdMain.loan_amount.hasError('pattern')">Enter valid amount. </mat-error>
|
<mat-error *ngIf="pdMain.loan_amount.hasError('pattern')">Enter valid amount. </mat-error>
|
||||||
|
|
||||||
@ -126,9 +126,9 @@
|
|||||||
|
|
||||||
|
|
||||||
<mat-form-field style="width: 100%;">
|
<mat-form-field style="width: 100%;">
|
||||||
<input matInput placeholder="Pincode" formControlName="pincode">
|
<input matInput placeholder="Pincode" formControlName="pincode" (keypress)="keyPress($event)">
|
||||||
<!-- <mat-error *ngIf="pdMain.pincode.hasError('required')">Pincode Required.</mat-error> -->
|
<!-- <mat-error *ngIf="pdMain.pincode.hasError('required')">Pincode Required.</mat-error> -->
|
||||||
<mat-error *ngIf="pdMain.pincode.hasError('pattern') || pdMain.pincode.hasError('maxlength') || pdMain.pincode.hasError('minlength')">Enter Valid Pincode. </mat-error>
|
<mat-error *ngIf="pdMain.pincode.hasError('maxlength') || pdMain.pincode.hasError('minlength')">Enter Valid Pincode. </mat-error>
|
||||||
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width: 100%;">
|
<mat-form-field style="width: 100%;">
|
||||||
@ -158,19 +158,25 @@
|
|||||||
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
|
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
|
||||||
<mat-card class="p-2">
|
<mat-card class="p-2">
|
||||||
<h5>Main Applicant</h5>
|
<h5>Main Applicant</h5>
|
||||||
|
|
||||||
|
|
||||||
<mat-form-field style="width: 100%">
|
<mat-form-field style="width: 100%">
|
||||||
<input matInput placeholder="Name" formControlName="applicant_name">
|
<input matInput placeholder="Name" formControlName="applicant_name">
|
||||||
<mat-error *ngIf="pdMain.applicant_name.hasError('required')">Name is Required.</mat-error>
|
<mat-error *ngIf="pdMain.applicant_name.hasError('required')">Name is Required.</mat-error>
|
||||||
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width: 100%">
|
|
||||||
<input matInput placeholder="Phone" formControlName="mobile_no" type="text">
|
|
||||||
<!-- <mat-error *ngIf="pdMain.mobile_no.hasError('required')">Mobile Required.</mat-error> -->
|
|
||||||
<mat-error *ngIf="pdMain.mobile_no.hasError('pattern') || pdMain.mobile_no.hasError('maxlength') || pdMain.mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
|
|
||||||
|
|
||||||
</mat-form-field>
|
<div fxLayout="row" fxLayoutGap="5%" fxLayoutAlign="start none">
|
||||||
|
<mat-form-field style="width: 50%">
|
||||||
|
<input matInput placeholder="Mobile" formControlName="mobile_no" type="text" (keypress)="keyPress($event)" required>
|
||||||
|
<mat-error *ngIf="pdMain.mobile_no.hasError('maxlength') || pdMain.mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field style="width: 50%">
|
||||||
|
<input matInput placeholder="LandLine" formControlName="landline" type="text" (keypress)="keyPress($event)">
|
||||||
|
<mat-error *ngIf="pdMain.landline.hasError('maxlength') || pdMain.landline.hasError('minlength')">Enter Valid Phone Number. </mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Phone field to be split into 2 parts. Mobile Number mandatory and optional land line number with std code. -->
|
||||||
|
|
||||||
<mat-form-field style="width: 100%">
|
<mat-form-field style="width: 100%">
|
||||||
<input matInput placeholder="Email" formControlName="email" type="email">
|
<input matInput placeholder="Email" formControlName="email" type="email">
|
||||||
@ -190,24 +196,31 @@
|
|||||||
<h5>{{coDetails.controls.label.value}} {{i+1}}</h5>
|
<h5>{{coDetails.controls.label.value}} {{i+1}}</h5>
|
||||||
|
|
||||||
<div [formGroupName]="i">
|
<div [formGroupName]="i">
|
||||||
<mat-form-field style="width: 100%">
|
<mat-form-field style="width: 100%">
|
||||||
<input matInput placeholder="Name" formControlName="coapplicantName" type="text" required>
|
<input matInput placeholder="Name" formControlName="coapplicantName" type="text" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width: 100%">
|
|
||||||
<input matInput placeholder="Phone" formControlName="coapplicant_mobile_no" type="text">
|
<div fxLayout="row" fxLayoutGap="5%" fxLayoutAlign="start none">
|
||||||
<mat-error *ngIf="coDetails['controls'].coapplicant_mobile_no.hasError('pattern') || coDetails['controls'].coapplicant_mobile_no.hasError('maxlength') || coDetails['controls'].coapplicant_mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
|
<mat-form-field style="width: 50%">
|
||||||
|
<input matInput placeholder="Mobile" formControlName="coapplicant_mobile_no" type="text" (keypress)="keyPress($event)" required>
|
||||||
|
<mat-error *ngIf="coDetails['controls'].coapplicant_mobile_no.hasError('maxlength') || coDetails['controls'].coapplicant_mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field style="width: 50%">
|
||||||
|
<input matInput placeholder="LandLine" formControlName="coapplicant_landline" type="text" (keypress)="keyPress($event)">
|
||||||
|
<mat-error *ngIf="coDetails['controls'].coapplicant_landline.hasError('maxlength') || coDetails['controls'].coapplicant_landline.hasError('minlength')">Enter Valid Phone Number. </mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</mat-form-field>
|
<mat-form-field style="width: 100%">
|
||||||
|
|
||||||
<mat-form-field style="width: 100%">
|
|
||||||
|
|
||||||
<mat-select placeholder="Relationship" formControlName="relationship">
|
<mat-select placeholder="Relationship" formControlName="relationship">
|
||||||
<mat-option *ngFor="let rel of relationShipList" [value]="rel.relationship_id" >
|
<mat-option *ngFor="let rel of relationShipList" [value]="rel.relationship_id" >
|
||||||
{{rel.name}}
|
{{rel.name}}
|
||||||
</mat-option>
|
</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<div style="width:20%">
|
<div style="width:20%">
|
||||||
<span (click)="removeCoApplicant(i)">
|
<span (click)="removeCoApplicant(i)">
|
||||||
|
|||||||
@ -77,14 +77,15 @@ export class AddPdComponent implements OnInit, OnDestroy {
|
|||||||
fk_customer_segment: [null],
|
fk_customer_segment: [null],
|
||||||
loan_amount: [null,Validators.compose([Validators.pattern('^[0-9]*$')])],
|
loan_amount: [null,Validators.compose([Validators.pattern('^[0-9]*$')])],
|
||||||
applicant_name: [null],
|
applicant_name: [null],
|
||||||
mobile_no: [null,Validators.compose([Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
|
mobile_no: [null,Validators.compose([Validators.minLength(10),Validators.maxLength(10),Validators.required])],
|
||||||
|
landline : [null,Validators.compose([Validators.minLength(12),Validators.maxLength(13)])],
|
||||||
email: [null],
|
email: [null],
|
||||||
addressline1: [null],
|
addressline1: [null],
|
||||||
addressline2: [null],
|
addressline2: [null],
|
||||||
addressline3: [null],
|
addressline3: [null],
|
||||||
fk_city: [null],
|
fk_city: [null],
|
||||||
fk_state: [null],
|
fk_state: [null],
|
||||||
pincode : [null,Validators.compose([Validators.minLength(6),Validators.maxLength(6),Validators.pattern('^[0-9]*$')])],
|
pincode : [null,Validators.compose([Validators.minLength(6),Validators.maxLength(6)])],
|
||||||
remarks:[null],
|
remarks:[null],
|
||||||
// allocation_type: [null],
|
// allocation_type: [null],
|
||||||
// sub_allocation_type: [null],
|
// sub_allocation_type: [null],
|
||||||
@ -206,7 +207,8 @@ export class AddPdComponent implements OnInit, OnDestroy {
|
|||||||
return this._fb.group({
|
return this._fb.group({
|
||||||
label: ['Co Applicant'],
|
label: ['Co Applicant'],
|
||||||
coapplicantName: [null, Validators.compose([Validators.required])],
|
coapplicantName: [null, Validators.compose([Validators.required])],
|
||||||
coapplicant_mobile_no: [null, Validators.compose([Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
|
coapplicant_mobile_no: [null,Validators.compose([Validators.minLength(10),Validators.maxLength(10),Validators.required])],
|
||||||
|
coapplicant_landline : [null,Validators.compose([Validators.minLength(12),Validators.maxLength(13)])],
|
||||||
relationship: [null],
|
relationship: [null],
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -315,6 +317,7 @@ export class AddPdComponent implements OnInit, OnDestroy {
|
|||||||
"applicant_name":formValue.applicant_name,
|
"applicant_name":formValue.applicant_name,
|
||||||
"email":formValue.email,
|
"email":formValue.email,
|
||||||
"mobile_no":formValue.mobile_no,
|
"mobile_no":formValue.mobile_no,
|
||||||
|
"landline":formValue.landline,
|
||||||
"applicant_type":1,
|
"applicant_type":1,
|
||||||
"relation":"",
|
"relation":"",
|
||||||
}];
|
}];
|
||||||
@ -324,6 +327,7 @@ export class AddPdComponent implements OnInit, OnDestroy {
|
|||||||
"relation":itemElement.relationship,
|
"relation":itemElement.relationship,
|
||||||
"email":"",
|
"email":"",
|
||||||
"mobile_no":itemElement.coapplicant_mobile_no,
|
"mobile_no":itemElement.coapplicant_mobile_no,
|
||||||
|
"landline":itemElement.coapplicant_landline,
|
||||||
"applicant_type":0,
|
"applicant_type":0,
|
||||||
}
|
}
|
||||||
pd_applicant_details.push(obj1)
|
pd_applicant_details.push(obj1)
|
||||||
@ -410,4 +414,13 @@ export class AddPdComponent implements OnInit, OnDestroy {
|
|||||||
onReset() {
|
onReset() {
|
||||||
this.loadFormData();
|
this.loadFormData();
|
||||||
}
|
}
|
||||||
|
/** On Key Press Event For Mobile Number */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9/ /./-]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="above"
|
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="above"
|
||||||
(click)="closeEditComponent()"><mat-icon>close</mat-icon></button>
|
(click)="closeEditComponent()"><mat-icon>close</mat-icon></button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form [formGroup]="_EditApplicantForm" (submit)="updatePdApplicant(_EditApplicantForm.value)">
|
<form [formGroup]="_EditApplicantForm" (submit)="updatePdApplicant(_EditApplicantForm.value)">
|
||||||
|
|
||||||
<div fxLayout="row" fxLayoutWrap="wrap">
|
<div fxLayout="row" fxLayoutWrap="wrap">
|
||||||
@ -22,14 +23,19 @@
|
|||||||
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-form-field style="width: 100%">
|
<div fxLayout="row" fxLayoutGap="5%" fxLayoutAlign="start none">
|
||||||
<input matInput placeholder="Phone" formControlName="mobile_no" type="text" required>
|
<mat-form-field style="width: 50%">
|
||||||
|
<input matInput placeholder="Mobile" formControlName="mobile_no" type="text" (keypress)="keyPress($event)" required>
|
||||||
<mat-error *ngIf="pdMainApplicant.mobile_no.hasError('required')">Mobile number is required.</mat-error>
|
<mat-error *ngIf="pdMainApplicant.mobile_no.hasError('required')">Mobile number is required.</mat-error>
|
||||||
<mat-error *ngIf="pdMainApplicant.mobile_no.hasError('pattern') || pdMainApplicant.mobile_no.hasError('maxlength') || pdMainApplicant.mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
|
<mat-error *ngIf="pdMainApplicant.mobile_no.hasError('maxlength') || pdMainApplicant.mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 50%">
|
||||||
|
<input matInput placeholder="LandLine" formControlName="landline" type="text" (keypress)="keyPress($event)">
|
||||||
|
<mat-error *ngIf="pdMainApplicant.landline.hasError('maxlength') || pdMainApplicant.landline.hasError('minlength')">Enter Valid Phone Number. </mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</mat-form-field>
|
|
||||||
|
|
||||||
</mat-card>
|
</mat-card>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -45,11 +51,18 @@
|
|||||||
<mat-error *ngIf="coDetails['controls'].coapplicantName.hasError('required')">Name is Required.</mat-error>
|
<mat-error *ngIf="coDetails['controls'].coapplicantName.hasError('required')">Name is Required.</mat-error>
|
||||||
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width: 100%">
|
|
||||||
<input matInput placeholder="Phone" formControlName="coapplicant_mobile_no" type="text">
|
|
||||||
<mat-error *ngIf="coDetails['controls'].coapplicant_mobile_no.hasError('pattern') || coDetails['controls'].coapplicant_mobile_no.hasError('maxlength') || coDetails['controls'].coapplicant_mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
|
|
||||||
|
|
||||||
</mat-form-field>
|
<div fxLayout="row" fxLayoutGap="5%" fxLayoutAlign="start none">
|
||||||
|
<mat-form-field style="width: 50%">
|
||||||
|
<input matInput placeholder="Mobile" formControlName="coapplicant_mobile_no" type="text" (keypress)="keyPress($event)">
|
||||||
|
<mat-error *ngIf="coDetails['controls'].coapplicant_mobile_no.hasError('pattern') || coDetails['controls'].coapplicant_mobile_no.hasError('maxlength') || coDetails['controls'].coapplicant_mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 50%" >
|
||||||
|
<input matInput placeholder="LandLine" formControlName="coapplicant_landline" type="text" (keypress)="keyPress($event)">
|
||||||
|
<mat-error *ngIf=" coDetails['controls'].coapplicant_landline.hasError('maxlength') || coDetails['controls'].coapplicant_landline.hasError('minlength')">Enter Valid Phone Number. </mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
|
||||||
<mat-form-field style="width: 100%">
|
<mat-form-field style="width: 100%">
|
||||||
|
|
||||||
<mat-select placeholder="Relationship With Main Applicant" formControlName="relationship">
|
<mat-select placeholder="Relationship With Main Applicant" formControlName="relationship">
|
||||||
|
|||||||
@ -42,7 +42,8 @@ export class EditPdApplicantComponent implements OnInit {
|
|||||||
this._EditApplicantForm = this._fb.group({
|
this._EditApplicantForm = this._fb.group({
|
||||||
fk_applicant_primary_id: [null],
|
fk_applicant_primary_id: [null],
|
||||||
applicant_name: [null, Validators.compose([Validators.required])],
|
applicant_name: [null, Validators.compose([Validators.required])],
|
||||||
mobile_no: [null, Validators.compose([Validators.required,Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
|
mobile_no: [null, Validators.compose([Validators.required,Validators.minLength(10),Validators.maxLength(12)])],
|
||||||
|
landline: [null, Validators.compose([Validators.required,Validators.minLength(12),Validators.maxLength(13)])],
|
||||||
email: [null, Validators.compose([Validators.required, CustomValidators.email])],
|
email: [null, Validators.compose([Validators.required, CustomValidators.email])],
|
||||||
applicant_type: [1],
|
applicant_type: [1],
|
||||||
coApplicantItems: this._fb.array([]),
|
coApplicantItems: this._fb.array([]),
|
||||||
@ -54,7 +55,8 @@ export class EditPdApplicantComponent implements OnInit {
|
|||||||
this._EditApplicantForm = this._fb.group({
|
this._EditApplicantForm = this._fb.group({
|
||||||
fk_applicant_primary_id: [this.mainApplicantData[0].pd_co_applicant_id],
|
fk_applicant_primary_id: [this.mainApplicantData[0].pd_co_applicant_id],
|
||||||
applicant_name: [this.mainApplicantData[0].applicant_name, Validators.compose([Validators.required])],
|
applicant_name: [this.mainApplicantData[0].applicant_name, Validators.compose([Validators.required])],
|
||||||
mobile_no: [this.mainApplicantData[0].mobile_no, Validators.compose([Validators.required,Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
|
mobile_no: [this.mainApplicantData[0].mobile_no, Validators.compose([Validators.required,Validators.minLength(10),Validators.maxLength(12)])],
|
||||||
|
landline: [this.mainApplicantData[0].landline, Validators.compose([Validators.required,Validators.minLength(12),Validators.maxLength(13)])],
|
||||||
email: [this.mainApplicantData[0].email, Validators.compose([Validators.required, CustomValidators.email])],
|
email: [this.mainApplicantData[0].email, Validators.compose([Validators.required, CustomValidators.email])],
|
||||||
applicant_type: [this.mainApplicantData[0].applicant_type, Validators.compose([Validators.required])],
|
applicant_type: [this.mainApplicantData[0].applicant_type, Validators.compose([Validators.required])],
|
||||||
coApplicantItems: this._fb.array([]),
|
coApplicantItems: this._fb.array([]),
|
||||||
@ -74,6 +76,7 @@ export class EditPdApplicantComponent implements OnInit {
|
|||||||
fk_applicant_primary_id: [listData.pd_co_applicant_id],
|
fk_applicant_primary_id: [listData.pd_co_applicant_id],
|
||||||
coapplicantName: [listData.applicant_name, Validators.compose([Validators.required])],
|
coapplicantName: [listData.applicant_name, Validators.compose([Validators.required])],
|
||||||
coapplicant_mobile_no: [listData.mobile_no,Validators.compose([Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
|
coapplicant_mobile_no: [listData.mobile_no,Validators.compose([Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
|
||||||
|
coapplicant_landline: [listData.landline,Validators.compose([Validators.minLength(12),Validators.maxLength(13)])],
|
||||||
relationship: [listData.relation],
|
relationship: [listData.relation],
|
||||||
applicant_type: [listData.applicant_type, Validators.compose([Validators.required])],
|
applicant_type: [listData.applicant_type, Validators.compose([Validators.required])],
|
||||||
});
|
});
|
||||||
@ -84,6 +87,7 @@ export class EditPdApplicantComponent implements OnInit {
|
|||||||
fk_applicant_primary_id: [null],
|
fk_applicant_primary_id: [null],
|
||||||
coapplicantName: [null, Validators.compose([Validators.required])],
|
coapplicantName: [null, Validators.compose([Validators.required])],
|
||||||
coapplicant_mobile_no: [null, Validators.compose([Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
|
coapplicant_mobile_no: [null, Validators.compose([Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
|
||||||
|
coapplicant_landline: [null, Validators.compose([Validators.minLength(12),Validators.maxLength(13)])],
|
||||||
relationship: [null],
|
relationship: [null],
|
||||||
applicant_type: [0],
|
applicant_type: [0],
|
||||||
});
|
});
|
||||||
@ -108,6 +112,7 @@ export class EditPdApplicantComponent implements OnInit {
|
|||||||
"applicant_name":formValue.applicant_name,
|
"applicant_name":formValue.applicant_name,
|
||||||
"email":formValue.email,
|
"email":formValue.email,
|
||||||
"mobile_no":formValue.mobile_no,
|
"mobile_no":formValue.mobile_no,
|
||||||
|
"landline":formValue.landline,
|
||||||
"applicant_type":formValue.applicant_type,
|
"applicant_type":formValue.applicant_type,
|
||||||
"relation":formValue.relationship,
|
"relation":formValue.relationship,
|
||||||
"isactive":1
|
"isactive":1
|
||||||
@ -120,6 +125,7 @@ export class EditPdApplicantComponent implements OnInit {
|
|||||||
"relation":itemElement.relationship,
|
"relation":itemElement.relationship,
|
||||||
"email":"",
|
"email":"",
|
||||||
"mobile_no":itemElement.coapplicant_mobile_no,
|
"mobile_no":itemElement.coapplicant_mobile_no,
|
||||||
|
"landline":itemElement.coapplicant_landline,
|
||||||
"applicant_type":itemElement.applicant_type,
|
"applicant_type":itemElement.applicant_type,
|
||||||
"isactive":1
|
"isactive":1
|
||||||
}
|
}
|
||||||
@ -164,4 +170,13 @@ export class EditPdApplicantComponent implements OnInit {
|
|||||||
closeEditComponent(): void {
|
closeEditComponent(): void {
|
||||||
this.dialogRef.close();
|
this.dialogRef.close();
|
||||||
}
|
}
|
||||||
|
/** On Key Press Event For Mobile Number */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9/ /./-]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -119,10 +119,8 @@
|
|||||||
|
|
||||||
|
|
||||||
<mat-form-field style="width: 100%;">
|
<mat-form-field style="width: 100%;">
|
||||||
<input matInput placeholder="Pincode" formControlName="pincode">
|
<input matInput placeholder="Pincode" formControlName="pincode" (keypress)="keyPress($event)">
|
||||||
<mat-error *ngIf="pdMain.pincode.hasError('pattern') || pdMain.pincode.hasError('maxlength') || pdMain.pincode.hasError('minlength')">Enter Valid Pincode. </mat-error>
|
<mat-error *ngIf="pdMain.pincode.hasError('pattern') || pdMain.pincode.hasError('maxlength') || pdMain.pincode.hasError('minlength')">Enter Valid Pincode. </mat-error>
|
||||||
|
|
||||||
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width: 100%;">
|
<mat-form-field style="width: 100%;">
|
||||||
<textarea matInput placeholder="Remarks" formControlName="remarks"></textarea>
|
<textarea matInput placeholder="Remarks" formControlName="remarks"></textarea>
|
||||||
|
|||||||
@ -199,6 +199,15 @@ export class EditPdMasterComponent implements OnInit {
|
|||||||
closeEditMasterComponent(): void {
|
closeEditMasterComponent(): void {
|
||||||
this.dialogRef.close();
|
this.dialogRef.close();
|
||||||
}
|
}
|
||||||
|
/** On Key Press Event For Mobile Number */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9/ /./-]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,11 +13,11 @@
|
|||||||
|
|
||||||
<div *ngIf="pdOfficerList.length > 0" >
|
<div *ngIf="pdOfficerList.length > 0" >
|
||||||
<div fxLayout="row wrap" fxFlex="100%">
|
<div fxLayout="row wrap" fxFlex="100%">
|
||||||
<div fxLayout="row wrap" fxFlex="33.33%" *ngFor="let officer of pdOfficerList; ">
|
<div fxLayout="row wrap" fxFlex="22%" *ngFor="let officer of pdOfficerList; ">
|
||||||
<mat-card fxFlex="100%">
|
<mat-card fxFlex="100%">
|
||||||
<mat-card-content style="text-align:center">
|
<mat-card-content style="text-align:center">
|
||||||
<mat-radio-button [value]="officer" (change)="selectPdOfficer(officer)"></mat-radio-button>
|
<mat-radio-button [value]="officer" (change)="selectPdOfficer(officer)"></mat-radio-button>
|
||||||
<img [src]="officer.profile_url ||'https://image.ibb.co/mGjZB9/usernew.png'" alt="No Image" style="border-radius:50%;width:50%"><br>
|
<img [src]="officer.profile_url ||'https://image.ibb.co/mGjZB9/usernew.png'" alt="No Image" style="border-radius:50%;width:100px;height:100px;"><br>
|
||||||
<span>{{officer.first_name}}</span>
|
<span>{{officer.first_name}}</span>
|
||||||
<br>
|
<br>
|
||||||
<span>{{officer.mobile_no}}</span><br>
|
<span>{{officer.mobile_no}}</span><br>
|
||||||
|
|||||||
@ -0,0 +1,45 @@
|
|||||||
|
<mat-card style="min-height:540px;">
|
||||||
|
<mat-card-content>
|
||||||
|
<div style="text-align: right;" class="mb-1">
|
||||||
|
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
|
||||||
|
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: right;" class="mb-1">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<label>Billing Name : </label> {{pdReportRecords.billing_name}}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Product Name : </label> {{pdReportRecords.product_name}}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Customer Segment Name: </label> {{pdReportRecords.customer_segment_name}}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>PD Type: </label> {{pdReportRecords.pd_type_name}}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Status: </label> {{pdReportRecords.pd_status}}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Applicant Details : </label> <span *ngFor="let applicants of pdReportRecords?.pd_applicant_details; let last = last"> {{applicants.applicant_name}} <span *ngIf="!last"> , </span></span>
|
||||||
|
</div>
|
||||||
|
<!--{{pdReportRecords.question_answers | json}}-->
|
||||||
|
<div *ngFor="let data of pdReportRecords?.question_answers.form_details">
|
||||||
|
<h4><b>{{data.Name}}</b></h4>
|
||||||
|
<div *ngFor="let dataQA of data?.Details">
|
||||||
|
<div><b>{{dataQA.question}}</b></div>
|
||||||
|
<div>{{dataQA.answer}}</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</mat-card-content>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
|
<notifier-container></notifier-container>
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { PdReportComponent } from './pd-report.component';
|
||||||
|
|
||||||
|
describe('PdReportComponent', () => {
|
||||||
|
let component: PdReportComponent;
|
||||||
|
let fixture: ComponentFixture<PdReportComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ PdReportComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(PdReportComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,266 @@
|
|||||||
|
import {Component, ViewChild, OnInit, ViewEncapsulation, OnDestroy} from '@angular/core';
|
||||||
|
import {FormBuilder, FormGroup, Validators, FormControl, FormArray, AbstractControl} from '@angular/forms';
|
||||||
|
import {ActivatedRoute, Router} from '@angular/router';
|
||||||
|
import {NotifierService} from 'angular-notifier';
|
||||||
|
import {ListPdComponent} from './../list-pd.component';
|
||||||
|
|
||||||
|
import {PdTrigerService} from '../../../pd-service/pd-triger.service';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-pd-report',
|
||||||
|
templateUrl: './pd-report.component.html',
|
||||||
|
styleUrls: ['./pd-report.component.scss']
|
||||||
|
})
|
||||||
|
export class PdReportComponent implements OnInit {
|
||||||
|
startPD: any;
|
||||||
|
|
||||||
|
pdReportRecords:any;
|
||||||
|
|
||||||
|
private notifier: NotifierService;
|
||||||
|
constructor(notifier: NotifierService, private fb: FormBuilder, private route: ActivatedRoute,
|
||||||
|
private router: Router, public pdTrigerService: PdTrigerService, private listPDComponent: ListPdComponent) {
|
||||||
|
this.startPD = this.route.snapshot.params['pdid'];
|
||||||
|
this.notifier = notifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
this.listPDComponent.showListView(false);
|
||||||
|
this.getPdReportDetails();
|
||||||
|
}
|
||||||
|
|
||||||
|
getPdReportDetails() {
|
||||||
|
this.pdTrigerService.getPdFinalReportDetails(this.startPD).subscribe(data => {
|
||||||
|
if (data.status == 200) {
|
||||||
|
// this.pdReportRecords = data.records.question_answers;
|
||||||
|
|
||||||
|
let Records = {
|
||||||
|
"dataStatus": true,
|
||||||
|
"status": 200,
|
||||||
|
"records": {
|
||||||
|
"pd_id": "1",
|
||||||
|
"fk_lender_id": "7",
|
||||||
|
"lender_full_name": "check",
|
||||||
|
"lender_short_name": "check",
|
||||||
|
"fk_entity_billing_id": "1",
|
||||||
|
"billing_name": "ICICI- CHENNAI",
|
||||||
|
"lender_applicant_id": "Le123",
|
||||||
|
"pd_date_of_initiation": "06\/10\/2018",
|
||||||
|
"fk_product_id": "8",
|
||||||
|
"product_name": "Land Loan",
|
||||||
|
"product_abbr": "LL",
|
||||||
|
"fk_subproduct_id": "1",
|
||||||
|
"subproduct_name": "Purchase (Resale) Loan. ",
|
||||||
|
"subproduct_abbr": "HL PUR-RESALE",
|
||||||
|
"fk_pd_type": "1",
|
||||||
|
"pd_type_name": "Full PD ",
|
||||||
|
"pd_status": "COMPLETED",
|
||||||
|
"pd_status_name": null,
|
||||||
|
"pd_specific_clarification": null,
|
||||||
|
"createdon": "06\/10\/2018 05:43:58",
|
||||||
|
"fk_createdby": "1",
|
||||||
|
"updatedon": "16\/11\/2018 11:11:00",
|
||||||
|
"fk_updatedby": "1",
|
||||||
|
"createdby": "Krishna kumar",
|
||||||
|
"updatedby": "Krishna kumar",
|
||||||
|
"fk_pd_allocation_type": "1",
|
||||||
|
"pd_allocation_type_name": "AUTO",
|
||||||
|
"fk_pd_allocated_to": "128",
|
||||||
|
"pd_allocated_to": "VinothKumar S",
|
||||||
|
"executive_id": null,
|
||||||
|
"executive_name": null,
|
||||||
|
"central_pd_officer_id": null,
|
||||||
|
"centralofficer": null,
|
||||||
|
"fk_pd_template_id": "11",
|
||||||
|
"template_name": "TMB",
|
||||||
|
"fk_customer_segment": "2",
|
||||||
|
"customer_segment_name": "Salary Cheque",
|
||||||
|
"customer_segment_abbr": "SAL-CHQ",
|
||||||
|
"pd_officier_final_judgement": null,
|
||||||
|
"pd_agency_id": null,
|
||||||
|
"agency_name": null,
|
||||||
|
"loan_amount": "60000",
|
||||||
|
"addressline1": "MGR Street,Vengaivasal Main Road",
|
||||||
|
"addressline2": "Santhoshpuram",
|
||||||
|
"addressline3": "chennai",
|
||||||
|
"fk_city": "2",
|
||||||
|
"city_name": "Chennai",
|
||||||
|
"fk_state": "2",
|
||||||
|
"state_name": "Tamil Nadu",
|
||||||
|
"pincode": "600100",
|
||||||
|
"pd_contact_person": "Ram",
|
||||||
|
"pd_contact_mobileno": "32131233",
|
||||||
|
"scheduled_on": "31\/12\/2018 12:59 PM",
|
||||||
|
"completed_on": null,
|
||||||
|
"remarks": null,
|
||||||
|
"pd_applicant_details": [
|
||||||
|
{
|
||||||
|
"pd_co_applicant_id": "1",
|
||||||
|
"fk_pd_id": "1",
|
||||||
|
"applicant_name": "Karthi Raj",
|
||||||
|
"applicant_type": "1",
|
||||||
|
"mobile_no": "4234234155",
|
||||||
|
"email": "sivak@gmail.com",
|
||||||
|
"addressline1": null,
|
||||||
|
"addressline2": null,
|
||||||
|
"addressline3": null,
|
||||||
|
"fk_city": null,
|
||||||
|
"fk_state": null,
|
||||||
|
"pincode": null,
|
||||||
|
"relation": "brother",
|
||||||
|
"relation_name": null,
|
||||||
|
"landline": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pd_co_applicant_id": "2",
|
||||||
|
"fk_pd_id": "1",
|
||||||
|
"applicant_name": "ramesh",
|
||||||
|
"applicant_type": "0",
|
||||||
|
"mobile_no": "3123123213",
|
||||||
|
"email": "",
|
||||||
|
"addressline1": null,
|
||||||
|
"addressline2": null,
|
||||||
|
"addressline3": null,
|
||||||
|
"fk_city": null,
|
||||||
|
"fk_state": null,
|
||||||
|
"pincode": null,
|
||||||
|
"relation": "brother",
|
||||||
|
"relation_name": null,
|
||||||
|
"landline": null
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"question_answers": {
|
||||||
|
"form_details": [
|
||||||
|
{
|
||||||
|
"Name": "Supplied Details",
|
||||||
|
"Details": [
|
||||||
|
{
|
||||||
|
"question": "What are the main raw materials?(MEG Only)",
|
||||||
|
"answer": "check checkcheck"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Supplier Name",
|
||||||
|
"answer": "Resico"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Contact Person Name",
|
||||||
|
"answer": "Karthick"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Contact Mobile Number",
|
||||||
|
"answer": "9874115221"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Payment Mode",
|
||||||
|
"answer": "Immediate Or Advanced Payment"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "% of immediate \/ Advance Payment Purchase to Total Purchase?",
|
||||||
|
"answer": "212"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Credit Period",
|
||||||
|
"answer": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Frequency of Purchase",
|
||||||
|
"answer": "Monthly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Others Details",
|
||||||
|
"answer": ""
|
||||||
|
}
|
||||||
|
]},
|
||||||
|
{
|
||||||
|
"Name": "Client Details",
|
||||||
|
"Details": [
|
||||||
|
{
|
||||||
|
"question": "Client Name",
|
||||||
|
"answer": "Venba"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Contact Person Name",
|
||||||
|
"answer": "test"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Contact Mobile Number",
|
||||||
|
"answer": "9685471122"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Payment Mode",
|
||||||
|
"answer": "Combination of Both"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "% of immediate \/ Advance Payment Purchase to Total Purchase?",
|
||||||
|
"answer": "12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Credit Period",
|
||||||
|
"answer": "10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Frequency of Purchase",
|
||||||
|
"answer": "Weekly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Others Details",
|
||||||
|
"answer": ""
|
||||||
|
}
|
||||||
|
]},
|
||||||
|
{ "Name": "Personal Details",
|
||||||
|
"Details": [
|
||||||
|
{
|
||||||
|
"question": "Name",
|
||||||
|
"answer": "Karthi Raj"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Age",
|
||||||
|
"answer": "50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Entity",
|
||||||
|
"answer": "Individual"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Name",
|
||||||
|
"answer": "ramesh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Age",
|
||||||
|
"answer": "45"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Entity",
|
||||||
|
"answer": "Individual"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Relationship With Main Applicant",
|
||||||
|
"answer": "Brother"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": "Remarks",
|
||||||
|
"answer": "good"
|
||||||
|
}
|
||||||
|
]}
|
||||||
|
],
|
||||||
|
"general_questions": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.pdReportRecords = Records.records;
|
||||||
|
|
||||||
|
// this.pdReportRecords = data.records.qu;
|
||||||
|
}
|
||||||
|
}, err=> {
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// load pd view component
|
||||||
|
loadPdViewCompoent() {
|
||||||
|
this.router.navigate(['../../viewpd', this.startPD], {relativeTo: this.route});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -13,7 +13,7 @@
|
|||||||
<!-- <form [formGroup]="_pdAllocationForm" (submit)="onSubmit()"> -->
|
<!-- <form [formGroup]="_pdAllocationForm" (submit)="onSubmit()"> -->
|
||||||
<div *ngIf="pdCentralOfficerList.length > 0" >
|
<div *ngIf="pdCentralOfficerList.length > 0" >
|
||||||
<div fxLayout="row wrap" fxFlex="100%">
|
<div fxLayout="row wrap" fxFlex="100%">
|
||||||
<div fxLayout="row wrap" fxFlex="33.33%" *ngFor="let officer of pdCentralOfficerList; ">
|
<div fxLayout="row wrap" fxFlex="22%" *ngFor="let officer of pdCentralOfficerList; ">
|
||||||
<!-- <p><mat-radio-button [value]="officer" (change)="selectPdOfficer(officer)"></mat-radio-button>
|
<!-- <p><mat-radio-button [value]="officer" (change)="selectPdOfficer(officer)"></mat-radio-button>
|
||||||
{{officer.first_name}}
|
{{officer.first_name}}
|
||||||
</p>
|
</p>
|
||||||
@ -31,10 +31,10 @@
|
|||||||
<mat-card fxFlex="100%">
|
<mat-card fxFlex="100%">
|
||||||
<mat-card-content style="text-align:center">
|
<mat-card-content style="text-align:center">
|
||||||
<mat-radio-button [value]="officer" (change)="selectPdOfficer(officer)"></mat-radio-button>
|
<mat-radio-button [value]="officer" (change)="selectPdOfficer(officer)"></mat-radio-button>
|
||||||
<img [src]="officer.profile_url ||'https://image.ibb.co/mGjZB9/usernew.png'" alt="No Image" style="border-radius:50%;width:50%"><br>
|
<img [src]="officer.profile_url ||'https://image.ibb.co/mGjZB9/usernew.png'" alt="No Image" style="border-radius:50%;width:100px;height:100px;"><br>
|
||||||
<span>{{officer.first_name}}</span>
|
<span>{{officer.first_name}}</span>
|
||||||
<br>
|
<br>
|
||||||
<span>{{officer.mobile_no}}</span>
|
<span>{{officer.mobile_no}}</span> <br>
|
||||||
<span>PD in hand - {{officer.count}}</span>
|
<span>PD in hand - {{officer.count}}</span>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
@ -64,11 +64,11 @@
|
|||||||
|
|
||||||
<div *ngIf="pdExcutiveList.length > 0" >
|
<div *ngIf="pdExcutiveList.length > 0" >
|
||||||
<div fxLayout="row wrap" fxFlex="100%">
|
<div fxLayout="row wrap" fxFlex="100%">
|
||||||
<div fxLayout="row wrap" fxFlex="33.33%" *ngFor="let excutive of pdExcutiveList">
|
<div fxLayout="row wrap" fxFlex="22%" *ngFor="let excutive of pdExcutiveList">
|
||||||
<mat-card fxFlex="100%">
|
<mat-card fxFlex="100%">
|
||||||
<mat-card-content style="text-align:center">
|
<mat-card-content style="text-align:center">
|
||||||
<mat-radio-button [value]="excutive" (change)="selectExcutiveOfficer(excutive)"></mat-radio-button>
|
<mat-radio-button [value]="excutive" (change)="selectExcutiveOfficer(excutive)"></mat-radio-button>
|
||||||
<img [src]="excutive.profile_url ||'https://image.ibb.co/mGjZB9/usernew.png'" alt="No Image" style="border-radius:50%;width:50%"><br>
|
<img [src]="excutive.profile_url ||'https://image.ibb.co/mGjZB9/usernew.png'" alt="No Image" style="border-radius:50%;width:100px;height:100px;"><br>
|
||||||
<span>{{excutive.first_name}}</span>
|
<span>{{excutive.first_name}}</span>
|
||||||
<br>
|
<br>
|
||||||
<span>{{excutive.mobile_no}}</span> <br>
|
<span>{{excutive.mobile_no}}</span> <br>
|
||||||
|
|||||||
@ -54,7 +54,7 @@
|
|||||||
<p>Neighbourhood</p>
|
<p>Neighbourhood</p>
|
||||||
</mat-card-header>
|
</mat-card-header>
|
||||||
<div formArrayName="neighbourhood">
|
<div formArrayName="neighbourhood">
|
||||||
<div *ngFor="let item of addressForm.controls.neighbourhood['controls']; let i=index">
|
<div *ngFor="let item of addressForm.controls.neighbourhood['controls']; let i=index" >
|
||||||
<mat-card-content class="matcard" [formGroup]="item">
|
<mat-card-content class="matcard" [formGroup]="item">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Neighbour Name"
|
<input matInput placeholder="Neighbour Name"
|
||||||
@ -65,7 +65,7 @@
|
|||||||
formControlName="do_you_know">
|
formControlName="do_you_know">
|
||||||
<mat-option value="{{m_neighbourStatus}}"
|
<mat-option value="{{m_neighbourStatus}}"
|
||||||
*ngFor="let m_neighbourStatus of neighbourStatusData">{{m_neighbourStatus}}
|
*ngFor="let m_neighbourStatus of neighbourStatusData">{{m_neighbourStatus}}
|
||||||
</mat-option>
|
</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
<div [formGroupName]="i">
|
<div [formGroupName]="i">
|
||||||
<div fxLayout="row wrap" fxLayoutGap="5px" fxLayoutAlign="start none">
|
<div fxLayout="row wrap" fxLayoutGap="5px" fxLayoutAlign="start none">
|
||||||
<mat-form-field style="width:100%">
|
<mat-form-field style="width:100%">
|
||||||
<mat-select (selectionChange)="selectedAssetsType($event, i)" placeholder="Assets Type" formControlName="assets_mode">
|
<mat-select (selectionChange)="selectedAssetsType($event, i)" placeholder="Assets Type" formControlName="assets_mode" requried>
|
||||||
<mat-option *ngFor="let asset of m_assets_type" [value]="asset.id">{{ asset.name }}</mat-option>
|
<mat-option *ngFor="let asset of m_assets_type" [value]="asset.id">{{ asset.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
@ -26,7 +26,7 @@
|
|||||||
<div [formGroupName]="s">
|
<div [formGroupName]="s">
|
||||||
<div>
|
<div>
|
||||||
<mat-form-field style="width:100%">
|
<mat-form-field style="width:100%">
|
||||||
<mat-select placeholder="Property" formControlName="property_type">
|
<mat-select placeholder="Property" formControlName="property_type" required>
|
||||||
<mat-option *ngFor="let prop of m_propertyType" [value]="prop.id">{{ prop.name }}</mat-option>
|
<mat-option *ngFor="let prop of m_propertyType" [value]="prop.id">{{ prop.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
@ -42,7 +42,7 @@
|
|||||||
<div [formGroupName]="s">
|
<div [formGroupName]="s">
|
||||||
<div>
|
<div>
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_four_weeler">
|
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_four_weeler" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<div [formGroupName]="s">
|
<div [formGroupName]="s">
|
||||||
<div>
|
<div>
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_two_weeler">
|
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_two_weeler" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -84,7 +84,7 @@
|
|||||||
<div [formGroupName]="s">
|
<div [formGroupName]="s">
|
||||||
<div>
|
<div>
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Description" formControlName="consumer_durable_description">
|
<input matInput placeholder="Description" formControlName="consumer_durable_description" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -99,19 +99,19 @@
|
|||||||
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none">
|
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none">
|
||||||
<div fxFlex="33">
|
<div fxFlex="33">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Type" formControlName="insurance_type">
|
<mat-select placeholder="Type" formControlName="insurance_type" required>
|
||||||
<mat-option *ngFor="let ins_type of m_insuranceType" [value]="ins_type.id">{{ ins_type.name }}</mat-option>
|
<mat-option *ngFor="let ins_type of m_insuranceType" [value]="ins_type.id">{{ ins_type.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div fxFlex="33">
|
<div fxFlex="33">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Premium Paid" formControlName="premium_paid">
|
<input matInput placeholder="Premium Paid" formControlName="premium_paid" required (keypress)="keyPress($event)">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div fxFlex="33">
|
<div fxFlex="33">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Frequency" formControlName="frequency_mode">
|
<mat-select placeholder="Frequency" formControlName="frequency_mode" required>
|
||||||
<mat-option *ngFor="let freqn of m_freqOfPurchase" [value]="freqn.frequency_id">{{ freqn.name }}</mat-option>
|
<mat-option *ngFor="let freqn of m_freqOfPurchase" [value]="freqn.frequency_id">{{ freqn.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
@ -120,12 +120,12 @@
|
|||||||
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none">
|
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none">
|
||||||
<div fxFlex="33">
|
<div fxFlex="33">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Sum Assured" formControlName="sum_assured">
|
<input matInput placeholder="Sum Assured" formControlName="sum_assured" required (keypress)="keyPress($event)">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div fxFlex="33">
|
<div fxFlex="33">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Members Covered" formControlName="members_coverd">
|
<input matInput placeholder="Members Covered" formControlName="members_coverd" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -141,19 +141,19 @@
|
|||||||
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none">
|
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none">
|
||||||
<div fxFlex="33">
|
<div fxFlex="33">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Type" formControlName="investments_type">
|
<mat-select placeholder="Type" formControlName="investments_type" required>
|
||||||
<mat-option *ngFor="let ins_type of m_investmentType" [value]="ins_type.id">{{ ins_type.name }}</mat-option>
|
<mat-option *ngFor="let ins_type of m_investmentType" [value]="ins_type.id">{{ ins_type.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div fxFlex="33">
|
<div fxFlex="33">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Amount of Investment" formControlName="amount_of_invest">
|
<input matInput placeholder="Amount of Investment" formControlName="amount_of_invest" required (keypress)="keyPress($event)">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div fxFlex="33">
|
<div fxFlex="33">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Bank Name" formControlName="bank_name">
|
<input matInput placeholder="Bank Name" formControlName="bank_name" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -168,7 +168,7 @@
|
|||||||
<div [formGroupName]="s">
|
<div [formGroupName]="s">
|
||||||
<div>
|
<div>
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Description of the Assets" formControlName="any_other_assets">
|
<input matInput placeholder="Description of the Assets" formControlName="any_other_assets" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -181,7 +181,7 @@
|
|||||||
<div *ngIf="sup.get('assets_mode').value == 1 || sup.get('assets_mode').value == 4">
|
<div *ngIf="sup.get('assets_mode').value == 1 || sup.get('assets_mode').value == 4">
|
||||||
<div fxFlex="33">
|
<div fxFlex="33">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Approximate Market Value" formControlName="approximate_market_value">
|
<input matInput placeholder="Approximate Market Value" formControlName="approximate_market_value" (keypress)="keyPress($event)">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -217,7 +217,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div *ngIf="sup.get('emi').value === 'yes'" fxFlex="33">
|
<div *ngIf="sup.get('emi').value === 'yes'" fxFlex="33">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="EMI Paid" formControlName="emi_paid">
|
<input matInput placeholder="EMI Paid" formControlName="emi_paid" (keypress)="keyPress($event)">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="sup.get('emi').value === 'yes'" fxFlex="33">
|
<div *ngIf="sup.get('emi').value === 'yes'" fxFlex="33">
|
||||||
|
|||||||
@ -333,7 +333,7 @@ public m_investmentType = [];
|
|||||||
}
|
}
|
||||||
case '4': {
|
case '4': {
|
||||||
const control = (<FormArray>this._assetsQuesFrom.controls['assets_details']).at(val).get('details') as FormArray;
|
const control = (<FormArray>this._assetsQuesFrom.controls['assets_details']).at(val).get('details') as FormArray;
|
||||||
control.push(this.loadJwellDescription());
|
//control.push(this.loadJwellDescription());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '5': {
|
case '5': {
|
||||||
@ -542,7 +542,7 @@ public m_investmentType = [];
|
|||||||
}
|
}
|
||||||
case '4': {
|
case '4': {
|
||||||
const control = (<FormArray>this._assetsQuesFrom.controls['assets_details']).at(val).get('details') as FormArray;
|
const control = (<FormArray>this._assetsQuesFrom.controls['assets_details']).at(val).get('details') as FormArray;
|
||||||
control.push(this.loadJwellDescriptionWithData(data));
|
//control.push(this.loadJwellDescriptionWithData(data));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '5': {
|
case '5': {
|
||||||
@ -640,6 +640,15 @@ public m_investmentType = [];
|
|||||||
arr.controls.splice(0);
|
arr.controls.splice(0);
|
||||||
this.getPdSupplierFormDetails();
|
this.getPdSupplierFormDetails();
|
||||||
}
|
}
|
||||||
|
/** On Key Press Event For Mobile Number */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9\-\.\ ]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
// {
|
// {
|
||||||
// 'main_raw_materials': 'sdkjfal',
|
// 'main_raw_materials': 'sdkjfal',
|
||||||
// 'supplier_details' ; [
|
// 'supplier_details' ; [
|
||||||
|
|||||||
@ -85,14 +85,14 @@
|
|||||||
</mat-expansion-panel-header>
|
</mat-expansion-panel-header>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Applicant Name"
|
<input matInput placeholder="Applicant Name"
|
||||||
formControlName="applicant_name">
|
formControlName="applicant_name" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Bank Name" formControlName="bank_name">
|
<input matInput placeholder="Bank Name" formControlName="bank_name" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Account Type" formControlName="account_type">
|
<mat-select placeholder="Account Type" formControlName="account_type" required>
|
||||||
<mat-option *ngFor="let prop of m_accountType" [value]="prop.id">{{ prop.name }}</mat-option>
|
<mat-option *ngFor="let prop of m_accountType" [value]="prop.id">{{ prop.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
<!--<mat-select placeholder="Account Type"
|
<!--<mat-select placeholder="Account Type"
|
||||||
@ -107,7 +107,7 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Salary Credited in this account"
|
<mat-select placeholder="Salary Credited in this account"
|
||||||
formControlName="salary">
|
formControlName="salary" required>
|
||||||
<mat-option value="Yes">Yes</mat-option>
|
<mat-option value="Yes">Yes</mat-option>
|
||||||
<mat-option value="No">No</mat-option>
|
<mat-option value="No">No</mat-option>
|
||||||
<mat-option value="NA">NA</mat-option>
|
<mat-option value="NA">NA</mat-option>
|
||||||
@ -115,19 +115,31 @@
|
|||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Limit in case of OD / CC account"
|
<input matInput placeholder="Limit in case of OD / CC account"
|
||||||
formControlName="limit">
|
formControlName="limit" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field *ngIf="pd_cus_segment!='SAL'">
|
||||||
<mat-select placeholder="Is this the main business account"
|
<mat-select placeholder="Is this the main business account"
|
||||||
formControlName="is_main">
|
formControlName="is_main" required>
|
||||||
<mat-option value="Yes">Yes</mat-option>
|
<mat-option value="Yes">Yes</mat-option>
|
||||||
<mat-option value="No">No</mat-option>
|
<mat-option value="No">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<!-- <mat-form-field>
|
||||||
<input matInput placeholder="Approximate Vintage"
|
<input matInput placeholder="Approximate Vintage"
|
||||||
formControlName="vintage">
|
formControlName="vintage" required>
|
||||||
</mat-form-field>
|
</mat-form-field> -->
|
||||||
|
<div>
|
||||||
|
<label>Approximate Vintage?</label>
|
||||||
|
<br>
|
||||||
|
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput type="number" placeholder="Year" formControlName="vintage_year" required min='0'>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput type="number" placeholder="Month" formControlName="vintage_month" required min='0' max='12'>
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<button *ngIf="i > 0" mat-raised-button mat-icon-button matTooltip="Delete" matTooltipPosition="above" (click)="deleteBankdetails(i)">
|
<button *ngIf="i > 0" mat-raised-button mat-icon-button matTooltip="Delete" matTooltipPosition="above" (click)="deleteBankdetails(i)">
|
||||||
<mat-icon >delete</mat-icon>
|
<mat-icon >delete</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
@ -142,7 +154,7 @@
|
|||||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||||
<mat-form-field appearance="outline" style="width: 100%">
|
<mat-form-field appearance="outline" style="width: 100%">
|
||||||
<mat-label>Remarks</mat-label>
|
<mat-label>Remarks</mat-label>
|
||||||
<textarea matInput placeholder="Remarks" formControlName="banking_form_remark"></textarea>
|
<textarea matInput placeholder="Remarks" formControlName="banking_form_remark" required></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -29,9 +29,11 @@ import {ActivatedRoute, Router} from "@angular/router";
|
|||||||
})
|
})
|
||||||
export class BankingDetailsComponent implements OnInit {
|
export class BankingDetailsComponent implements OnInit {
|
||||||
@Input() pdid: number;
|
@Input() pdid: number;
|
||||||
|
@Input() pd_all_details:any;
|
||||||
public bankingForm: FormGroup;
|
public bankingForm: FormGroup;
|
||||||
step: number;
|
step: number;
|
||||||
private notifier: NotifierService;
|
private notifier: NotifierService;
|
||||||
|
public pd_cus_segment:string;
|
||||||
m_accountType= [];
|
m_accountType= [];
|
||||||
|
|
||||||
constructor(notifier: NotifierService, private fb: FormBuilder, private route: ActivatedRoute,
|
constructor(notifier: NotifierService, private fb: FormBuilder, private route: ActivatedRoute,
|
||||||
@ -45,6 +47,11 @@ export class BankingDetailsComponent implements OnInit {
|
|||||||
this.step = 0;
|
this.step = 0;
|
||||||
this.initBankingForm();
|
this.initBankingForm();
|
||||||
this.getM_AccountType();
|
this.getM_AccountType();
|
||||||
|
this.pd_cus_segment = this.pd_all_details.pdmaster_details.customer_segment_abbr.toUpperCase();
|
||||||
|
// console.log("(0,3): " + this.pd_cus_segment.substring(0,3));
|
||||||
|
// console.log(this.pd_all_details.pdmaster_details);
|
||||||
|
// console.log(this.pd_cus_segment);
|
||||||
|
this.pd_cus_segment = this.pd_cus_segment.substring(0,3);
|
||||||
let params: any = {};
|
let params: any = {};
|
||||||
params.pd_id = this.pdid;
|
params.pd_id = this.pdid;
|
||||||
params.pd_form_id = '7';
|
params.pd_form_id = '7';
|
||||||
@ -98,9 +105,14 @@ export class BankingDetailsComponent implements OnInit {
|
|||||||
account_type: ['', Validators.compose([Validators.required])],
|
account_type: ['', Validators.compose([Validators.required])],
|
||||||
salary: ['', Validators.compose([Validators.required])],
|
salary: ['', Validators.compose([Validators.required])],
|
||||||
limit: ['', Validators.compose([Validators.required])],
|
limit: ['', Validators.compose([Validators.required])],
|
||||||
is_main: ['', Validators.compose([Validators.required])],
|
//is_main: ['', Validators.compose([Validators.required])],
|
||||||
vintage: ['', Validators.compose([Validators.required])],
|
//is_main: [this.pd_cus_segment == 'SAL' ? '' : '', Validators.compose([Validators.required])],
|
||||||
|
//is_main:[''],
|
||||||
|
is_main: this.pd_cus_segment == 'SAL' ? [''] : ['', Validators.compose([Validators.required])],
|
||||||
|
vintage_year: ['', Validators.compose([Validators.required])],
|
||||||
|
vintage_month: ['', Validators.compose([Validators.required])],
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
addBankdetails(index, event) {
|
addBankdetails(index, event) {
|
||||||
@ -109,6 +121,10 @@ export class BankingDetailsComponent implements OnInit {
|
|||||||
let length = control.length;
|
let length = control.length;
|
||||||
this.step = length;
|
this.step = length;
|
||||||
control.push(this.createBankarray());
|
control.push(this.createBankarray());
|
||||||
|
// if(this.pd_cus_segment != 'SAL') {
|
||||||
|
// this.bankingForm.controls.is_main.setValidators([Validators.required]);
|
||||||
|
// this.bankingForm.controls.is_main.updateValueAndValidity();
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteBankdetails(index: number) {
|
deleteBankdetails(index: number) {
|
||||||
@ -150,4 +166,13 @@ export class BankingDetailsComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/** On Key Press Event For Numbers */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,25 +2,25 @@
|
|||||||
<p>Business Details</p>
|
<p>Business Details</p>
|
||||||
<form [formGroup]="businessForm" class="address">
|
<form [formGroup]="businessForm" class="address">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Name of Business / Profession" formControlName="profession_name">
|
<input matInput placeholder="Name of Business / Profession" formControlName="profession_name" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="How many years in business" formControlName="business_years">
|
<input matInput placeholder="How many years in business" formControlName="business_years" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Industry"
|
<mat-select placeholder="Industry"
|
||||||
formControlName="industry">
|
formControlName="industry" required>
|
||||||
<mat-option value="{{list.industry_classification_id}}" *ngFor="let list of industryData">{{list.name}}</mat-option>
|
<mat-option value="{{list.industry_classification_id}}" *ngFor="let list of industryData">{{list.name}}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Type of Activity"
|
<mat-select placeholder="Type of Activity"
|
||||||
formControlName="type_of_activity">
|
formControlName="type_of_activity" requried>
|
||||||
<mat-option value="{{type.type_of_activity_id}}" *ngFor="let type of activityData">{{type.name}}</mat-option>
|
<mat-option value="{{type.type_of_activity_id}}" *ngFor="let type of activityData">{{type.name}}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Seasonality" formControlName="seasonality">
|
<input matInput placeholder="Seasonality" formControlName="seasonality" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-card>
|
<mat-card>
|
||||||
<mat-card-header>
|
<mat-card-header>
|
||||||
@ -32,10 +32,10 @@
|
|||||||
[formGroupName]="i">
|
[formGroupName]="i">
|
||||||
<mat-card-content class="card">
|
<mat-card-content class="card">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Name" formControlName="sec_name">
|
<input matInput placeholder="Name" formControlName="sec_name" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Designation" formControlName="sec_designation">
|
<input matInput placeholder="Designation" formControlName="sec_designation" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button (click)="addDesignation()"
|
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button (click)="addDesignation()"
|
||||||
matTooltip="Add More Designation" matTooltipPosition="above" color="primary" *ngIf="i==0">
|
matTooltip="Add More Designation" matTooltipPosition="above" color="primary" *ngIf="i==0">
|
||||||
@ -51,14 +51,14 @@
|
|||||||
</mat-card>
|
</mat-card>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Who started the business / professions"
|
<mat-select placeholder="Who started the business / professions"
|
||||||
formControlName="who_started">
|
formControlName="who_started" required>
|
||||||
<mat-option value="applicant">Started by Applicant</mat-option>
|
<mat-option value="applicant">Started by Applicant</mat-option>
|
||||||
<mat-option value="family_business">Family Business</mat-option>
|
<mat-option value="family_business">Family Business</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Main person running the businesss"
|
<mat-select placeholder="Main person running the businesss"
|
||||||
formControlName="main_person">
|
formControlName="main_person" required>
|
||||||
<mat-option value="applicants">One of the applicants</mat-option>
|
<mat-option value="applicants">One of the applicants</mat-option>
|
||||||
<mat-option value="Relative">Relative of an applicant</mat-option>
|
<mat-option value="Relative">Relative of an applicant</mat-option>
|
||||||
<mat-option value="Others">Others</mat-option>
|
<mat-option value="Others">Others</mat-option>
|
||||||
@ -70,17 +70,17 @@
|
|||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select multiple placeholder="Other family members invovled"
|
<mat-select multiple placeholder="Other family members invovled"
|
||||||
formControlName="family_members_involved" (selectionChange)="relationChanged($event)">
|
formControlName="family_members_involved" (selectionChange)="relationChanged($event)" required>
|
||||||
<mat-option value="{{member.relationship_id}}" *ngFor="let member of relationData">{{member.name}}</mat-option>
|
<mat-option value="{{member.relationship_id}}" *ngFor="let member of relationData">{{member.name}}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Any other business before"
|
<input matInput placeholder="Any other business before"
|
||||||
formControlName="before_business">
|
formControlName="before_business" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Any delays"
|
<input matInput placeholder="Any delays"
|
||||||
formControlName="any_delays">
|
formControlName="any_delays" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-card>
|
<mat-card>
|
||||||
<mat-card-header>
|
<mat-card-header>
|
||||||
@ -93,19 +93,19 @@
|
|||||||
<mat-card-content class="card">
|
<mat-card-content class="card">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Name"
|
<input matInput placeholder="Name"
|
||||||
formControlName="partner_name">
|
formControlName="partner_name" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Share of Profit / Shareholding"
|
<input matInput placeholder="Share of Profit / Shareholding"
|
||||||
formControlName="shareholding">
|
formControlName="shareholding" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="No. of yrs in this business"
|
<input matInput placeholder="No. of yrs in this business"
|
||||||
formControlName="current_business_experiance">
|
formControlName="current_business_experiance" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Total Business Experience"
|
<input matInput placeholder="Total Business Experience"
|
||||||
formControlName="total_business_experiance">
|
formControlName="total_business_experiance" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button (click)="addPartnerDetails()"
|
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button (click)="addPartnerDetails()"
|
||||||
matTooltip="Add More Partners / Directors / Shareholders" matTooltipPosition="above" color="primary" *ngIf="i==0">
|
matTooltip="Add More Partners / Directors / Shareholders" matTooltipPosition="above" color="primary" *ngIf="i==0">
|
||||||
@ -127,15 +127,15 @@
|
|||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Total"
|
<input matInput placeholder="Total"
|
||||||
formControlName="employees_total">
|
formControlName="employees_total" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Permanent"
|
<input matInput placeholder="Permanent"
|
||||||
formControlName="employees_permanent">
|
formControlName="employees_permanent" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Temporary"
|
<input matInput placeholder="Temporary"
|
||||||
formControlName="employees_temporary">
|
formControlName="employees_temporary" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
@ -147,15 +147,15 @@
|
|||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Total"
|
<input matInput placeholder="Total"
|
||||||
formControlName="officer_total">
|
formControlName="officer_total" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Permanent"
|
<input matInput placeholder="Permanent"
|
||||||
formControlName="officer_permanent">
|
formControlName="officer_permanent" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Temporary"
|
<input matInput placeholder="Temporary"
|
||||||
formControlName="officer_temporary">
|
formControlName="officer_temporary" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
@ -167,11 +167,11 @@
|
|||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Amount Invested by Applicant"
|
<input matInput placeholder="Amount Invested by Applicant"
|
||||||
formControlName="invested_amount">
|
formControlName="invested_amount" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Monthly Working Capital Needed"
|
<input matInput placeholder="Monthly Working Capital Needed"
|
||||||
formControlName="working_capital">
|
formControlName="working_capital" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
@ -184,7 +184,7 @@
|
|||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select
|
<mat-select
|
||||||
placeholder="Is the location of the business / profession suited to the nature of business / service provided? "
|
placeholder="Is the location of the business / profession suited to the nature of business / service provided? "
|
||||||
formControlName="is_service_provided">
|
formControlName="is_service_provided" required>
|
||||||
<mat-option value="well_suited.">Well Suited.</mat-option>
|
<mat-option value="well_suited.">Well Suited.</mat-option>
|
||||||
<mat-option value="fairly_suited">Fairly Suited</mat-option>
|
<mat-option value="fairly_suited">Fairly Suited</mat-option>
|
||||||
<mat-option value="not_suited">Not Suited</mat-option>
|
<mat-option value="not_suited">Not Suited</mat-option>
|
||||||
@ -200,7 +200,7 @@
|
|||||||
<mat-card-content class="matcards">
|
<mat-card-content class="matcards">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="What is the ownership of the setup ?"
|
<mat-select placeholder="What is the ownership of the setup ?"
|
||||||
formControlName="ownership_setup">
|
formControlName="ownership_setup" required>
|
||||||
<mat-option value="self_owned">self owned</mat-option>
|
<mat-option value="self_owned">self owned</mat-option>
|
||||||
<mat-option value="rented">Rented</mat-option>
|
<mat-option value="rented">Rented</mat-option>
|
||||||
<mat-option value="family_owned">Family Owned</mat-option>
|
<mat-option value="family_owned">Family Owned</mat-option>
|
||||||
@ -213,7 +213,7 @@
|
|||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field *ngIf="businessForm.controls['ownership_setup'].value == 'rented'">
|
<mat-form-field *ngIf="businessForm.controls['ownership_setup'].value == 'rented'">
|
||||||
<input matInput placeholder="Provide Rent Paid?"
|
<input matInput placeholder="Provide Rent Paid?"
|
||||||
formControlName="rent_paid">
|
formControlName="rent_paid" (keypress)="keyPress($event)">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
@ -225,56 +225,56 @@
|
|||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Shop and Eat Act Cert"
|
<mat-select placeholder="Shop and Eat Act Cert"
|
||||||
formControlName="shop_eat_act_cert">
|
formControlName="shop_eat_act_cert" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="GST Regn Cert"
|
<mat-select placeholder="GST Regn Cert"
|
||||||
formControlName="gst_Regn_cert">
|
formControlName="gst_Regn_cert" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Export / Import cert"
|
<mat-select placeholder="Export / Import cert"
|
||||||
formControlName="export_import_cert">
|
formControlName="export_import_cert" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Factory Cert"
|
<mat-select placeholder="Factory Cert"
|
||||||
formControlName="factory_cert">
|
formControlName="factory_cert" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Cert of Practice"
|
<mat-select placeholder="Cert of Practice"
|
||||||
formControlName="practice_cert">
|
formControlName="practice_cert" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="PF Regn"
|
<mat-select placeholder="PF Regn"
|
||||||
formControlName="pf_regn">
|
formControlName="pf_regn" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="ESIC Regn"
|
<mat-select placeholder="ESIC Regn"
|
||||||
formControlName="esic_regn">
|
formControlName="esic_regn" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Do you want to add other documents?"
|
<mat-select placeholder="Do you want to add other documents?"
|
||||||
formControlName="other_documents">
|
formControlName="other_documents" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
@ -302,7 +302,7 @@
|
|||||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||||
<mat-form-field appearance="outline" style="width: 100%">
|
<mat-form-field appearance="outline" style="width: 100%">
|
||||||
<mat-label>Remarks</mat-label>
|
<mat-label>Remarks</mat-label>
|
||||||
<textarea matInput placeholder="Remarks" formControlName="business_remarks"></textarea>
|
<textarea matInput placeholder="Remarks" formControlName="business_remarks" required></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -293,4 +293,15 @@ export class BusinessInfoComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** On Key Press Event For Mobile Number */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,34 +9,36 @@
|
|||||||
<div fxLayout="row wrap" fxLayoutGap="12px" fxLayoutAlign="start none">
|
<div fxLayout="row wrap" fxLayoutGap="12px" fxLayoutAlign="start none">
|
||||||
<div>
|
<div>
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Client Name" formControlName="client_name">
|
<input matInput placeholder="Client Name" formControlName="client_name" required>
|
||||||
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Contact Person Name" formControlName="contact_person">
|
<input matInput placeholder="Contact Person Name" formControlName="contact_person" required>
|
||||||
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Contact Mobile Number" formControlName="mobile_number">
|
<input matInput placeholder="Contact Mobile Number" formControlName="mobile_number" (keypress)="keyPress($event)" minlength=10 maxlength=10 required>
|
||||||
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
<!-- <mat-error *ngIf="sup.controls['mobile_number'].hasError('requried') && sup.controls['mobile_number'].touched" class="mat-text-warn">Mobile Number Requried</mat-error> -->
|
||||||
|
<mat-error *ngIf="sup.controls['mobile_number'].hasError('minlength') && sup.controls['mobile_number'].touched" class="mat-text-warn">Valid Mobile Number Requried</mat-error>
|
||||||
|
<mat-error *ngIf="sup.controls['mobile_number'].hasError('maxlength') && sup.controls['mobile_number'].touched" class="mat-text-warn">Valid Mobile Number Requried</mat-error>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div fxLayout="row wrap" fxLayoutGap="12px" fxLayoutAlign="start none">
|
<div fxLayout="row wrap" fxLayoutGap="12px" fxLayoutAlign="start none">
|
||||||
<div>
|
<div>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select (selectionChange)="selectedPM($event)" placeholder="Payment Mode" formControlName="payment_mode">
|
<mat-select (selectionChange)="selectedPM($event)" placeholder="Payment Mode" formControlName="payment_mode" required>
|
||||||
<mat-option *ngFor="let pm of m_paymentModeType" [value]="pm.id">{{ pm.name }}</mat-option>
|
<mat-option *ngFor="let pm of m_paymentModeType" [value]="pm.id">{{ pm.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="sup.get('payment_mode').value == 1 || sup.get('payment_mode').value == 3">
|
<div *ngIf="sup.get('payment_mode').value == 1 || sup.get('payment_mode').value == 3">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="% of immediate / Advance Payment Purchase to Total Purchase?" formControlName="per_of_immediate_advance_payment">
|
<input matInput placeholder="% of immediate / Advance Payment Purchase to Total Purchase?" formControlName="per_of_immediate_advance_payment" type="number" min="0">
|
||||||
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
@ -50,7 +52,7 @@
|
|||||||
<div fxLayout="row" fxLayoutGap="12px" fxLayoutAlign="start none">
|
<div fxLayout="row" fxLayoutGap="12px" fxLayoutAlign="start none">
|
||||||
<div>
|
<div>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select (selectionChange)="selectedFreqPurchase($event)" placeholder="Frequency of Purchase" formControlName="frequency_of_purchase">
|
<mat-select (selectionChange)="selectedFreqPurchase($event)" placeholder="Frequency of Purchase" formControlName="frequency_of_purchase" required>
|
||||||
<mat-option *ngFor="let feq of m_freqOfPurchase" [value]="feq.frequency_id">{{ feq.name }}</mat-option>
|
<mat-option *ngFor="let feq of m_freqOfPurchase" [value]="feq.frequency_id">{{ feq.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|||||||
@ -177,7 +177,7 @@ apiLoadFinish: boolean = false;
|
|||||||
return this._formBuilder.group({
|
return this._formBuilder.group({
|
||||||
client_name: ['', Validators.compose([Validators.required])],
|
client_name: ['', Validators.compose([Validators.required])],
|
||||||
contact_person: ['', Validators.compose([Validators.required])],
|
contact_person: ['', Validators.compose([Validators.required])],
|
||||||
mobile_number: ['', Validators.compose([Validators.required])],
|
mobile_number: ['', Validators.compose([Validators.required, Validators.minLength(10), Validators.maxLength(10)])],
|
||||||
payment_mode: ['', Validators.compose([Validators.required])],
|
payment_mode: ['', Validators.compose([Validators.required])],
|
||||||
per_of_immediate_advance_payment:[''],
|
per_of_immediate_advance_payment:[''],
|
||||||
credit_period:[''],
|
credit_period:[''],
|
||||||
@ -190,7 +190,7 @@ apiLoadFinish: boolean = false;
|
|||||||
return this._formBuilder.group({
|
return this._formBuilder.group({
|
||||||
client_name: [data.client_name, Validators.compose([Validators.required])],
|
client_name: [data.client_name, Validators.compose([Validators.required])],
|
||||||
contact_person: [data.contact_person, Validators.compose([Validators.required])],
|
contact_person: [data.contact_person, Validators.compose([Validators.required])],
|
||||||
mobile_number: [data.mobile_number, Validators.compose([Validators.required])],
|
mobile_number: [data.mobile_number, Validators.compose([Validators.required, Validators.minLength(10), Validators.maxLength(10)])],
|
||||||
payment_mode: [data.payment_mode, Validators.compose([Validators.required])],
|
payment_mode: [data.payment_mode, Validators.compose([Validators.required])],
|
||||||
per_of_immediate_advance_payment:[data.per_of_immediate_advance_payment || ''],
|
per_of_immediate_advance_payment:[data.per_of_immediate_advance_payment || ''],
|
||||||
credit_period:[data.credit_period || ''],
|
credit_period:[data.credit_period || ''],
|
||||||
@ -280,6 +280,15 @@ var result = Object.keys(supp_data).map(function(key) {
|
|||||||
onReset() {
|
onReset() {
|
||||||
// this._addQuesFrom.reset();
|
// this._addQuesFrom.reset();
|
||||||
}
|
}
|
||||||
|
/** On Key Press Event For Mobile Number */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// {
|
// {
|
||||||
// 'main_raw_materials': 'sdkjfal',
|
// 'main_raw_materials': 'sdkjfal',
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<form [formGroup]="currentLoanForm" class="address">
|
<form [formGroup]="currentLoanForm" class="address">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select (selectionChange)="selectedLoanChanges($event)" placeholder="Do you have any other existing loan"
|
<mat-select (selectionChange)="selectedLoanChanges($event)" placeholder="Do you have any other existing loan"
|
||||||
formControlName="existing_loan">
|
formControlName="existing_loan" required>
|
||||||
<mat-option value="Yes">Yes</mat-option>
|
<mat-option value="Yes">Yes</mat-option>
|
||||||
<mat-option value="No">No</mat-option>
|
<mat-option value="No">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
@ -18,22 +18,22 @@
|
|||||||
[formGroupName]="i">
|
[formGroupName]="i">
|
||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Loan Amount" formControlName="loan_amount">
|
<input matInput placeholder="Loan Amount" formControlName="loan_amount" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="EMI" formControlName="emi">
|
<input matInput placeholder="EMI" formControlName="emi" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Loan Type" formControlName="loan_type">
|
<input matInput placeholder="Loan Type" formControlName="loan_type" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Lender" formControlName="lender">
|
<input matInput placeholder="Lender" formControlName="lender" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Original Tenure in Months" formControlName="original_tenure">
|
<input matInput placeholder="Original Tenure in Months" formControlName="original_tenure" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Current Balance Tenure in Months" formControlName="current_balance_tenure">
|
<input matInput placeholder="Current Balance Tenure in Months" formControlName="current_balance_tenure" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Add More Loan Details" matTooltipPosition="above" color="primary" (click)="addLoanDetails()"
|
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Add More Loan Details" matTooltipPosition="above" color="primary" (click)="addLoanDetails()"
|
||||||
*ngIf="i==0">
|
*ngIf="i==0">
|
||||||
@ -51,7 +51,7 @@
|
|||||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||||
<mat-form-field appearance="outline" style="width: 100%">
|
<mat-form-field appearance="outline" style="width: 100%">
|
||||||
<mat-label>Remarks</mat-label>
|
<mat-label>Remarks</mat-label>
|
||||||
<textarea matInput placeholder="Remarks" formControlName="currentloan_remarks"></textarea>
|
<textarea matInput placeholder="Remarks" formControlName="currentloan_remarks" required></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -138,4 +138,13 @@ export class CurrentLoanComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/** On Key Press Event For Amount */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,55 +2,55 @@
|
|||||||
<p>Employement Information</p>
|
<p>Employement Information</p>
|
||||||
<form [formGroup]="employmentForm" class="address">
|
<form [formGroup]="employmentForm" class="address">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Name of Employer" formControlName="employer_name">
|
<input matInput placeholder="Name of Employer" formControlName="employer_name" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<div>
|
<div>
|
||||||
<label>Since how long working with this employer?</label>
|
<label>Since how long working with this employer?</label>
|
||||||
<br>
|
<br>
|
||||||
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
|
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput type="number" placeholder="Year" formControlName="how_long_year">
|
<input matInput type="number" placeholder="Year" formControlName="how_long_year" required min='0'>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput type="number" placeholder="Month" formControlName="how_long_month">
|
<input matInput type="number" placeholder="Month" formControlName="how_long_month" required min='0' max='12'>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<mat-form-field *ngIf="pd_cus_segment!='SAL-CHQ'">
|
<mat-form-field *ngIf="pd_cus_segment!='SAL-CHQ'">
|
||||||
<mat-select placeholder="Was the employer met?"
|
<mat-select placeholder="Was the employer met?"
|
||||||
formControlName="was_met">
|
formControlName="was_met" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none" *ngIf="employmentForm.controls['was_met'].value == 'yes'">
|
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none" *ngIf="employmentForm.controls['was_met'].value == 'yes'">
|
||||||
<mat-form-field>
|
<mat-form-field fxFlex="50">
|
||||||
<input matInput placeholder="Name of person met" formControlName="name_person_met">
|
<input matInput placeholder="Name of Person Met" formControlName="name_person_met" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field fxFlex="50">
|
||||||
<input matInput placeholder="Designation of person met" formControlName="designation_person_met">
|
<input matInput placeholder="Designation of Person Met" formControlName="designation_person_met" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<mat-form-field *ngIf="pd_cus_segment!='SAL-CHQ'">
|
<mat-form-field *ngIf="pd_cus_segment!='SAL-CHQ'">
|
||||||
<mat-select placeholder="Salary amount confirmed ?"
|
<mat-select placeholder="Salary amount confirmed ?"
|
||||||
formControlName="confirm_salary">
|
formControlName="confirm_salary" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field *ngIf="employmentForm.controls['confirm_salary'].value == 'yes'">
|
<mat-form-field *ngIf="employmentForm.controls['confirm_salary'].value == 'yes'">
|
||||||
<input matInput placeholder="What is the salary amount confirmed?" formControlName="confirm_salary_amount">
|
<input matInput placeholder="What is the salary amount confirmed?" formControlName="confirm_salary_amount" (keypress)="keyPress($event)">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field *ngIf="pd_cus_segment!='SAL-CHQ'">
|
<mat-form-field *ngIf="pd_cus_segment!='SAL-CHQ'">
|
||||||
<mat-select placeholder="Attendance register seen ?"
|
<mat-select placeholder="Attendance register seen ?"
|
||||||
formControlName="attendance_seen">
|
formControlName="attendance_seen" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field *ngIf="pd_cus_segment!='SAL-CHQ'">
|
<mat-form-field *ngIf="pd_cus_segment!='SAL-CHQ'">
|
||||||
<mat-select placeholder="Salary register seen ?"
|
<mat-select placeholder="Salary register seen ?"
|
||||||
formControlName="sal_reg_seen">
|
formControlName="sal_reg_seen" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
@ -60,23 +60,49 @@
|
|||||||
<p>Salary Details<p>
|
<p>Salary Details<p>
|
||||||
</mat-card-header>
|
</mat-card-header>
|
||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Date of Salary" formControlName="which_date_the_salary_is_rcv" type="number" min='1' max='31'>
|
||||||
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Gross Monthly Salary" formControlName="gross_monthly_salary">
|
<input matInput placeholder="Gross Monthly Salary" formControlName="gross_monthly_salary" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Net Monthly Salary"
|
<input matInput placeholder="Net Monthly Salary"
|
||||||
formControlName="net_monthly_salary">
|
formControlName="net_monthly_salary" (keypress)="keyPress($event)" required>
|
||||||
<!-- <input matInput placeholder="Net Take Home"
|
<!-- <input matInput placeholder="Net Take Home"
|
||||||
formControlName="net_take_home"> -->
|
formControlName="net_take_home"> -->
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Bonus or Incentive"
|
<input matInput placeholder="Bonus or Incentive"
|
||||||
formControlName="bonus_incentive">
|
formControlName="bonus_incentive" (keypress)="keyPress($event)" required>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field *ngIf="employmentForm.controls['bonus_incentive'].value != '' && employmentForm.controls['bonus_incentive'].value != '0' ">
|
||||||
|
<mat-select placeholder="Bonus Frequency" formControlName="bonus_frequency">
|
||||||
|
<mat-option *ngFor="let fd of frequency_data" [value]="fd.frequency_id">{{ fd.name }}</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field *ngIf="employmentForm.controls['bonus_incentive'].value != '' && employmentForm.controls['bonus_incentive'].value != '0' ">
|
||||||
|
<mat-select placeholder="Type of Bonus"
|
||||||
|
formControlName="bonus_type">
|
||||||
|
<mat-option value="fixed">Fixed</mat-option>
|
||||||
|
<mat-option value="variable depending on performance">Variable depending on performance</mat-option>
|
||||||
|
<mat-option value="others">Others</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field *ngIf="employmentForm.controls['bonus_type'].value == 'others'">
|
||||||
|
<input matInput placeholder="Bonus Type Others" formControlName="bonus_type_other">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Any Delays"
|
<mat-select placeholder="Any Delays"
|
||||||
formControlName="any_delays">
|
formControlName="any_delays">
|
||||||
|
<mat-option value="yes">Yes</mat-option>
|
||||||
|
<mat-option value="no">No</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
<!-- <input matInput placeholder="Any Delays"
|
||||||
|
formControlName="any_delays"> -->
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
@ -84,7 +110,7 @@
|
|||||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||||
<mat-form-field appearance="outline" style="width: 100%">
|
<mat-form-field appearance="outline" style="width: 100%">
|
||||||
<mat-label>Remarks</mat-label>
|
<mat-label>Remarks</mat-label>
|
||||||
<textarea matInput placeholder="Remarks" formControlName="employment_remarks"></textarea>
|
<textarea matInput placeholder="Remarks" formControlName="employment_remarks" required></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -36,10 +36,13 @@ export class EmploymentInfoComponent implements OnInit {
|
|||||||
public employmentForm: FormGroup;
|
public employmentForm: FormGroup;
|
||||||
private notifier: NotifierService;
|
private notifier: NotifierService;
|
||||||
public pd_cus_segment:string;
|
public pd_cus_segment:string;
|
||||||
|
public frequency_data:any[];
|
||||||
|
|
||||||
constructor(notifier: NotifierService, private fb: FormBuilder, private route: ActivatedRoute,
|
constructor(notifier: NotifierService, private fb: FormBuilder, private route: ActivatedRoute,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private _pd: PdTrigerService) {
|
private _pd: PdTrigerService) {
|
||||||
this.notifier = notifier;
|
this.notifier = notifier;
|
||||||
|
//getAllMasterDatas();
|
||||||
|
|
||||||
}
|
}
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
@ -66,13 +69,25 @@ export class EmploymentInfoComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
this.employmentForm.controls['attendance_seen'].setValue(value.records.attendance_seen);
|
this.employmentForm.controls['attendance_seen'].setValue(value.records.attendance_seen);
|
||||||
this.employmentForm.controls['sal_reg_seen'].setValue(value.records.sal_reg_seen);
|
this.employmentForm.controls['sal_reg_seen'].setValue(value.records.sal_reg_seen);
|
||||||
|
this.employmentForm.controls['which_date_the_salary_is_rcv'].setValue(value.records.which_date_the_salary_is_rcv);
|
||||||
this.employmentForm.controls['gross_monthly_salary'].setValue(value.records.gross_monthly_salary);
|
this.employmentForm.controls['gross_monthly_salary'].setValue(value.records.gross_monthly_salary);
|
||||||
this.employmentForm.controls['net_monthly_salary'].setValue(value.records.net_monthly_salary);
|
this.employmentForm.controls['net_monthly_salary'].setValue(value.records.net_monthly_salary);
|
||||||
this.employmentForm.controls['bonus_incentive'].setValue(value.records.bonus_incentive);
|
this.employmentForm.controls['bonus_incentive'].setValue(value.records.bonus_incentive);
|
||||||
|
this.employmentForm.controls['bonus_frequency'].setValue(value.records.bonus_frequency);
|
||||||
|
this.employmentForm.controls['bonus_type'].setValue(value.records.bonus_type);
|
||||||
|
this.employmentForm.controls['bonus_type_other'].setValue(value.records.bonus_type_other);
|
||||||
this.employmentForm.controls['any_delays'].setValue(value.records.any_delays);
|
this.employmentForm.controls['any_delays'].setValue(value.records.any_delays);
|
||||||
this.employmentForm.controls['employment_remarks'].setValue(value.records.employment_remarks);
|
this.employmentForm.controls['employment_remarks'].setValue(value.records.employment_remarks);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
/** For Bonus Frequency Dropdown */
|
||||||
|
this._pd.getAllMasterDatas('FREQUENCY').subscribe(
|
||||||
|
data => {
|
||||||
|
if (data.status == 200) {
|
||||||
|
this.frequency_data = data.records;
|
||||||
|
this.frequency_data = this.frequency_data.filter(freq=>freq.isactive == 1 );
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
public initemploymentForm(): void {
|
public initemploymentForm(): void {
|
||||||
this.employmentForm = this.fb.group({
|
this.employmentForm = this.fb.group({
|
||||||
@ -86,9 +101,13 @@ export class EmploymentInfoComponent implements OnInit {
|
|||||||
confirm_salary_amount: [''],
|
confirm_salary_amount: [''],
|
||||||
attendance_seen: [this.pd_cus_segment=='SAL-CHQ' ? 'No' : '', Validators.compose([Validators.required])],
|
attendance_seen: [this.pd_cus_segment=='SAL-CHQ' ? 'No' : '', Validators.compose([Validators.required])],
|
||||||
sal_reg_seen: [this.pd_cus_segment=='SAL-CHQ' ? 'No' : '', Validators.compose([Validators.required])],
|
sal_reg_seen: [this.pd_cus_segment=='SAL-CHQ' ? 'No' : '', Validators.compose([Validators.required])],
|
||||||
|
which_date_the_salary_is_rcv:[''],
|
||||||
gross_monthly_salary: ['', Validators.compose([Validators.required])],
|
gross_monthly_salary: ['', Validators.compose([Validators.required])],
|
||||||
net_monthly_salary: ['', Validators.compose([Validators.required])],
|
net_monthly_salary: ['', Validators.compose([Validators.required])],
|
||||||
bonus_incentive: ['', Validators.compose([Validators.required])],
|
bonus_incentive: ['', Validators.compose([Validators.required])],
|
||||||
|
bonus_frequency: [''],
|
||||||
|
bonus_type: [''],
|
||||||
|
bonus_type_other: [''],
|
||||||
any_delays: ['', Validators.compose([Validators.required])],
|
any_delays: ['', Validators.compose([Validators.required])],
|
||||||
employment_remarks: ['', Validators.compose([Validators.required])],
|
employment_remarks: ['', Validators.compose([Validators.required])],
|
||||||
});
|
});
|
||||||
@ -115,9 +134,13 @@ export class EmploymentInfoComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
records.attendance_seen = this.employmentForm.controls['attendance_seen'].value;
|
records.attendance_seen = this.employmentForm.controls['attendance_seen'].value;
|
||||||
records.sal_reg_seen = this.employmentForm.controls['sal_reg_seen'].value;
|
records.sal_reg_seen = this.employmentForm.controls['sal_reg_seen'].value;
|
||||||
|
records.which_date_the_salary_is_rcv = this.employmentForm.controls['which_date_the_salary_is_rcv'].value;
|
||||||
records.gross_monthly_salary = this.employmentForm.controls['gross_monthly_salary'].value;
|
records.gross_monthly_salary = this.employmentForm.controls['gross_monthly_salary'].value;
|
||||||
records.net_monthly_salary = this.employmentForm.controls['net_monthly_salary'].value;
|
records.net_monthly_salary = this.employmentForm.controls['net_monthly_salary'].value;
|
||||||
records.bonus_incentive = this.employmentForm.controls['bonus_incentive'].value;
|
records.bonus_incentive = this.employmentForm.controls['bonus_incentive'].value;
|
||||||
|
records.bonus_frequency = this.employmentForm.controls['bonus_frequency'].value;
|
||||||
|
records.bonus_type = this.employmentForm.controls['bonus_type'].value;
|
||||||
|
records.bonus_type_other = this.employmentForm.controls['bonus_type_other'].value;
|
||||||
records.any_delays = this.employmentForm.controls['any_delays'].value;
|
records.any_delays = this.employmentForm.controls['any_delays'].value;
|
||||||
records.employment_remarks = this.employmentForm.controls['employment_remarks'].value;
|
records.employment_remarks = this.employmentForm.controls['employment_remarks'].value;
|
||||||
console.log('data', records);
|
console.log('data', records);
|
||||||
@ -128,5 +151,14 @@ export class EmploymentInfoComponent implements OnInit {
|
|||||||
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
|
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
/** On Key Press Event For Numbers */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<p>Family Details</p>
|
<p>Family Details</p>
|
||||||
<form class="address" [formGroup]="familyForm">
|
<form class="address" [formGroup]="familyForm">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Person Met" formControlName="person">
|
<mat-select placeholder="Person Met" formControlName="person" required>
|
||||||
<mat-option *ngFor="let personMet of personMetData" [value]="personMet.person_met_id">
|
<mat-option *ngFor="let personMet of personMetData" [value]="personMet.person_met_id">
|
||||||
{{personMet.person_met_name}}
|
{{personMet.person_met_name}}
|
||||||
</mat-option>
|
</mat-option>
|
||||||
@ -14,7 +14,7 @@
|
|||||||
<input matInput placeholder="Enter the relationship" formControlName="personOther">
|
<input matInput placeholder="Enter the relationship" formControlName="personOther">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="No. Of Family Members" formControlName="members">
|
<input matInput placeholder="No. Of Family Members" formControlName="members" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-card>
|
<mat-card>
|
||||||
<mat-card-header>
|
<mat-card-header>
|
||||||
@ -111,13 +111,13 @@
|
|||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Residence Address"
|
<input matInput placeholder="Residence Address"
|
||||||
formControlName="residence">
|
formControlName="residence" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="No.of yrs" formControlName="years">
|
<input matInput placeholder="No.of yrs" formControlName="years" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Ownership" formControlName="ownership">
|
<mat-select placeholder="Ownership" formControlName="ownership" required>
|
||||||
<mat-option value="{{ownerShip.id}}"
|
<mat-option value="{{ownerShip.id}}"
|
||||||
*ngFor="let ownerShip of ownerShipData">
|
*ngFor="let ownerShip of ownerShipData">
|
||||||
{{ownerShip.name}}
|
{{ownerShip.name}}
|
||||||
|
|||||||
@ -10,22 +10,22 @@
|
|||||||
[formGroupName]="i">
|
[formGroupName]="i">
|
||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Year (format: 2015-16)" formControlName="financial_year">
|
<input matInput placeholder="Year (format: 2015-16)" formControlName="financial_year" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Annual Sale" formControlName="financial_annual_sale" (change)="calMargin(i, details)" type="number">
|
<input matInput placeholder="Annual Sale" formControlName="financial_annual_sale" (change)="calMargin(i, details)" type="number" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Net Profit / Loss" formControlName="financial_net_profit" (change)="calMargin( i, details); calYearVariation( i, details)" type="number">
|
<input matInput placeholder="Net Profit / Loss" formControlName="financial_net_profit" (change)="calMargin( i, details); calYearVariation( i, details)" type="number" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Margin" formControlName="financial_margin">
|
<input matInput placeholder="Margin" formControlName="financial_margin" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field *ngIf="i != 0">
|
<mat-form-field *ngIf="i != 0">
|
||||||
<input matInput [ngClass]="{'highlight': (details.controls['financial_variation'].value > 40) || (details.controls['financial_variation'].value < -40)}" placeholder="Variation from Previous Year" formControlName="financial_variation">
|
<input matInput [ngClass]="{'highlight': (details.controls['financial_variation'].value > 40) || (details.controls['financial_variation'].value < -40)}" placeholder="Variation from Previous Year" formControlName="financial_variation" (keypress)="keyPress($event)">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Reason For Major Difference" formControlName="financial_reason">
|
<input matInput placeholder="Reason For Major Difference" formControlName="financial_reason" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<button type="button" mat-raised-button mat-icon-button (click)="addDate()"
|
<button type="button" mat-raised-button mat-icon-button (click)="addDate()"
|
||||||
@ -49,22 +49,22 @@
|
|||||||
[formGroupName]="i">
|
[formGroupName]="i">
|
||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Year (format: 2015-16)" formControlName="estimate_year">
|
<input matInput placeholder="Year (format: 2015-16)" formControlName="estimate_year" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Annual Sale" formControlName="estimate_annual_sale" (change)="calMarginVal( i, details)" type="number">
|
<input matInput placeholder="Annual Sale" formControlName="estimate_annual_sale" (change)="calMarginVal( i, details)" type="number" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Net Profit / Loss" formControlName="estimate_net_profit" (change)="calMarginVal( i, details); calVariation( i, details)" type="number">
|
<input matInput placeholder="Net Profit / Loss" formControlName="estimate_net_profit" (change)="calMarginVal( i, details); calVariation( i, details)" type="number" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput disabled placeholder="Margin" formControlName="estimate_margin">
|
<input matInput disabled placeholder="Margin" formControlName="estimate_margin" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field *ngIf="i != 0">
|
<mat-form-field *ngIf="i != 0">
|
||||||
<input matInput [ngClass]="{'highlight': details.controls['estimate_variation'].value >= 40 || details.controls['estimate_variation'].value >= -40}" placeholder="Variation from Previous Year" formControlName="estimate_variation">
|
<input matInput [ngClass]="{'highlight': details.controls['estimate_variation'].value >= 40 || details.controls['estimate_variation'].value >= -40}" placeholder="Variation from Previous Year" formControlName="estimate_variation" (keypress)="keyPress($event)">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Reason For Major Difference" formControlName="estimate_reason">
|
<input matInput placeholder="Reason For Major Difference" formControlName="estimate_reason" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<button type="button" mat-raised-button mat-icon-button (click)="addGoods()"
|
<button type="button" mat-raised-button mat-icon-button (click)="addGoods()"
|
||||||
matTooltip="Add More Estimated Value" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" *ngIf="i==0">
|
matTooltip="Add More Estimated Value" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" *ngIf="i==0">
|
||||||
@ -82,7 +82,7 @@
|
|||||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||||
<mat-form-field appearance="outline" style="width: 100%">
|
<mat-form-field appearance="outline" style="width: 100%">
|
||||||
<mat-label>Remarks</mat-label>
|
<mat-label>Remarks</mat-label>
|
||||||
<textarea matInput placeholder="Remarks" formControlName="financial_remarks"></textarea>
|
<textarea matInput placeholder="Remarks" formControlName="financial_remarks" required></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -191,4 +191,14 @@ export class FinancialInfoComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** On Key Press Event For Input Field */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9\-\.\ ]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,10 +2,10 @@
|
|||||||
<p>Loan Details</p>
|
<p>Loan Details</p>
|
||||||
<form [formGroup]="loanDetailsForm" class="address">
|
<form [formGroup]="loanDetailsForm" class="address">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Loan Amount Applied" formControlName="loan_amount">
|
<input matInput placeholder="Loan Amount Applied" formControlName="loan_amount" (keypress)="keyPress($event)" required >
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select multiple (selectionChange)="endUserChange($event)" placeholder="What is the end use" formControlName="end_use">
|
<mat-select multiple (selectionChange)="endUserChange($event)" placeholder="What is the end use" formControlName="end_use" required>
|
||||||
<mat-option *ngFor="let enduse of m_endUseofLoad" [value]="enduse.id">{{ enduse.name }}</mat-option>
|
<mat-option *ngFor="let enduse of m_endUseofLoad" [value]="enduse.id">{{ enduse.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
<!--<mat-select multiple placeholder="What is the end use"
|
<!--<mat-select multiple placeholder="What is the end use"
|
||||||
@ -24,35 +24,35 @@
|
|||||||
<input matInput placeholder="Specify End Use" formControlName="end_use_other">
|
<input matInput placeholder="Specify End Use" formControlName="end_use_other">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Is there a balance transfer"
|
<mat-select placeholder="Is there a balance transfer" (selectionChange)="selectedBalancesTransferChanges($event)"
|
||||||
formControlName="is_transfer">
|
formControlName="is_transfer" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-form-field *ngIf="loanDetailsForm.controls['is_transfer'].value == 'yes'">
|
<mat-form-field *ngIf="loanDetailsForm.controls['is_transfer'].value == 'yes'">
|
||||||
<input matInput placeholder="Balance Transfer Amount" formControlName="balance_transfer_amount">
|
<input matInput placeholder="Balance Transfer Amount" (keypress)="keyPress($event)" formControlName="balance_transfer_amount">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field *ngIf="loanDetailsForm.controls['is_transfer'].value == 'yes'">
|
<mat-form-field *ngIf="loanDetailsForm.controls['is_transfer'].value == 'yes'">
|
||||||
<mat-select placeholder="Is there a Top Up"
|
<mat-select placeholder="Is there a Top Up"
|
||||||
formControlName="is_topup">
|
formControlName="is_topup" required>
|
||||||
<mat-option value="yes">Yes</mat-option>
|
<mat-option value="yes">Yes</mat-option>
|
||||||
<mat-option value="no">No</mat-option>
|
<mat-option value="no">No</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field *ngIf="loanDetailsForm.controls['is_transfer'].value == 'yes' && loanDetailsForm.controls['is_topup'].value == 'yes'">
|
<mat-form-field *ngIf="loanDetailsForm.controls['is_transfer'].value == 'yes' && loanDetailsForm.controls['is_topup'].value == 'yes'">
|
||||||
<input matInput placeholder="Top Up Amt" formControlName="topup_amount">
|
<input matInput placeholder="Top Up Amt" (keypress)="keyPress($event)" formControlName="topup_amount">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field *ngIf="loanDetailsForm.controls['is_transfer'].value == 'yes'">
|
<mat-form-field *ngIf="loanDetailsForm.controls['is_transfer'].value == 'yes'">
|
||||||
<input matInput placeholder="Lender from where balance transfer done" formControlName="lender">
|
<input matInput placeholder="Lender from where balance transfer done" formControlName="lender">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Amount of Own Contribution" formControlName="own_contribution">
|
<input matInput placeholder="Amount of Own Contribution" formControlName="own_contribution" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Source" formControlName="source">
|
<mat-select placeholder="Source" formControlName="source" required>
|
||||||
<mat-option *ngFor="let sour of m_sourceofamount" [value]="sour.id">{{ sour.name }}</mat-option>
|
<mat-option *ngFor="let sour of m_sourceofamount" [value]="sour.id">{{ sour.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
|
|
||||||
@ -67,7 +67,7 @@
|
|||||||
<input matInput placeholder="Specify Lender Name and Type" formControlName="lender_name_type">
|
<input matInput placeholder="Specify Lender Name and Type" formControlName="lender_name_type">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="EMI Comfort Level" formControlName="emi_level">
|
<input matInput placeholder="EMI Comfort Level" formControlName="emi_level" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-card>
|
<mat-card>
|
||||||
<mat-card-header>
|
<mat-card-header>
|
||||||
@ -76,7 +76,7 @@
|
|||||||
</mat-card-header>
|
</mat-card-header>
|
||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Type of Property" formControlName="property_type">
|
<mat-select placeholder="Type of Property" formControlName="property_type" required>
|
||||||
<mat-option *ngFor="let typeprop of m_mortageTypeProperty" [value]="typeprop.id">{{ typeprop.name }}</mat-option>
|
<mat-option *ngFor="let typeprop of m_mortageTypeProperty" [value]="typeprop.id">{{ typeprop.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
|
|
||||||
@ -102,13 +102,13 @@
|
|||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select multiple placeholder="Name of Owner"
|
<mat-select multiple placeholder="Name of Owner"
|
||||||
formControlName="owner_name" (selectionChange)="ownerNameChange($event)">
|
formControlName="owner_name" (selectionChange)="ownerNameChange($event)" required>
|
||||||
<mat-option value="{{owner.pd_co_applicant_id}}" *ngFor="let owner of applicants">{{owner.applicant_name}}</mat-option>
|
<mat-option value="{{owner.pd_co_applicant_id}}" *ngFor="let owner of applicants">{{owner.applicant_name}}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
|
|
||||||
<mat-select placeholder="Status of Construction" formControlName="construction_status">
|
<mat-select placeholder="Status of Construction" formControlName="construction_status" required>
|
||||||
<mat-option *ngFor="let status of m_statusofCunstruction" [value]="status.id">{{ status.name }}</mat-option>
|
<mat-option *ngFor="let status of m_statusofCunstruction" [value]="status.id">{{ status.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
|
|
||||||
@ -122,11 +122,11 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="EMV as Per Customer"
|
<input matInput placeholder="EMV as Per Customer"
|
||||||
formControlName="emv_per_customer">
|
formControlName="emv_per_customer" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Value as Per Agreement"
|
<input matInput placeholder="Value as Per Agreement"
|
||||||
formControlName="value_per_agreement">
|
formControlName="value_per_agreement" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
@ -134,7 +134,7 @@
|
|||||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||||
<mat-form-field appearance="outline" style="width: 100%">
|
<mat-form-field appearance="outline" style="width: 100%">
|
||||||
<mat-label>Remarks</mat-label>
|
<mat-label>Remarks</mat-label>
|
||||||
<textarea matInput placeholder="Remarks" formControlName="loandetails_remarks"></textarea>
|
<textarea matInput placeholder="Remarks" formControlName="loandetails_remarks" required></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -170,7 +170,8 @@ getM_sourceofamount() {
|
|||||||
end_use: ['', Validators.compose([Validators.required])],
|
end_use: ['', Validators.compose([Validators.required])],
|
||||||
end_use_other: [''],
|
end_use_other: [''],
|
||||||
is_transfer: ['', Validators.compose([Validators.required])],
|
is_transfer: ['', Validators.compose([Validators.required])],
|
||||||
is_topup: ['', Validators.compose([Validators.required])],
|
//is_topup: ['', Validators.compose([Validators.required])],
|
||||||
|
is_topup: [''],
|
||||||
balance_transfer_amount: [''],
|
balance_transfer_amount: [''],
|
||||||
topup_amount: [''],
|
topup_amount: [''],
|
||||||
lender: [''],
|
lender: [''],
|
||||||
@ -204,6 +205,7 @@ getM_sourceofamount() {
|
|||||||
submitLoanDetails() {
|
submitLoanDetails() {
|
||||||
console.log('formData', this.loanDetailsForm.value);
|
console.log('formData', this.loanDetailsForm.value);
|
||||||
if (!this.loanDetailsForm.valid) {
|
if (!this.loanDetailsForm.valid) {
|
||||||
|
//this.notifier.notify('warning', 'Form Invaild Check all requried Field .!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let records: any = {};
|
let records: any = {};
|
||||||
@ -269,4 +271,30 @@ getM_sourceofamount() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
selectedBalancesTransferChanges(event: any){
|
||||||
|
// console.log('First Time',event);
|
||||||
|
// console.log('First Time Value',event.value);
|
||||||
|
if(event.value == 'no') {
|
||||||
|
this.loanDetailsForm.controls['is_topup'].clearValidators();
|
||||||
|
this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();
|
||||||
|
// console.log('no',event.value);
|
||||||
|
}
|
||||||
|
else if(event.value == 'yes'){
|
||||||
|
this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]);
|
||||||
|
this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();
|
||||||
|
// console.log('yes',event.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/** On Key Press Event For Amount */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,7 +65,7 @@
|
|||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Source"
|
<mat-select placeholder="Source"
|
||||||
formControlName="source">
|
formControlName="source" required>
|
||||||
<mat-option value="rental_income">Rental Income</mat-option>
|
<mat-option value="rental_income">Rental Income</mat-option>
|
||||||
<mat-option value="interest_income">Interest Income</mat-option>
|
<mat-option value="interest_income">Interest Income</mat-option>
|
||||||
<mat-option value="agricultural_income">Agricultural Income</mat-option>
|
<mat-option value="agricultural_income">Agricultural Income</mat-option>
|
||||||
@ -73,10 +73,10 @@
|
|||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Amount" formControlName="amount">
|
<input matInput placeholder="Amount" formControlName="amount" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Frequency" formControlName="frequency">
|
<mat-select placeholder="Frequency" formControlName="frequency" required>
|
||||||
<mat-option value="{{frq.frequency_id}}" *ngFor="let frq of frequencyData">{{frq.name}}</mat-option>
|
<mat-option value="{{frq.frequency_id}}" *ngFor="let frq of frequencyData">{{frq.name}}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
@ -96,7 +96,7 @@
|
|||||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||||
<mat-form-field appearance="outline" style="width: 100%">
|
<mat-form-field appearance="outline" style="width: 100%">
|
||||||
<mat-label>Remarks</mat-label>
|
<mat-label>Remarks</mat-label>
|
||||||
<textarea matInput placeholder="Remarks" formControlName="otherincome_remarks"></textarea>
|
<textarea matInput placeholder="Remarks" formControlName="otherincome_remarks" required></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -148,4 +148,14 @@ export class OtherIncomeComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** On Key Press Event For Amount */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width: 100%">
|
<mat-form-field style="width: 100%">
|
||||||
|
|
||||||
<input matInput placeholder="Age" formControlName="age_ans" type="text" required>
|
<input matInput placeholder="Age" formControlName="age_ans" type="text" required (keypress)="keyPress($event)">
|
||||||
<mat-error *ngIf="mainDetails['controls'].age_ans.hasError('pattern') || mainDetails['controls'].age_ans.hasError('maxlength') || mainDetails['controls'].age_ans.hasError('minlength')">Enter Valid Age. </mat-error>
|
<mat-error *ngIf="mainDetails['controls'].age_ans.hasError('pattern') || mainDetails['controls'].age_ans.hasError('maxlength') || mainDetails['controls'].age_ans.hasError('minlength')">Enter Valid Age. </mat-error>
|
||||||
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|||||||
@ -292,5 +292,14 @@ validateAllFormFields(formGroup: any) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** On Key Press Event For Mobile Number */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,190 @@
|
|||||||
|
<mat-card style="min-height: 550px;">
|
||||||
|
<mat-card-content>
|
||||||
|
<p>Rental Information Form</p>
|
||||||
|
<form class="address" [formGroup]="rentalForm">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Person met / Shown the Property(if he is not applicant or co-applicant)" formControlName="person_met">
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field>
|
||||||
|
<mat-select placeholder="Property Owner" formControlName="property_own">
|
||||||
|
<mat-option value="applicant">Applicant</mat-option>
|
||||||
|
<mat-option value="co_applicant">co-applicant</mat-option>
|
||||||
|
<mat-option value="parental">Parental</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<mat-select placeholder="Nature of the let out property" formControlName="nature_property">
|
||||||
|
<mat-option value="residentail/commercial">Residential/commercial</mat-option>
|
||||||
|
<mat-option value="other">other</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
|
||||||
|
<div formArrayName="rental_home">
|
||||||
|
<mat-accordion
|
||||||
|
*ngFor="let item of rentalForm.controls.rental_home['controls']; let i=index"
|
||||||
|
[formGroupName]="i">
|
||||||
|
<mat-expansion-panel class="fields" [expanded]="step == i">
|
||||||
|
<mat-expansion-panel-header>
|
||||||
|
<mat-panel-title>
|
||||||
|
<h5>{{i+1}} Rental Home Details</h5>
|
||||||
|
</mat-panel-title>
|
||||||
|
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button *ngIf="i==0"
|
||||||
|
color="primary" style="float: right;" (click)="addProperty($event)">
|
||||||
|
<mat-icon>add</mat-icon>
|
||||||
|
</button>
|
||||||
|
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button *ngIf="i>0"
|
||||||
|
style="float: right;" (click)="deleteProperty(i)">
|
||||||
|
<mat-icon>delete</mat-icon>
|
||||||
|
</button>
|
||||||
|
</mat-expansion-panel-header>
|
||||||
|
|
||||||
|
<mat-form-field appearance="outline" style="width: 100%">
|
||||||
|
<mat-label>Complete address of the property</mat-label>
|
||||||
|
<textarea matInput placeholder="Address" formControlName="complete_add"></textarea>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Area of the Property(in sq yd or Sq ft)"
|
||||||
|
formControlName="area_of_property">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Structure of the let out property (eg. No of floors in total,G,FF,SF etc, let out floors from them)"
|
||||||
|
formControlName="structure_property">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input type="number" matInput placeholder="Total rooms let out (eg single room,2 BHK, let out rooms on each floor)"
|
||||||
|
formControlName="total_room">
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field>
|
||||||
|
<mat-select placeholder="Is Rent agreement available"
|
||||||
|
formControlName="is_rent">
|
||||||
|
<mat-option value="yes">Yes</mat-option>
|
||||||
|
<mat-option value="no">No</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<div *ngIf="item.controls['is_rent'].value == 'yes'">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput [matDatepicker]="picker" formControlName="date_agreement"
|
||||||
|
placeholder="Date of Agreement">
|
||||||
|
<mat-datepicker-toggle matSuffix
|
||||||
|
[for]="picker"></mat-datepicker-toggle>
|
||||||
|
<mat-datepicker #picker></mat-datepicker>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Validity"
|
||||||
|
formControlName="date_validity">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input type="number" matInput placeholder="Rent as per Agreement"
|
||||||
|
formControlName="rent_agreement">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input type="number" matInput placeholder="Actual Rent"
|
||||||
|
formControlName="actual_rent">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<mat-select placeholder="Photo of agreement taken ?"
|
||||||
|
formControlName="photo_areegment">
|
||||||
|
<mat-option value="yes">Yes</mat-option>
|
||||||
|
<mat-option value="no">No</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<mat-card>
|
||||||
|
<mat-card-header>
|
||||||
|
<p>How is rent received? (Is it in bank or cash, how much in which mode)</p>
|
||||||
|
</mat-card-header>
|
||||||
|
<mat-card-content>
|
||||||
|
<mat-form-field>
|
||||||
|
<input type="number" matInput placeholder="bank"
|
||||||
|
formControlName="bank">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input type="number" matInput placeholder="Cash"
|
||||||
|
formControlName="cash">
|
||||||
|
</mat-form-field>
|
||||||
|
</mat-card-content>
|
||||||
|
</mat-card>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Rent received from each floor and or Rooms (eg FF has 4 rooms, rent per room are Rs 2500, Rs 4000 and Rs 3200 respectively)"
|
||||||
|
formControlName="rent_each_floor">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Total rent received (Total montly rental from property/ies, with break up)"
|
||||||
|
formControlName="total_rent">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Property Paper or other related document to prove ownership (eg. Property registry etc)"
|
||||||
|
formControlName="related_doc_owner">
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
<mat-card-header>
|
||||||
|
<p>Details of the tenants (eg Name and Mobile No and other details)</p>
|
||||||
|
</mat-card-header>
|
||||||
|
<div formArrayName="details_tenants">
|
||||||
|
<div *ngFor="let deatil of item.controls.details_tenants['controls']; let idx=index" [formGroupName]="idx">
|
||||||
|
<mat-card-content>
|
||||||
|
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Name"
|
||||||
|
formControlName="name">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Mobile No"
|
||||||
|
formControlName="mobile_no">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Tenant Seen"
|
||||||
|
formControlName="tenants_seen">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Tenant confirmed owner"
|
||||||
|
formControlName="tenants_con_owner">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Rent Paid"
|
||||||
|
formControlName="rent_paid">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Staying since"
|
||||||
|
formControlName="staying_since">
|
||||||
|
</mat-form-field>
|
||||||
|
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button *ngIf="idx==0"
|
||||||
|
color="primary" style="float: right;" (click)="addTenant(i)">
|
||||||
|
<mat-icon>add</mat-icon>
|
||||||
|
</button>
|
||||||
|
<button type="button" (click)="deleteTenant(idx, i)" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button *ngIf="idx>0"
|
||||||
|
|
||||||
|
style="float: right;">
|
||||||
|
<mat-icon>delete</mat-icon>
|
||||||
|
</button>
|
||||||
|
</mat-card-content>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</mat-card>
|
||||||
|
<mat-form-field>
|
||||||
|
<mat-select placeholder="Photogaraphs of the property"
|
||||||
|
formControlName="property_photographs">
|
||||||
|
<mat-option value="yes">Yes</mat-option>
|
||||||
|
<mat-option value="no">No</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Third party check of prevailing rent in the neighbour hood (TPC with whom, how much rent quoted)"
|
||||||
|
formControlName="third_party_check">
|
||||||
|
</mat-form-field>
|
||||||
|
</mat-expansion-panel>
|
||||||
|
|
||||||
|
</mat-accordion>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: right;" class="pt-1">
|
||||||
|
<button class="mr-1 mb-1 hover-icon" type="submit" mat-raised-button mat-icon-button type="submit" matTooltip="Submit" matTooltipPosition="above" (click)="rentalSubmit()"><mat-icon>save</mat-icon>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</mat-card-content>
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
.address {
|
||||||
|
display: flex;
|
||||||
|
padding: 0 2%;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address > * {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.matcard mat-form-field {
|
||||||
|
margin: 0 2%;
|
||||||
|
width:40%;
|
||||||
|
}
|
||||||
|
.address .button {
|
||||||
|
float: right;
|
||||||
|
width: 10px;
|
||||||
|
background: #62B013;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
mat-form-field {
|
||||||
|
width: 27%;
|
||||||
|
margin: 0 2%;
|
||||||
|
}
|
||||||
|
.fields mat-form-field {
|
||||||
|
width: 45%;
|
||||||
|
margin: 0 2%;
|
||||||
|
}
|
||||||
@ -0,0 +1,167 @@
|
|||||||
|
import {Component, OnInit, Input, Output} from '@angular/core';
|
||||||
|
import {FormBuilder, FormGroup, Validators, FormControl, FormArray} from '@angular/forms';
|
||||||
|
import {NotifierService} from 'angular-notifier';
|
||||||
|
import {PdTrigerService} from './../../../../../pd-service/pd-triger.service';
|
||||||
|
import {Key} from 'protractor';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-rental-info',
|
||||||
|
templateUrl: './rental-info.component.html',
|
||||||
|
styleUrls: ['./rental-info.component.scss']
|
||||||
|
})
|
||||||
|
export class RentalInfoComponent implements OnInit {
|
||||||
|
|
||||||
|
// @Input() pdid: string;
|
||||||
|
// @Input() pd_all_details: any;
|
||||||
|
// form_id: number;
|
||||||
|
@Input() pdid: number;
|
||||||
|
@Input() form_id: number;
|
||||||
|
step: number;
|
||||||
|
|
||||||
|
public rentalForm: FormGroup;
|
||||||
|
tenantsList: FormArray;
|
||||||
|
propertyList: FormGroup;
|
||||||
|
private notifier: NotifierService;
|
||||||
|
|
||||||
|
constructor(notifier: NotifierService, private _fb: FormBuilder, private _pd: PdTrigerService) {
|
||||||
|
this.notifier = notifier;
|
||||||
|
// this.form_id = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
this.step = 0;
|
||||||
|
this.inintRentalForm();
|
||||||
|
this.createpropertyArray();
|
||||||
|
let params: any = {};
|
||||||
|
params.pd_id = this.pdid;
|
||||||
|
params.pd_form_id = this.form_id;
|
||||||
|
this._pd.retriveForm(params).subscribe(value => {
|
||||||
|
let subArray: any;
|
||||||
|
const control = <FormArray>this.rentalForm.controls['rental_home'];
|
||||||
|
if (value.status == 200) {
|
||||||
|
let rentalinfo = value.records;
|
||||||
|
var result = Object.keys(value.records.rental_home).map(function (key) {
|
||||||
|
return value.records.rental_home[key];
|
||||||
|
});
|
||||||
|
if (result.length == 0) {
|
||||||
|
const control = <FormArray>this.rentalForm.controls['rental_home'];
|
||||||
|
control.push(this.createpropertyArray());
|
||||||
|
} else {
|
||||||
|
result.forEach((datas, index) => {
|
||||||
|
control.push(this.createpropertyArray());
|
||||||
|
const parentControl = <FormGroup>this.rentalForm.controls['rental_home']['controls'][index];
|
||||||
|
const sub = <FormArray>parentControl.controls['details_tenants'];
|
||||||
|
console.log('control', parentControl);
|
||||||
|
subArray = Object.keys(datas.details_tenants).map(function (key) {
|
||||||
|
return datas.details_tenants[key];
|
||||||
|
});
|
||||||
|
if (subArray.length > 0) {
|
||||||
|
subArray.forEach((val) => {
|
||||||
|
console.log('val', val);
|
||||||
|
sub.push(this.createTenatsArray());
|
||||||
|
})
|
||||||
|
sub.removeAt(0);
|
||||||
|
}
|
||||||
|
datas.details_tenants = subArray;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
rentalinfo.rental_home = result;
|
||||||
|
rentalinfo.pdid = this.pdid;
|
||||||
|
rentalinfo.formid = this.form_id;
|
||||||
|
rentalinfo.fk_createdby = this.pdid;
|
||||||
|
this.rentalForm.setValue(rentalinfo);
|
||||||
|
} else {
|
||||||
|
control.push(this.createpropertyArray());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
inintRentalForm() {
|
||||||
|
this.rentalForm = this._fb.group({
|
||||||
|
pdid: this.pdid,
|
||||||
|
formid: this.form_id,
|
||||||
|
fk_createdby: this.pdid,
|
||||||
|
person_met: ['', Validators.compose([Validators.required])],
|
||||||
|
property_own: ['', Validators.compose([Validators.required])],
|
||||||
|
nature_property: ['', Validators.compose([Validators.required])],
|
||||||
|
rental_home: this._fb.array([])
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
createpropertyArray() {
|
||||||
|
this.propertyList = this._fb.group({
|
||||||
|
complete_add: ['', Validators.compose([Validators.required])],
|
||||||
|
area_of_property: ['', Validators.compose([Validators.required])],
|
||||||
|
structure_property: ['', Validators.compose([Validators.required])],
|
||||||
|
total_room: ['', Validators.compose([Validators.required])],
|
||||||
|
is_rent: ['', Validators.compose([Validators.required])],
|
||||||
|
date_agreement: [''],
|
||||||
|
date_validity: [''],
|
||||||
|
rent_agreement: [''],
|
||||||
|
actual_rent: [''],
|
||||||
|
photo_areegment: [''],
|
||||||
|
bank: ['', Validators.compose([Validators.required])],
|
||||||
|
cash: ['', Validators.compose([Validators.required])],
|
||||||
|
rent_each_floor: ['', Validators.compose([Validators.required])],
|
||||||
|
total_rent: ['', Validators.compose([Validators.required])],
|
||||||
|
related_doc_owner: ['', Validators.compose([Validators.required])],
|
||||||
|
property_photographs: ['', Validators.compose([Validators.required])],
|
||||||
|
third_party_check: ['', Validators.compose([Validators.required])],
|
||||||
|
details_tenants: this._fb.array([this.createTenatsArray()]),
|
||||||
|
});
|
||||||
|
return this.propertyList;
|
||||||
|
}
|
||||||
|
|
||||||
|
createTenatsArray() {
|
||||||
|
return this._fb.group({
|
||||||
|
name: ['', Validators.compose([Validators.required])],
|
||||||
|
mobile_no: ['', Validators.compose([Validators.required])],
|
||||||
|
tenants_seen: ['', Validators.compose([Validators.required])],
|
||||||
|
tenants_con_owner: ['', Validators.compose([Validators.required])],
|
||||||
|
staying_since: ['', Validators.compose([Validators.required])],
|
||||||
|
rent_paid: ['', Validators.compose([Validators.required])],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
addProperty(event) {
|
||||||
|
event.stopPropagation();
|
||||||
|
|
||||||
|
const control = <FormArray>this.rentalForm.controls['rental_home'];
|
||||||
|
control.push(this.createpropertyArray());
|
||||||
|
let length = control.length;
|
||||||
|
this.step = length - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteProperty(index) {
|
||||||
|
const control = <FormArray>this.rentalForm.controls['rental_home'];
|
||||||
|
control.removeAt(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
addTenant(parentIndex:number) {
|
||||||
|
const parentControl = <FormGroup>this.rentalForm.controls['rental_home']['controls'][parentIndex];
|
||||||
|
const control = <FormArray>parentControl.controls['details_tenants'];
|
||||||
|
console.log(parentControl);
|
||||||
|
console.log(control);
|
||||||
|
control.push(this.createTenatsArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteTenant(idx, parentIndex) {
|
||||||
|
const parentControl = <FormGroup>this.rentalForm.controls['rental_home']['controls'][parentIndex];
|
||||||
|
const control = <FormArray>parentControl.controls['details_tenants'];
|
||||||
|
control.removeAt(idx);
|
||||||
|
}
|
||||||
|
|
||||||
|
rentalSubmit() {
|
||||||
|
if (!this.rentalForm.valid) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log('form', this.rentalForm.value);
|
||||||
|
let records = this.rentalForm.value;
|
||||||
|
this._pd.saveForm(records).subscribe(data => {
|
||||||
|
console.log('data', data);
|
||||||
|
this.notifier.notify('success', 'Saved Successfully.');
|
||||||
|
}, error => {
|
||||||
|
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -11,19 +11,19 @@
|
|||||||
[formGroupName]="i">
|
[formGroupName]="i">
|
||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Name" formControlName="raw_name">
|
<input matInput placeholder="Name" formControlName="raw_name" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Quantity" formControlName="raw_quantity">
|
<input matInput placeholder="Quantity" formControlName="raw_quantity" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Value" formControlName="raw_value">
|
<input matInput placeholder="Value" formControlName="raw_value" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width:76%">
|
<mat-form-field style="width:76%">
|
||||||
<input matInput placeholder="Value of raw materials as per financial Statements" formControlName="rawmaterial_value">
|
<input matInput placeholder="Value of raw materials as per financial Statements" formControlName="rawmaterial_value" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width:76%">
|
<mat-form-field style="width:76%">
|
||||||
<input matInput placeholder="Is the stock of raw materials sufficient ?" formControlName="is_sufficiant_raw">
|
<input matInput placeholder="Is the stock of raw materials sufficient ?" formControlName="is_sufficiant_raw" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<button type="button" mat-raised-button mat-icon-button (click)="addRawMaterials()"
|
<button type="button" mat-raised-button mat-icon-button (click)="addRawMaterials()"
|
||||||
@ -47,19 +47,19 @@
|
|||||||
[formGroupName]="i">
|
[formGroupName]="i">
|
||||||
<mat-card-content class="matcard">
|
<mat-card-content class="matcard">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Name" formControlName="goods_name">
|
<input matInput placeholder="Name" formControlName="goods_name" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Quantity" formControlName="goods_quantity">
|
<input matInput placeholder="Quantity" formControlName="goods_quantity" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="Value" formControlName="goods_value">
|
<input matInput placeholder="Value" formControlName="goods_value" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width:76%">
|
<mat-form-field style="width:76%">
|
||||||
<input matInput placeholder="Value of finished goods as per financial statements" formControlName="finished_goods_value">
|
<input matInput placeholder="Value of finished goods as per financial statements" formControlName="finished_goods_value" (keypress)="keyPress($event)" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field style="width:76%">
|
<mat-form-field style="width:76%">
|
||||||
<input matInput placeholder="Is the stock of finished goods sufficient ?" formControlName="is_sufficiant_goods">
|
<input matInput placeholder="Is the stock of finished goods sufficient ?" formControlName="is_sufficiant_goods" required>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<button type="button" mat-raised-button mat-icon-button (click)="addGoods()"
|
<button type="button" mat-raised-button mat-icon-button (click)="addGoods()"
|
||||||
|
|||||||
@ -148,4 +148,13 @@ export class StockComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/** On Key Press Event For Numbers */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,56 +19,57 @@
|
|||||||
<div fxLayout="row wrap" fxLayoutGap="12px" fxLayoutAlign="start none">
|
<div fxLayout="row wrap" fxLayoutGap="12px" fxLayoutAlign="start none">
|
||||||
<div fxFlex="30">
|
<div fxFlex="30">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Supplier Name" formControlName="supplier_name">
|
<input matInput placeholder="Supplier Name" formControlName="supplier_name" required>
|
||||||
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
<!-- <mat-error *ngIf="sup.controls['supplier_name'].hasError('required') && sup.controls['supplier_name'].touched" class="mat-text-warn">Supplier Name Required.</mat-error> -->
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div fxFlex="30">
|
<div fxFlex="30">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Contact Person Name" formControlName="contact_person">
|
<input matInput placeholder="Contact Person Name" formControlName="contact_person" required>
|
||||||
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
<!-- <mat-error *ngIf="sup.controls['contact_person'].hasError('required') && sup.controls['contact_person'].touched" class="mat-text-warn">Contact Person Name Required.</mat-error> -->
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div fxFlex="30">
|
<div fxFlex="30">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Contact Mobile Number" formControlName="mobile_number">
|
<input matInput placeholder="Contact Mobile Number" formControlName="mobile_number" (keypress)="keyPress($event)" minlength=10 maxlength=10 required>
|
||||||
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
<!-- <mat-error *ngIf="sup.controls['mobile_number'].hasError('requried') && sup.controls['mobile_number'].touched" class="mat-text-warn">Mobile Number Requried</mat-error> -->
|
||||||
|
<mat-error *ngIf="sup.controls['mobile_number'].hasError('minlength') && sup.controls['mobile_number'].touched" class="mat-text-warn">Valid Mobile Number Requried</mat-error>
|
||||||
|
<mat-error *ngIf="sup.controls['mobile_number'].hasError('maxlength') && sup.controls['mobile_number'].touched" class="mat-text-warn">Vaild Mobile Number Requried</mat-error>
|
||||||
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div fxLayout="row wrap" fxLayoutGap="14px" fxLayoutAlign="start none">
|
<div fxLayout="row wrap" fxLayoutGap="14px" fxLayoutAlign="start none">
|
||||||
<div fxFlex="30">
|
<div fxFlex="30">
|
||||||
<mat-form-field style="width:100%">
|
<mat-form-field style="width:100%">
|
||||||
<mat-select (selectionChange)="selectedPM($event)" placeholder="Payment Mode" formControlName="payment_mode">
|
<mat-select (selectionChange)="selectedPM($event)" placeholder="Payment Mode" formControlName="payment_mode" required>
|
||||||
<mat-option *ngFor="let pm of m_paymentModeType" [value]="pm.id">{{ pm.name }}</mat-option>
|
<mat-option *ngFor="let pm of m_paymentModeType" [value]="pm.id">{{ pm.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="sup.get('payment_mode').value == 1 || sup.get('payment_mode').value == 3" fxFlex="30">
|
<div *ngIf="sup.get('payment_mode').value == 1 || sup.get('payment_mode').value == 3" fxFlex="30">
|
||||||
<mat-form-field class="ml-xs example-full-width" >
|
<mat-form-field class="ml-xs example-full-width" >
|
||||||
<input matInput placeholder="% of immediate / Advance Payment Purchase to Total Purchase?" formControlName="per_of_immediate_advance_payment">
|
<input matInput placeholder="% of immediate / Advance Payment Purchase to Total Purchase?" formControlName="per_of_immediate_advance_payment" type="number" min="0">
|
||||||
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="sup.get('payment_mode').value == 2 || sup.get('payment_mode').value == 3" fxFlex="30">
|
<div *ngIf="sup.get('payment_mode').value == 2 || sup.get('payment_mode').value == 3" fxFlex="30">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Credit Period" formControlName="credit_period">
|
<input matInput placeholder="Credit Period" formControlName="credit_period">
|
||||||
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div fxLayout="row" fxLayoutGap="14px" fxLayoutAlign="start none">
|
<div fxLayout="row" fxLayoutGap="14px" fxLayoutAlign="start none">
|
||||||
<div fxFlex="30">
|
<div fxFlex="30">
|
||||||
<mat-form-field style="width:100%">
|
<mat-form-field style="width:100%">
|
||||||
<mat-select (selectionChange)="selectedFreqPurchase($event)" placeholder="Frequency of Purchase" formControlName="frequency_of_purchase">
|
<mat-select (selectionChange)="selectedFreqPurchase($event)" placeholder="Frequency of Purchase" formControlName="frequency_of_purchase" required>
|
||||||
<mat-option *ngFor="let feq of m_freqOfPurchase" [value]="feq.frequency_id">{{ feq.name }}</mat-option>
|
<mat-option *ngFor="let feq of m_freqOfPurchase" [value]="feq.frequency_id">{{ feq.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
|
<!-- <mat-error *ngIf="sup.controls['frequency_of_purchase'].hasError('required') && sup.controls['frequency_of_purchase'].touched" class="mat-text-warn">PaymentMode Type Required.</mat-error> -->
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="sup.get('frequency_of_purchase').value == 8" fxFlex="30">
|
<div *ngIf="sup.get('frequency_of_purchase').value == 8" fxFlex="30">
|
||||||
<mat-form-field class="ml-xs example-full-width">
|
<mat-form-field class="ml-xs example-full-width">
|
||||||
<input matInput placeholder="Others Details" formControlName="freq_purchase_others_text_value">
|
<input matInput placeholder="Others Details" formControlName="freq_purchase_others_text_value">
|
||||||
<!--<mat-error *ngIf="submitted && f.supplier_name.hasError('required')" class="mat-text-warn">You must Include Supplier Name.</mat-error>-->
|
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -179,7 +179,7 @@ apiLoadFinish: boolean = false;
|
|||||||
return this._formBuilder.group({
|
return this._formBuilder.group({
|
||||||
supplier_name: ['', Validators.compose([Validators.required])],
|
supplier_name: ['', Validators.compose([Validators.required])],
|
||||||
contact_person: ['', Validators.compose([Validators.required])],
|
contact_person: ['', Validators.compose([Validators.required])],
|
||||||
mobile_number: ['', Validators.compose([Validators.required])],
|
mobile_number: ['', Validators.compose([Validators.required, Validators.minLength(10), Validators.maxLength(10)])],
|
||||||
payment_mode: ['', Validators.compose([Validators.required])],
|
payment_mode: ['', Validators.compose([Validators.required])],
|
||||||
per_of_immediate_advance_payment:[''],
|
per_of_immediate_advance_payment:[''],
|
||||||
credit_period:[''],
|
credit_period:[''],
|
||||||
@ -192,7 +192,7 @@ apiLoadFinish: boolean = false;
|
|||||||
return this._formBuilder.group({
|
return this._formBuilder.group({
|
||||||
supplier_name: [data.supplier_name, Validators.compose([Validators.required])],
|
supplier_name: [data.supplier_name, Validators.compose([Validators.required])],
|
||||||
contact_person: [data.contact_person, Validators.compose([Validators.required])],
|
contact_person: [data.contact_person, Validators.compose([Validators.required])],
|
||||||
mobile_number: [data.mobile_number, Validators.compose([Validators.required])],
|
mobile_number: [data.mobile_number, Validators.compose([Validators.required, Validators.minLength(10), Validators.maxLength(10)])],
|
||||||
payment_mode: [data.payment_mode, Validators.compose([Validators.required])],
|
payment_mode: [data.payment_mode, Validators.compose([Validators.required])],
|
||||||
per_of_immediate_advance_payment:[data.per_of_immediate_advance_payment || ''],
|
per_of_immediate_advance_payment:[data.per_of_immediate_advance_payment || ''],
|
||||||
credit_period:[data.credit_period || ''],
|
credit_period:[data.credit_period || ''],
|
||||||
@ -284,6 +284,16 @@ apiLoadFinish: boolean = false;
|
|||||||
// this._addQuesFrom.reset();
|
// this._addQuesFrom.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** On Key Press Event For Mobile Number */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// {
|
// {
|
||||||
// 'main_raw_materials': 'sdkjfal',
|
// 'main_raw_materials': 'sdkjfal',
|
||||||
// 'supplier_details' ; [
|
// 'supplier_details' ; [
|
||||||
|
|||||||
@ -31,9 +31,12 @@
|
|||||||
<mat-list-item class="custm-list-item" (click)="OnSelectDirectForms(formButton)" style="background-color:#e0e0e0">
|
<mat-list-item class="custm-list-item" (click)="OnSelectDirectForms(formButton)" style="background-color:#e0e0e0">
|
||||||
<span class="mt-0">{{ (formButton.form_name.length>17)? (formButton.form_name | slice:0:17)+'..':(formButton.form_name) }}</span>
|
<span class="mt-0">{{ (formButton.form_name.length>17)? (formButton.form_name | slice:0:17)+'..':(formButton.form_name) }}</span>
|
||||||
</mat-list-item>
|
</mat-list-item>
|
||||||
|
|
||||||
|
|
||||||
</mat-list>
|
</mat-list>
|
||||||
|
<!--<mat-list>-->
|
||||||
|
<!--<mat-list-item (click)="OnSelectDirectForms(rentalDetail)" style="background-color:#e0e0e0">-->
|
||||||
|
<!--<span class="mt-0">{{rentalDetail.form_name}}</span>-->
|
||||||
|
<!--</mat-list-item>-->
|
||||||
|
<!--</mat-list>-->
|
||||||
|
|
||||||
</mat-sidenav>
|
</mat-sidenav>
|
||||||
<mat-toolbar color="primary" fxHide="false" fxHide.gt-sm>
|
<mat-toolbar color="primary" fxHide="false" fxHide.gt-sm>
|
||||||
@ -407,7 +410,7 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngSwitchCase="7">
|
<ng-container *ngSwitchCase="7">
|
||||||
<!--<p>Banking details</p>-->
|
<!--<p>Banking details</p>-->
|
||||||
<app-banking-details [pdid]="startPD" ></app-banking-details>
|
<app-banking-details [pdid]="startPD" [pd_all_details]="pdFullDetails" ></app-banking-details>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngSwitchCase="8">
|
<ng-container *ngSwitchCase="8">
|
||||||
<app-current-loan [pdid]="startPD" [form_id]="selectedFormsCategory.form_id"></app-current-loan>
|
<app-current-loan [pdid]="startPD" [form_id]="selectedFormsCategory.form_id"></app-current-loan>
|
||||||
@ -433,9 +436,12 @@
|
|||||||
<ng-container *ngSwitchCase="15">
|
<ng-container *ngSwitchCase="15">
|
||||||
<app-lender-representative [pdid]="startPD" [form_id]="selectedFormsCategory.form_id"></app-lender-representative>
|
<app-lender-representative [pdid]="startPD" [form_id]="selectedFormsCategory.form_id"></app-lender-representative>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
<ng-container *ngSwitchCase="17">
|
||||||
|
<app-rental-info [pdid]="startPD" [form_id]="selectedFormsCategory.form_id"></app-rental-info>
|
||||||
|
</ng-container>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- end form based questions -->
|
<!-- end form based questions -->
|
||||||
|
|
||||||
</figure>
|
</figure>
|
||||||
|
|||||||
@ -29,6 +29,7 @@ export class StartPdComponent implements OnInit, OnDestroy {
|
|||||||
answerList: any = [];
|
answerList: any = [];
|
||||||
ansPDList: any = [];
|
ansPDList: any = [];
|
||||||
relationDetails: any = [1];
|
relationDetails: any = [1];
|
||||||
|
rentalDetail: any = { form_id: "16", form_name: "Rental Information", isAnswered: true}
|
||||||
// errorMessage:any;
|
// errorMessage:any;
|
||||||
// selectedCategory:any=[];
|
// selectedCategory:any=[];
|
||||||
// categoryList: any=[];
|
// categoryList: any=[];
|
||||||
@ -294,6 +295,7 @@ pdFullDetails:any=[];
|
|||||||
this.pdMasterList=data.records.pdmaster_details;
|
this.pdMasterList=data.records.pdmaster_details;
|
||||||
this.categoryList=data.records.question_answers;
|
this.categoryList=data.records.question_answers;
|
||||||
this.categoryFormButtons = data.records.template_forms;
|
this.categoryFormButtons = data.records.template_forms;
|
||||||
|
console.log('formButtons', this.categoryFormButtons);
|
||||||
let filterApplicantName= data.records.pdapplicants_detials.filter(item => item.applicant_type == 1);
|
let filterApplicantName= data.records.pdapplicants_detials.filter(item => item.applicant_type == 1);
|
||||||
this.mainApplicantName = filterApplicantName[0].applicant_name;
|
this.mainApplicantName = filterApplicantName[0].applicant_name;
|
||||||
this.currentPDStatus = data.records.pdmaster_details.pd_status;
|
this.currentPDStatus = data.records.pdmaster_details.pd_status;
|
||||||
@ -625,6 +627,7 @@ pdFullDetails:any=[];
|
|||||||
OnSelectDirectForms(details: any) {
|
OnSelectDirectForms(details: any) {
|
||||||
this.formsCategoryEnable = true;
|
this.formsCategoryEnable = true;
|
||||||
this.selectedFormsCategory = details;
|
this.selectedFormsCategory = details;
|
||||||
|
console.log('select..', this.selectedFormsCategory);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,11 +13,11 @@
|
|||||||
|
|
||||||
<div *ngIf="pdCentralOfficerList.length > 0" >
|
<div *ngIf="pdCentralOfficerList.length > 0" >
|
||||||
<div fxLayout="row wrap" fxFlex="100%">
|
<div fxLayout="row wrap" fxFlex="100%">
|
||||||
<div fxLayout="row wrap" fxFlex="33.33%" *ngFor="let officer of pdCentralOfficerList; ">
|
<div fxLayout="row wrap" fxFlex="22%" *ngFor="let officer of pdCentralOfficerList; ">
|
||||||
<mat-card fxFlex="100%">
|
<mat-card fxFlex="100%">
|
||||||
<mat-card-content style="text-align:center">
|
<mat-card-content style="text-align:center">
|
||||||
<mat-radio-button [value]="officer" (change)="selectPdOfficer(officer)"></mat-radio-button>
|
<mat-radio-button [value]="officer" (change)="selectPdOfficer(officer)"></mat-radio-button>
|
||||||
<img [src]="officer.profile_url ||'https://image.ibb.co/mGjZB9/usernew.png'" alt="No Image" style="border-radius:50%;width:50%"><br>
|
<img [src]="officer.profile_url ||'https://image.ibb.co/mGjZB9/usernew.png'" alt="No Image" style="border-radius:50%;width:100px;height:100px;"><br>
|
||||||
<span>{{officer.first_name}}</span>
|
<span>{{officer.first_name}}</span>
|
||||||
<br>
|
<br>
|
||||||
<span>{{officer.mobile_no}}</span><br>
|
<span>{{officer.mobile_no}}</span><br>
|
||||||
|
|||||||
@ -12,6 +12,9 @@
|
|||||||
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.COMPLETED && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master)"><mat-icon>verified_user</mat-icon></button>
|
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.COMPLETED && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master)"><mat-icon>verified_user</mat-icon></button>
|
||||||
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.COMPLETED && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master)"><mat-icon>schedule</mat-icon></button>
|
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.COMPLETED && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master)"><mat-icon>schedule</mat-icon></button>
|
||||||
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.TRIGGERED && currentPDStatus!=pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(viewID)"><mat-icon>question_answer</mat-icon></button>
|
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.TRIGGERED && currentPDStatus!=pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(viewID)"><mat-icon>question_answer</mat-icon></button>
|
||||||
|
|
||||||
|
<button *ngIf="master.pd_type_name && currentPDStatus===pdStatusCheck.QC_COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="PD Report" matTooltipPosition="above" (click)="getPDIDReport(viewID)"><mat-icon>ballot</mat-icon></button>
|
||||||
|
|
||||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="above" (click)="loadPdListCompoent()"><mat-icon>close</mat-icon></button>
|
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="above" (click)="loadPdListCompoent()"><mat-icon>close</mat-icon></button>
|
||||||
<br>
|
<br>
|
||||||
<!-- <span *ngIf="master.pd_allocated_to" style="color:red;text-align:left" class="fa-1x fa fa-user-secret" matTooltip="PD Officer"
|
<!-- <span *ngIf="master.pd_allocated_to" style="color:red;text-align:left" class="fa-1x fa fa-user-secret" matTooltip="PD Officer"
|
||||||
|
|||||||
@ -170,6 +170,11 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
|||||||
this.router.navigate([ '../../startpd',pdID], { relativeTo: this.route });
|
this.router.navigate([ '../../startpd',pdID], { relativeTo: this.route });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getPDIDReport(pdID:any) {
|
||||||
|
this.destroyType=3;
|
||||||
|
this.router.navigate([ '../../pdRecord',pdID], { relativeTo: this.route });
|
||||||
|
}
|
||||||
|
|
||||||
// updateViewComponent(editBack:string) {
|
// updateViewComponent(editBack:string) {
|
||||||
|
|
||||||
// if(editBack=='1'){
|
// if(editBack=='1'){
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import {
|
|||||||
MatProgressBarModule, MatDialogModule, MatSortModule,
|
MatProgressBarModule, MatDialogModule, MatSortModule,
|
||||||
MatToolbarModule, MatSelectModule, MatListModule, MatGridListModule, MatTabsModule, MatCheckboxModule,
|
MatToolbarModule, MatSelectModule, MatListModule, MatGridListModule, MatTabsModule, MatCheckboxModule,
|
||||||
MatBadgeModule, MatExpansionModule, MatStepperModule, MatSidenavModule, MatMenuModule, MatButtonToggleModule,
|
MatBadgeModule, MatExpansionModule, MatStepperModule, MatSidenavModule, MatMenuModule, MatButtonToggleModule,
|
||||||
MatAutocompleteModule
|
MatAutocompleteModule, MatDatepickerModule
|
||||||
} from '@angular/material';
|
} from '@angular/material';
|
||||||
import {MatSlideToggleModule} from '@angular/material/slide-toggle';
|
import {MatSlideToggleModule} from '@angular/material/slide-toggle';
|
||||||
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
|
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
|
||||||
@ -63,6 +63,11 @@ import { LenderRepresentativeComponent } from './list-pd/start-pd/forms/lender-r
|
|||||||
|
|
||||||
import { TelePdAllocationComponent } from './list-pd/tele-pd-allocation/tele-pd-allocation.component';
|
import { TelePdAllocationComponent } from './list-pd/tele-pd-allocation/tele-pd-allocation.component';
|
||||||
|
|
||||||
|
import { PdReportComponent } from './list-pd/pd-report/pd-report.component';
|
||||||
|
|
||||||
|
import {RentalInfoComponent} from "./list-pd/start-pd/forms/rental-info/rental-info.component";
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom angular notifier options
|
* Custom angular notifier options
|
||||||
*/
|
*/
|
||||||
@ -135,7 +140,7 @@ const pdCustomNotifierOptions: NotifierOptions = {
|
|||||||
// AgmCoreModule.forRoot({apiKey: 'AIzaSyBtdO5k6CRntAMJCF-H5uZjTCoSGX95cdk'}), OwlDateTimeModule,
|
// AgmCoreModule.forRoot({apiKey: 'AIzaSyBtdO5k6CRntAMJCF-H5uZjTCoSGX95cdk'}), OwlDateTimeModule,
|
||||||
// OwlNativeDateTimeModule,
|
// OwlNativeDateTimeModule,
|
||||||
// ],
|
// ],
|
||||||
declarations: [TelePdAllocationComponent, FinancialInfoComponent, BusinessInfoComponent, EmploymentInfoComponent, StockComponent, BankingDetailsComponent, ListPdComponent, FamilyDetailsComponent, AddressComponent, ManagePdComponent, MapPdViewComponent, AddPdComponent, ViewPdComponent, PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, InprogressPdComponent, AllPdComponent, ScheduledPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, CurrentLoanComponent, AssetsInfoComponent, LoanDetailsComponent, OtherIncomeComponent, SupplierInfoComponent, PersonalInfoComponent, LenderRepresentativeComponent],
|
declarations: [RentalInfoComponent, TelePdAllocationComponent, FinancialInfoComponent, BusinessInfoComponent, EmploymentInfoComponent, StockComponent, BankingDetailsComponent, ListPdComponent, FamilyDetailsComponent, AddressComponent, ManagePdComponent, MapPdViewComponent, AddPdComponent, ViewPdComponent, PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, InprogressPdComponent, AllPdComponent, ScheduledPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, CurrentLoanComponent, AssetsInfoComponent, LoanDetailsComponent, OtherIncomeComponent, SupplierInfoComponent, PersonalInfoComponent, LenderRepresentativeComponent, PdReportComponent],
|
||||||
|
|
||||||
// exports: [PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, CompletedPdComponent, QcCompletedPdComponent],
|
// exports: [PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, CompletedPdComponent, QcCompletedPdComponent],
|
||||||
// providers: [PdTrigerService, GetGeometricLocationService],
|
// providers: [PdTrigerService, GetGeometricLocationService],
|
||||||
@ -160,7 +165,8 @@ const pdCustomNotifierOptions: NotifierOptions = {
|
|||||||
ReactiveFormsModule,
|
ReactiveFormsModule,
|
||||||
FileUploadModule,
|
FileUploadModule,
|
||||||
TreeModule,
|
TreeModule,
|
||||||
MatDialogModule,MatSortModule,
|
MatDatepickerModule,
|
||||||
|
MatDialogModule,MatSortModule,
|
||||||
NgxMatSelectSearchModule,MatTooltipModule, MatExpansionModule,
|
NgxMatSelectSearchModule,MatTooltipModule, MatExpansionModule,
|
||||||
AgmCoreModule.forRoot({apiKey: 'AIzaSyBtdO5k6CRntAMJCF-H5uZjTCoSGX95cdk'}),OwlDateTimeModule,
|
AgmCoreModule.forRoot({apiKey: 'AIzaSyBtdO5k6CRntAMJCF-H5uZjTCoSGX95cdk'}),OwlDateTimeModule,
|
||||||
OwlNativeDateTimeModule,
|
OwlNativeDateTimeModule,
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { MapPdViewComponent } from './list-pd/map-pd-view/map-pd-view.component'
|
|||||||
import { AddPdComponent } from '../manage-pd/list-pd/add-pd/add-pd.component';
|
import { AddPdComponent } from '../manage-pd/list-pd/add-pd/add-pd.component';
|
||||||
import { ViewPdComponent } from '../manage-pd/list-pd/view-pd/view-pd.component';
|
import { ViewPdComponent } from '../manage-pd/list-pd/view-pd/view-pd.component';
|
||||||
import { StartPdComponent } from './list-pd/start-pd/start-pd.component';
|
import { StartPdComponent } from './list-pd/start-pd/start-pd.component';
|
||||||
|
import { PdReportComponent } from './list-pd/pd-report/pd-report.component';
|
||||||
/*
|
/*
|
||||||
* manage pd router
|
* manage pd router
|
||||||
*/
|
*/
|
||||||
@ -14,33 +15,37 @@ const routes: Routes = [
|
|||||||
path: '',
|
path: '',
|
||||||
component: ManagePdComponent,
|
component: ManagePdComponent,
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
redirectTo: 'pdlist'
|
redirectTo: 'pdlist'
|
||||||
},{
|
}, {
|
||||||
path: 'pdlist',
|
path: 'pdlist',
|
||||||
component: ListPdComponent,
|
component: ListPdComponent,
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: 'pdmaplist',
|
path: 'pdmaplist',
|
||||||
component: MapPdViewComponent,
|
component: MapPdViewComponent,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'addpd',
|
path: 'addpd',
|
||||||
component: AddPdComponent,
|
component: AddPdComponent,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'viewpd/:pdid',
|
path: 'viewpd/:pdid',
|
||||||
component: ViewPdComponent,
|
component: ViewPdComponent,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'startpd/:pdid',
|
path: 'startpd/:pdid',
|
||||||
component: StartPdComponent,
|
component: StartPdComponent,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'pdRecord/:pdid',
|
||||||
|
component: PdReportComponent,
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -272,6 +272,16 @@ getPDFormDetailsWithID(pdID, formID ):Observable<any> {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// get Pd Final report Question Answer
|
||||||
|
|
||||||
|
getPdFinalReportDetails(pdId: number) {
|
||||||
|
return this._http.post<any>(this.apiUrl+"getFinalPDReportQuestions",{"pd_id":pdId})
|
||||||
|
.pipe(
|
||||||
|
catchError(this.handleError('operation', []))
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
// private handleError<T>(operation = 'operation', result?: T) {
|
// private handleError<T>(operation = 'operation', result?: T) {
|
||||||
// return (error: any): Observable<T> => {
|
// return (error: any): Observable<T> => {
|
||||||
// return of(result as T);
|
// return of(result as T);
|
||||||
|
|||||||
@ -1,14 +1,4 @@
|
|||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
<!-- <div style="text-align: right;">
|
|
||||||
<button mat-raised-button color="primary" (click)="addPDAllocationType()" > + Add PDAllocationType</button> -->
|
|
||||||
<!-- displayedColumns = ['','fk_pd_status_id',
|
|
||||||
'sms_lender','sms_pdofficer','sms_pdincharge',
|
|
||||||
'mail_lender', 'mail_pdincharge','mail_pdofficer'];
|
|
||||||
</div>
|
|
||||||
<br> -->
|
|
||||||
<!-- <div *ngIf="loader">
|
|
||||||
<mat-progress-bar mode="indeterminate" color="accent" class="mb-1"></mat-progress-bar>
|
|
||||||
</div> <br> -->
|
|
||||||
<div *ngIf="!noRecordFound" class="filter-container mat-elevation-z8">
|
<div *ngIf="!noRecordFound" class="filter-container mat-elevation-z8">
|
||||||
<!-- <div class="filter-header">
|
<!-- <div class="filter-header">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
@ -37,7 +27,7 @@
|
|||||||
|
|
||||||
<ng-container matColumnDef="pd_status_name">
|
<ng-container matColumnDef="pd_status_name">
|
||||||
<mat-header-cell *matHeaderCellDef mat-sort-header>Status </mat-header-cell>
|
<mat-header-cell *matHeaderCellDef mat-sort-header>Status </mat-header-cell>
|
||||||
<mat-cell *matCellDef="let row"> {{row.pd_status_name}} </mat-cell>
|
<mat-cell *matCellDef="let row"> {{row.pd_status}} </mat-cell>
|
||||||
<!-- <mat-checkbox [checked]="row.isPublish"></mat-checkbox> -->
|
<!-- <mat-checkbox [checked]="row.isPublish"></mat-checkbox> -->
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
|||||||
@ -79,7 +79,8 @@ export class PdNotificationListComponent implements OnInit {
|
|||||||
|
|
||||||
//To get data for listing
|
//To get data for listing
|
||||||
getPdNotification() {
|
getPdNotification() {
|
||||||
this._MastersService.getAllPDNotification().subscribe(
|
//this._MastersService.getAllPDNotification().subscribe(
|
||||||
|
this._MastersService.getAllMasterData('PDNOTIFICATION').subscribe(
|
||||||
data => {
|
data => {
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
// console.log(data.status);
|
// console.log(data.status);
|
||||||
|
|||||||
@ -6,24 +6,26 @@ import { FormBuilder,
|
|||||||
import { MatDialog,
|
import { MatDialog,
|
||||||
MatDialogRef,
|
MatDialogRef,
|
||||||
MAT_DIALOG_DATA } from '@angular/material';
|
MAT_DIALOG_DATA } from '@angular/material';
|
||||||
|
|
||||||
/** Service */
|
/** Service */
|
||||||
import { MastersService } from '../../service/masters/masters.service';
|
import { MastersService } from '../../service/masters/masters.service';
|
||||||
import { PdTeamService } from '../../service/masters/pd-team.service';
|
import { PdTeamService } from '../../service/masters/pd-team.service';
|
||||||
import { NotifierService } from 'angular-notifier';
|
import { Router } from '@angular/router';
|
||||||
|
import { empty } from 'rxjs';
|
||||||
|
|
||||||
import { Router } from '@angular/router';
|
|
||||||
import { empty } from 'rxjs';
|
|
||||||
/**sweet alert */
|
/**sweet alert */
|
||||||
import Swal from 'sweetalert2';
|
import Swal from 'sweetalert2';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-pd-team-add',
|
selector: 'app-pd-team-add',
|
||||||
templateUrl: './pd-team-add.component.html',
|
templateUrl: './pd-team-add.component.html',
|
||||||
styleUrls: ['./pd-team-add.component.scss']
|
styleUrls: ['./pd-team-add.component.scss']
|
||||||
})
|
})
|
||||||
|
|
||||||
export class PdTeamAddComponent implements OnInit {
|
export class PdTeamAddComponent implements OnInit {
|
||||||
|
|
||||||
public _pdTeamForm: FormGroup;
|
public _pdTeamForm: FormGroup;
|
||||||
private notifier: NotifierService;
|
|
||||||
color = 'primary';
|
color = 'primary';
|
||||||
errorMessage:string;
|
errorMessage:string;
|
||||||
|
|
||||||
@ -42,17 +44,16 @@ selectedProductDatas : any=[];
|
|||||||
selectedSegmentDatas : any=[];
|
selectedSegmentDatas : any=[];
|
||||||
|
|
||||||
constructor(private _formBuilder: FormBuilder,
|
constructor(private _formBuilder: FormBuilder,
|
||||||
private _notifier: NotifierService,
|
|
||||||
private _pdTeamService: PdTeamService,
|
private _pdTeamService: PdTeamService,
|
||||||
private _router: Router,
|
private _router: Router,
|
||||||
private _masterService: MastersService)
|
private _masterService: MastersService)
|
||||||
{
|
{
|
||||||
this.notifier = _notifier;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
//console.log(this.notifier);
|
|
||||||
this.PdTeamFormDatas();
|
this.PdTeamFormDatas();
|
||||||
|
|
||||||
/** For Checking City Validation datas - checking purpose - Already exists are not */
|
/** For Checking City Validation datas - checking purpose - Already exists are not */
|
||||||
@ -143,15 +144,16 @@ onSubmit() {
|
|||||||
this._pdTeamService.addPdTeamDetail(this._pdTeamForm.value).subscribe(
|
this._pdTeamService.addPdTeamDetail(this._pdTeamForm.value).subscribe(
|
||||||
dataresult => {
|
dataresult => {
|
||||||
if(dataresult.dataStatus == true) {
|
if(dataresult.dataStatus == true) {
|
||||||
this.notifier.notify('success', 'Record Saved Successfully.!');
|
|
||||||
Swal('Record Saved Successfully.!','success');
|
Swal('Record Saved Successfully.!','success');
|
||||||
this._router.navigate(['/setting/pdteam/pdteamlist']);
|
this._router.navigate(['/setting/pdteam/pdteamlist']);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
|
|
||||||
Swal('Wrong.!');
|
//Swal('Wrong.!');
|
||||||
//alert('Some Thing Wents Wrong Try Again !');
|
Swal('Some Thing Wents Wrong Try Again !');
|
||||||
//this.errorMessage = "Some Thing Wents Wrong Try Again !";
|
//this.errorMessage = "Some Thing Wents Wrong Try Again !";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -225,13 +227,12 @@ onChangeEntityId($event){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($event.isUserInput != false){
|
if($event.isUserInput != false){
|
||||||
//console.log(this.CityValidation,lenderId);
|
//console.log(this.CityValidation,lenderId);
|
||||||
this._pdTeamService.getLenderData(lenderId).subscribe(
|
this._pdTeamService.getLenderData(lenderId).subscribe(
|
||||||
dataresult => {
|
dataresult => {
|
||||||
|
|
||||||
if(dataresult.dataStatus == true) {
|
if(dataresult.dataStatus == true) {
|
||||||
this.CityValidation = dataresult.records;
|
this.CityValidation = dataresult.records;
|
||||||
console.log(this.CityValidation);
|
//console.log(this.CityValidation);
|
||||||
}
|
}
|
||||||
}, error => this.errorMessage = <any> error);
|
}, error => this.errorMessage = <any> error);
|
||||||
}
|
}
|
||||||
@ -263,7 +264,7 @@ onChangeCityDatas($event){
|
|||||||
mycheck = 1;
|
mycheck = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mycheck == 0){
|
if(mycheck == 0){
|
||||||
this.selectedCityDatas.push(cityName.name);
|
this.selectedCityDatas.push(cityName.name);
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<div style="max-height: 580px;">
|
<div style="max-height: 580px;" *ngIf="apiFinishLoad">
|
||||||
<form [formGroup]="_pdTeamForm" (submit)="onSubmit()">
|
<form [formGroup]="_pdTeamForm" (submit)="onSubmit()">
|
||||||
<mat-card style="padding: 6px;">
|
<mat-card style="padding: 6px;">
|
||||||
<div class="ml-xs mr-xs" style="width: 100%;" fxLayout="row" fxLayoutAlign="center">
|
<div class="ml-xs mr-xs" style="width: 100%;" fxLayout="row" fxLayoutAlign="center">
|
||||||
|
|||||||
@ -6,9 +6,9 @@ import { FormBuilder,
|
|||||||
/** Service */
|
/** Service */
|
||||||
import { MastersService } from '../../service/masters/masters.service';
|
import { MastersService } from '../../service/masters/masters.service';
|
||||||
import { PdTeamService } from '../../service/masters/pd-team.service';
|
import { PdTeamService } from '../../service/masters/pd-team.service';
|
||||||
import { NotifierService } from 'angular-notifier';
|
|
||||||
/** Here this component is like as a partent component */
|
/** Here this component is like as a partent component */
|
||||||
import { PdTeamListComponent } from './../pd-team-list/pd-team-list.component';
|
import { Router,ActivatedRoute } from '@angular/router';
|
||||||
|
|
||||||
/**sweet alert */
|
/**sweet alert */
|
||||||
import Swal from 'sweetalert2';
|
import Swal from 'sweetalert2';
|
||||||
@Component({
|
@Component({
|
||||||
@ -22,14 +22,15 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
public _pdTeamForm: FormGroup;
|
public _pdTeamForm: FormGroup;
|
||||||
public submitted = false;
|
public submitted = false;
|
||||||
public listView: any = true;
|
public listView: any = true;
|
||||||
private notifier: NotifierService;
|
|
||||||
color = 'primary';
|
color = 'primary';
|
||||||
errorMessage:string;
|
errorMessage:string;
|
||||||
lenderId:any;
|
lenderId:any;
|
||||||
|
teamID: any;
|
||||||
|
apiFinishLoad: boolean;
|
||||||
|
|
||||||
//This "childMessage" to get the function or data from partent component
|
//This "childMessage" to get the function or data from partent component
|
||||||
@Input() public childMessage: any;
|
//@Input() public childMessage: any;
|
||||||
|
public childMessage: any[];
|
||||||
//This Type Of Array Declaration for select dropdown to list the datas
|
//This Type Of Array Declaration for select dropdown to list the datas
|
||||||
citydatas: any[];
|
citydatas: any[];
|
||||||
lenderdatas: any[];
|
lenderdatas: any[];
|
||||||
@ -51,27 +52,33 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
selectedCityDatas : any=[];
|
selectedCityDatas : any=[];
|
||||||
selectedProductDatas : any=[];
|
selectedProductDatas : any=[];
|
||||||
selectedSegmentDatas : any=[];
|
selectedSegmentDatas : any=[];
|
||||||
|
|
||||||
//EditDatasforFormGroup: any;
|
//EditDatasforFormGroup: any;
|
||||||
|
|
||||||
constructor(private _formBuilder: FormBuilder,
|
constructor(private _formBuilder: FormBuilder,
|
||||||
private _notifier: NotifierService,
|
private _router: Router,private route: ActivatedRoute,
|
||||||
private _pdTeamService: PdTeamService,
|
private _pdTeamService: PdTeamService,
|
||||||
private _PdTeamListComponent: PdTeamListComponent,
|
|
||||||
private _masterService: MastersService) {
|
private _masterService: MastersService) {
|
||||||
this.notifier = _notifier;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Onready function */
|
/** Onready function */
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
//console.log(atob(this.route.snapshot.params['id']));
|
||||||
|
this.teamID = atob(this.route.snapshot.params['id']);
|
||||||
|
//console.log(this.teamID);
|
||||||
|
|
||||||
|
this._pdTeamForm = this._formBuilder.group({
|
||||||
|
pdteam_id: ['', Validators.compose([Validators.required])],
|
||||||
|
team_name: ['', Validators.compose([Validators.required])],
|
||||||
|
fk_lender: ['', Validators.compose([Validators.required])],
|
||||||
|
fk_city: ['', Validators.compose([Validators.required])],
|
||||||
|
fk_customer_segment: ['', Validators.compose([Validators.required])],
|
||||||
|
fk_product:['', Validators.compose([Validators.required])],
|
||||||
|
});
|
||||||
|
|
||||||
this.PdTeamFormDatas();
|
this.PdTeamFormDatas();
|
||||||
//console.log('hai I am Child This onready function',this.childMessage);
|
|
||||||
// this._pdTeamService.getAllPDTeamWithPDTeamID(this.childMessage).subscribe(
|
|
||||||
// dataresult => {
|
|
||||||
// console.log(dataresult);
|
|
||||||
// this.EditDatasforFormGroup = dataresult.records;
|
|
||||||
// console.log(this.EditDatasforFormGroup);
|
|
||||||
// });
|
|
||||||
/** For Checking City Validation datas - checking purpose - Already exists are not */
|
/** For Checking City Validation datas - checking purpose - Already exists are not */
|
||||||
this._pdTeamService.getAllPdTeamCityMapping().subscribe(
|
this._pdTeamService.getAllPdTeamCityMapping().subscribe(
|
||||||
dataresult => {
|
dataresult => {
|
||||||
@ -117,18 +124,30 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
this.customerSegmentdatas = this.customerSegmentdatas.filter(segment=>segment.isactive == 1 );
|
this.customerSegmentdatas = this.customerSegmentdatas.filter(segment=>segment.isactive == 1 );
|
||||||
}
|
}
|
||||||
}, error => this.errorMessage = <any> error);
|
}, error => this.errorMessage = <any> error);
|
||||||
this.lenderId = this._pdTeamForm.value['fk_lender'];
|
|
||||||
this._pdTeamService.getLenderData(this.lenderId).subscribe(
|
// this.lenderId = this._pdTeamForm.value.fk_lender;
|
||||||
dataresult => {
|
// console.log('form data',this._pdTeamForm);
|
||||||
if(dataresult.dataStatus == true){
|
// console.log('form data Particular Value',this._pdTeamForm.value.fk_lender);
|
||||||
this.CityValidation = dataresult.records;
|
// this._pdTeamService.getLenderData(this.lenderId).subscribe(
|
||||||
}
|
// dataresult => {
|
||||||
}, error => this.errorMessage = <any> error);
|
// if(dataresult.dataStatus == true){
|
||||||
|
// this.CityValidation = dataresult.records;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Pd Team Form Datas */
|
/** Pd Team Form Datas */
|
||||||
PdTeamFormDatas(){
|
PdTeamFormDatas(){
|
||||||
|
this._pdTeamService.getAllPDTeamWithPDTeamID(this.teamID).subscribe(
|
||||||
|
dataresult => {
|
||||||
|
//console.log('Response Data',dataresult);
|
||||||
|
if(dataresult.status == 200)
|
||||||
|
this.childMessage = dataresult.records;
|
||||||
|
|
||||||
|
// console.log('Record Data',dataresult.records);
|
||||||
|
// console.log('sdafd',this.childMessage[0].team_name);
|
||||||
|
|
||||||
//console.log('Patricular pdteam_id Datas',this.childMessage);
|
//console.log('Patricular pdteam_id Datas',this.childMessage);
|
||||||
|
|
||||||
// let PdTeamcity:any = [];
|
// let PdTeamcity:any = [];
|
||||||
@ -142,7 +161,7 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
let PdTeamCity:any = [];
|
let PdTeamCity:any = [];
|
||||||
for(let ptc of this.childMessage[0].CITYMAP){
|
for(let ptc of this.childMessage[0].CITYMAP){
|
||||||
PdTeamCity.push(ptc.city_id);
|
PdTeamCity.push(ptc.city_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
let PdTeamProduct:any = [];
|
let PdTeamProduct:any = [];
|
||||||
// for(let ptp of this.childMessage[0].PRODUCTS){
|
// for(let ptp of this.childMessage[0].PRODUCTS){
|
||||||
@ -174,16 +193,36 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}, error => this.errorMessage = <any> error);
|
}, error => this.errorMessage = <any> error);
|
||||||
|
|
||||||
this._pdTeamForm = this._formBuilder.group({
|
this._pdTeamForm.controls['pdteam_id'].setValue(this.childMessage[0].pdteam_id);
|
||||||
pdteam_id: [this.childMessage[0].pdteam_id, Validators.compose([Validators.required])],
|
this._pdTeamForm.controls['team_name'].setValue(this.childMessage[0].team_name);
|
||||||
team_name: [this.childMessage[0].team_name, Validators.compose([Validators.required])],
|
this._pdTeamForm.controls['fk_lender'].setValue(this.childMessage[0].fk_lender_id);
|
||||||
fk_lender: [this.childMessage[0].fk_lender_id, Validators.compose([Validators.required])],
|
this._pdTeamForm.controls['fk_city'].setValue(PdTeamCity);
|
||||||
fk_city: [PdTeamCity, Validators.compose([Validators.required])],
|
this._pdTeamForm.controls['fk_customer_segment'].setValue(this.DBCustomerSegmentDatas);
|
||||||
fk_customer_segment: [this.DBCustomerSegmentDatas, Validators.compose([Validators.required])],
|
this._pdTeamForm.controls['fk_product'].setValue(this.DBProductDatas);
|
||||||
fk_product:[this.DBProductDatas, Validators.compose([Validators.required])],
|
this.apiFinishLoad = true;
|
||||||
|
|
||||||
|
|
||||||
|
// this.lenderId = this._pdTeamForm.get('fk_customer_segment').value;
|
||||||
|
// console.log('asf',this.lenderId);
|
||||||
|
// console.log('form data',this._pdTeamForm);
|
||||||
|
|
||||||
|
this._pdTeamService.getLenderData(this.childMessage[0].fk_lender_id).subscribe(
|
||||||
|
dataresult => {
|
||||||
|
if(dataresult.dataStatus == true){
|
||||||
|
this.CityValidation = dataresult.records;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// this._pdTeamForm = this._formBuilder.group({
|
||||||
|
// pdteam_id: [this.childMessage[0].pdteam_id, Validators.compose([Validators.required])],
|
||||||
|
// team_name: [this.childMessage[0].team_name, Validators.compose([Validators.required])],
|
||||||
|
// fk_lender: [this.childMessage[0].fk_lender_id, Validators.compose([Validators.required])],
|
||||||
|
// fk_city: [PdTeamCity, Validators.compose([Validators.required])],
|
||||||
|
// fk_customer_segment: [this.DBCustomerSegmentDatas, Validators.compose([Validators.required])],
|
||||||
|
// fk_product:[this.DBProductDatas, Validators.compose([Validators.required])],
|
||||||
|
// });
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** convenience getter for easy access to form fields */
|
/** convenience getter for easy access to form fields */
|
||||||
@ -191,7 +230,7 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
|
|
||||||
/** For Popup Close Button */
|
/** For Popup Close Button */
|
||||||
onNoClick(): void {
|
onNoClick(): void {
|
||||||
this._PdTeamListComponent.changeListView();
|
this._router.navigate(['/setting/pdteam/pdteamlist']);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** To Reset Popup Data For Add*/
|
/** To Reset Popup Data For Add*/
|
||||||
@ -225,9 +264,9 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
this._pdTeamService.editPdTeamchildDetails(ActiveDatas,'PDTEAMCUSTOMERSEGMENT')
|
this._pdTeamService.editPdTeamchildDetails(ActiveDatas,'PDTEAMCUSTOMERSEGMENT')
|
||||||
.subscribe(dataresult=>{
|
.subscribe(dataresult=>{
|
||||||
if (dataresult.dataStatus == true){
|
if (dataresult.dataStatus == true){
|
||||||
//alert('InActive Changes Done in cs');
|
// alert('InActive Changes Done in cs');
|
||||||
let index = this.selectedSegmentDatas.indexOf(CustomerSegmentName.name);
|
// let index = this.selectedSegmentDatas.indexOf(CustomerSegmentName.name);
|
||||||
this.selectedSegmentDatas.splice(index,1);
|
// this.selectedSegmentDatas.splice(index,1);
|
||||||
|
|
||||||
}else{}
|
}else{}
|
||||||
});
|
});
|
||||||
@ -326,6 +365,7 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
else if($event.source._selected == false ){
|
else if($event.source._selected == false ){
|
||||||
|
|
||||||
console.log('Return False for city Selection Data');
|
console.log('Return False for city Selection Data');
|
||||||
|
|
||||||
let index = this.selectedCityDatas.indexOf(cityName.name);
|
let index = this.selectedCityDatas.indexOf(cityName.name);
|
||||||
this.selectedCityDatas.splice(index,1);
|
this.selectedCityDatas.splice(index,1);
|
||||||
|
|
||||||
@ -336,16 +376,20 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
dataresult => {
|
dataresult => {
|
||||||
if (dataresult.dataStatus == true) {
|
if (dataresult.dataStatus == true) {
|
||||||
data = dataresult.records;
|
data = dataresult.records;
|
||||||
|
|
||||||
//console.log('data',data);
|
//console.log('data',data);
|
||||||
data = data.filter(pdteamcity=>pdteamcity.fk_city_id == $event.source.value);
|
data = data.filter(pdteamcity=>pdteamcity.fk_city_id == $event.source.value);
|
||||||
data = data.filter(pdteamcity=>pdteamcity.fk_pdteam_id == this._pdTeamForm.value.pdteam_id)[0];
|
data = data.filter(pdteamcity=>pdteamcity.fk_pdteam_id == this._pdTeamForm.value.pdteam_id)[0];
|
||||||
//console.log(data.pdteam_city_id);
|
// console.log('cityID',data.pdteam_city_id);
|
||||||
|
// console.log('Event value',$event.source.value);
|
||||||
|
|
||||||
this._pdTeamService.deletePDteamCity($event.source.value).subscribe(data=>{
|
this._pdTeamService.deletePDteamCity($event.source.value).subscribe(data=>{
|
||||||
if (dataresult.dataStatus == true) {//alert('Deleted');
|
// console.log('Response Data',data);
|
||||||
let index = this.selectedCityDatas.indexOf(cityName.name);
|
// if (dataresult.dataStatus == true) {
|
||||||
this.selectedCityDatas.splice(index,1);
|
// alert('Deleted');
|
||||||
//this._PdTeamListComponent.changeListView();
|
// // let index = this.selectedCityDatas.indexOf(cityName.name);
|
||||||
}
|
// // this.selectedCityDatas.splice(index,1);
|
||||||
|
// }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, error => this.errorMessage = <any> error);
|
}, error => this.errorMessage = <any> error);
|
||||||
@ -378,17 +422,17 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
dataresult => {
|
dataresult => {
|
||||||
if (dataresult.dataStatus == true) {
|
if (dataresult.dataStatus == true) {
|
||||||
data = dataresult.records;
|
data = dataresult.records;
|
||||||
console.log('data',data);
|
//console.log('data',data);
|
||||||
data = data.filter(pdteamproduct=>pdteamproduct.fk_product_id == $event.source.value && pdteamproduct.isactive == 1);
|
data = data.filter(pdteamproduct=>pdteamproduct.fk_product_id == $event.source.value && pdteamproduct.isactive == 1);
|
||||||
data = data.filter(pdteamcity=>pdteamcity.fk_pdteam_id == this._pdTeamForm.value.pdteam_id)[0];
|
data = data.filter(pdteamcity=>pdteamcity.fk_pdteam_id == this._pdTeamForm.value.pdteam_id)[0];
|
||||||
console.log(data.pdteam_city_id);
|
//console.log(data.pdteam_city_id);
|
||||||
let ActiveDatas = { 'pdteam_product_id':data.pdteam_product_id,'isactive': '0'} ;
|
let ActiveDatas = { 'pdteam_product_id':data.pdteam_product_id,'isactive': '0'} ;
|
||||||
this._pdTeamService.editPdTeamchildDetails(ActiveDatas,'PDTEAMPRODUCT')
|
this._pdTeamService.editPdTeamchildDetails(ActiveDatas,'PDTEAMPRODUCT')
|
||||||
.subscribe(dataresult=>{
|
.subscribe(dataresult=>{
|
||||||
if (dataresult.dataStatus == true){
|
if (dataresult.dataStatus == true){
|
||||||
//alert('InActive Changes Done in product');
|
// alert('InActive Changes Done in product');
|
||||||
let index = this.selectedProductDatas.indexOf(productName.name);
|
// let index = this.selectedProductDatas.indexOf(productName.name);
|
||||||
this.selectedProductDatas.splice(index,1);
|
// this.selectedProductDatas.splice(index,1);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
//alert("Sorry Try Again !");
|
//alert("Sorry Try Again !");
|
||||||
@ -411,11 +455,13 @@ export class PdTeamEditComponent implements OnInit {
|
|||||||
dataresult=>{
|
dataresult=>{
|
||||||
if (dataresult.dataStatus == true){
|
if (dataresult.dataStatus == true){
|
||||||
Swal("Data Edited Successfully");
|
Swal("Data Edited Successfully");
|
||||||
// this.notifier.notify('success', 'Record Edited Successfully.!');
|
|
||||||
|
this._router.navigate(['/setting/pdteam/pdteamlist']);
|
||||||
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
Swal("SomeThing Wents Wrong Try Again !");
|
Swal("SomeThing Wents Wrong Try Again !");
|
||||||
// this.notifier.notify('warning', 'SomeThing Wents Wrong Try Again !');
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<div *ngIf="listView">
|
<!-- <div *ngIf="listView"> -->
|
||||||
<mat-card>
|
<mat-card>
|
||||||
<div fxLayout="row" fxLayoutAlign="start center" class="mb-1">
|
<div fxLayout="row" fxLayoutAlign="start center" class="mb-1">
|
||||||
<div class="ml-xs mr-xs" style="width: 30%;">
|
<div class="ml-xs mr-xs" style="width: 30%;">
|
||||||
@ -57,7 +57,7 @@
|
|||||||
<mat-header-cell *matHeaderCellDef> Action </mat-header-cell>
|
<mat-header-cell *matHeaderCellDef> Action </mat-header-cell>
|
||||||
<mat-cell *matCellDef="let row">
|
<mat-cell *matCellDef="let row">
|
||||||
|
|
||||||
<button mat-icon-button [color]="color" class="hover-icon" matTooltip="Edit" matTooltipPosition="above" (click)="editPdTeam(row.pdteam_id)"><mat-icon>edit</mat-icon></button>
|
<button mat-icon-button [color]="color" class="hover-icon" matTooltip="Edit" matTooltipPosition="above" (click)="toEditPdTeam(row.pdteam_id)"><mat-icon>edit</mat-icon></button>
|
||||||
|
|
||||||
</mat-cell>
|
</mat-cell>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
@ -71,8 +71,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
</div>
|
<!-- </div> -->
|
||||||
<!--<div *ngIf="!listView">
|
<!--<div *ngIf="!listView">
|
||||||
<app-pd-team-edit [childMessage]="parentMessage"></app-pd-team-edit>
|
<app-pd-team-edit [childMessage]="parentMessage"></app-pd-team-edit>
|
||||||
</div>-->
|
</div>-->
|
||||||
<notifier-container></notifier-container>
|
|
||||||
@ -9,8 +9,7 @@ MatTableDataSource } from '@angular/material';
|
|||||||
import { MastersService } from '../../service/masters/masters.service';
|
import { MastersService } from '../../service/masters/masters.service';
|
||||||
import { PdTeamService } from '../../service/masters/pd-team.service';
|
import { PdTeamService } from '../../service/masters/pd-team.service';
|
||||||
|
|
||||||
import { NotifierService } from 'angular-notifier';
|
import { Router,ActivatedRoute } from '@angular/router';
|
||||||
import { Router } from '@angular/router';
|
|
||||||
/**sweet alert */
|
/**sweet alert */
|
||||||
import Swal from 'sweetalert2';
|
import Swal from 'sweetalert2';
|
||||||
|
|
||||||
@ -38,11 +37,9 @@ export class PdTeamListComponent implements OnInit {
|
|||||||
userData = null;
|
userData = null;
|
||||||
noRecordFound: boolean = false;
|
noRecordFound: boolean = false;
|
||||||
|
|
||||||
private notifier: NotifierService;
|
|
||||||
public listView: any = true;
|
|
||||||
public dataLength: number;
|
public dataLength: number;
|
||||||
public dataSource = new MatTableDataSource();
|
public dataSource = new MatTableDataSource();
|
||||||
public parentMessage: any = [];
|
|
||||||
|
|
||||||
displayedColumns = ['serialno','team_name','lender_name','actions','isactive'];
|
displayedColumns = ['serialno','team_name','lender_name','actions','isactive'];
|
||||||
|
|
||||||
@ -50,36 +47,27 @@ export class PdTeamListComponent implements OnInit {
|
|||||||
@ViewChild(MatSort) sort: MatSort;
|
@ViewChild(MatSort) sort: MatSort;
|
||||||
|
|
||||||
|
|
||||||
constructor(notifier: NotifierService,
|
constructor(
|
||||||
private router: Router,
|
private router: Router,private route: ActivatedRoute,
|
||||||
private _MasterService: MastersService,
|
private _MasterService: MastersService,
|
||||||
private _PdTeamService: PdTeamService) {
|
private _PdTeamService: PdTeamService) {
|
||||||
this.getPdTeam();
|
this.getPdTeam();
|
||||||
this.notifier = notifier;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() { this.getPdTeam(); }
|
ngOnInit() { this.getPdTeam(); }
|
||||||
|
|
||||||
/** To edit data */
|
/** To edit data */
|
||||||
editPdTeam(detail){
|
toEditPdTeam(pdteam_id){
|
||||||
|
//this.router.navigate(['/setting/pdteam/editpdteam',pdteam_id]);
|
||||||
this._PdTeamService.getAllPDTeamWithPDTeamID(detail).subscribe(
|
console.log(btoa(pdteam_id));
|
||||||
dataresult => {
|
this.router.navigate(['/setting/pdteam/editpdteam',btoa(pdteam_id)]);
|
||||||
this.parentMessage = dataresult;
|
|
||||||
this.parentMessage = this.parentMessage.records;
|
|
||||||
this.listView = false;
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/**To Manage Team */
|
|
||||||
managepdteam(){
|
|
||||||
this.router.navigate(['/setting/pdteam/pdteammanage']);
|
|
||||||
}
|
|
||||||
changeListView(){
|
|
||||||
this.getPdTeam();
|
|
||||||
this.listView = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**To Manage Team */
|
||||||
|
managepdteam(){
|
||||||
|
this.router.navigate(['/setting/pdteam/pdteammanage']);
|
||||||
|
}
|
||||||
|
|
||||||
/** To get data for listing */
|
/** To get data for listing */
|
||||||
getPdTeam() {
|
getPdTeam() {
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ export const PdTeamRoutes: Routes = [{
|
|||||||
path: 'addpdteam',
|
path: 'addpdteam',
|
||||||
component: PdTeamAddComponent
|
component: PdTeamAddComponent
|
||||||
},{
|
},{
|
||||||
path:'editpdteam',
|
path:'editpdteam/:id',
|
||||||
component:PdTeamEditComponent
|
component:PdTeamEditComponent
|
||||||
},{
|
},{
|
||||||
path:'pdteammanage',
|
path:'pdteammanage',
|
||||||
|
|||||||
@ -29,6 +29,7 @@ export class MastersService {
|
|||||||
|
|
||||||
|
|
||||||
// private apiUrl = "http://ssa.sineedge.com/sparqapi/api/";
|
// private apiUrl = "http://ssa.sineedge.com/sparqapi/api/";
|
||||||
|
private apiUrll = 'http://localhost/sparqapi/api/';
|
||||||
private apiUrl = environment.apiEndpoint;
|
private apiUrl = environment.apiEndpoint;
|
||||||
|
|
||||||
|
|
||||||
@ -260,18 +261,18 @@ editPDAllocationType(Records: any,MasterName:string): Observable<any> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
getAllPDNotification(): Observable<any> {
|
// getAllPDNotification(): Observable<any> {
|
||||||
|
|
||||||
return this._http.get(this.apiUrl+'getPDNotificationsList')
|
// return this._http.get(this.apiUrl+'getPDNotificationsList')
|
||||||
.pipe(
|
// .pipe(
|
||||||
catchError(this.handleError('role', []))
|
// catchError(this.handleError('role', []))
|
||||||
)
|
// )
|
||||||
// return this._http.get(this.apiUrl+'getListOfCompany')
|
// // return this._http.get(this.apiUrl+'getListOfCompany')
|
||||||
// .pipe(
|
// // .pipe(
|
||||||
// catchError(this.handleError('role', []))
|
// // catchError(this.handleError('role', []))
|
||||||
// )
|
// // )
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -302,7 +303,7 @@ editPDAllocationType(Records: any,MasterName:string): Observable<any> {
|
|||||||
|
|
||||||
item.fk_updatedby = this._aws.getlocale();//to get user id for who is update the record
|
item.fk_updatedby = this._aws.getlocale();//to get user id for who is update the record
|
||||||
item.updatedon = currentdate;//to get Current date and Time for when the Record is updated
|
item.updatedon = currentdate;//to get Current date and Time for when the Record is updated
|
||||||
delete item.pd_status_name; // to delete the pd_status_name
|
//delete item.pd_status_name; // to delete the pd_status_name
|
||||||
delete item.serialno;
|
delete item.serialno;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -55,12 +55,12 @@
|
|||||||
<div fxLayout="row" fxLayoutAlign="start center" class="mb-2">
|
<div fxLayout="row" fxLayoutAlign="start center" class="mb-2">
|
||||||
<mat-form-field dividerColor="primary" class="ml-xs mr-xs">
|
<mat-form-field dividerColor="primary" class="ml-xs mr-xs">
|
||||||
<input matInput placeholder="Email Address" [formControl]="regForm.controls['email']" type="email" required>
|
<input matInput placeholder="Email Address" [formControl]="regForm.controls['email']" type="email" required>
|
||||||
<mat-error *ngIf="regForm.controls['email'].hasError('required') && regForm.controls['email'].touched" class="mat-text-warn">email Address Required.</mat-error>
|
<mat-error *ngIf="regForm.controls['email'].hasError('required') && regForm.controls['email'].touched" class="mat-text-warn">Email Address Required.</mat-error>
|
||||||
<mat-error *ngIf="regForm.controls['email'].errors?.email && regForm.controls['email'].touched" class="mat-text-warn">Invalid Email Address.</mat-error>
|
<mat-error *ngIf="regForm.controls['email'].errors?.email && regForm.controls['email'].touched" class="mat-text-warn">Invalid Email Address.</mat-error>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-form-field dividerColor="primary" class="ml-xs mr-xs">
|
<mat-form-field dividerColor="primary" class="ml-xs mr-xs">
|
||||||
<input matInput placeholder="Phone Number" [formControl]="regForm.controls['phone']" type="number" required>
|
<input matInput placeholder="Phone Number" [formControl]="regForm.controls['phone']" required (keypress)="keyPress($event)">
|
||||||
<mat-error *ngIf="regForm.controls['phone'].hasError('required') && regForm.controls['phone'].touched" class="mat-text-warn">Phone Number Required.</mat-error>
|
<mat-error *ngIf="regForm.controls['phone'].hasError('required') && regForm.controls['phone'].touched" class="mat-text-warn">Phone Number Required.</mat-error>
|
||||||
<mat-error *ngIf="regForm.controls['phone'].errors?.phone && regForm.controls['phone'].touched" class="mat-text-warn">Invalid Phone Number.</mat-error>
|
<mat-error *ngIf="regForm.controls['phone'].errors?.phone && regForm.controls['phone'].touched" class="mat-text-warn">Invalid Phone Number.</mat-error>
|
||||||
|
|
||||||
|
|||||||
@ -430,5 +430,14 @@ this.loader = true;
|
|||||||
delete this.users.localUserId;
|
delete this.users.localUserId;
|
||||||
this.router.navigate(['setting/users/userlist']);
|
this.router.navigate(['setting/users/userlist']);
|
||||||
}
|
}
|
||||||
|
/** On Key Press Event For Numbers */
|
||||||
|
keyPress(event: any) {
|
||||||
|
const pattern = /[0-9]/;
|
||||||
|
|
||||||
|
let inputChar = String.fromCharCode(event.charCode);
|
||||||
|
if (event.keyCode != 8 && !pattern.test(inputChar)) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user