payment mode

This commit is contained in:
Surendiran 2023-05-31 18:26:42 +05:30
parent 2edad65476
commit 34146c7a71
7 changed files with 48 additions and 25 deletions

View File

@ -61,6 +61,15 @@
<th mat-header-cell *matHeaderCellDef class="font-color"> Client Address </th> <th mat-header-cell *matHeaderCellDef class="font-color"> Client Address </th>
<td mat-cell *matCellDef="let row" class="element-spc"> {{row.customer[0].address_1}} {{row.customer[0].city}} {{row.customer[0].state}}</td> <td mat-cell *matCellDef="let row" class="element-spc"> {{row.customer[0].address_1}} {{row.customer[0].city}} {{row.customer[0].state}}</td>
</ng-container> --> </ng-container> -->
<ng-container matColumnDef="paymentStatus">
<th mat-header-cell *matHeaderCellDef class="font-color mat-mob"> Payment Status </th>
<td mat-cell *matCellDef="let row" class="element-spc" [ngClass]="{'positive' :row.paymentStatus == 1,'cancelStatus' : row.paymentStatus == 0}"> <b>{{row.paymentStatus == 1 ? 'Paid' : 'Not Paid'}}</b></td>
</ng-container>
<ng-container matColumnDef="paymentMode">
<th mat-header-cell *matHeaderCellDef class="font-color mat-mob"> Payment Mode </th>
<td mat-cell *matCellDef="let row" class="element-spc"> <b>{{row.paymentMode == '' ? '-' : row.paymentMode}}</b></td>
</ng-container>
<ng-container matColumnDef="status"> <ng-container matColumnDef="status">
<th mat-header-cell *matHeaderCellDef class="font-color mat-mob"> Status </th> <th mat-header-cell *matHeaderCellDef class="font-color mat-mob"> Status </th>

View File

@ -34,7 +34,7 @@ export interface UsersData {
export class AppoinmentsListComponent implements OnInit { export class AppoinmentsListComponent implements OnInit {
push: any; push: any;
displayedColumns: string[] = ['id','ClientName','datetime','phoneNo','email','status', 'action']; displayedColumns: string[] = ['id','ClientName','datetime','phoneNo','email','paymentStatus','paymentMode','status', 'action'];
public appointmentListLength: number; public appointmentListLength: number;
@ViewChild(MatPaginator) paginator: MatPaginator; @ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort; @ViewChild(MatSort) sort: MatSort;

View File

@ -91,7 +91,7 @@
<span *ngFor="let slot1 of slots;let j=index"> <span *ngFor="let slot1 of slots;let j=index">
<!-- <button *ngFor="let slot of slot1;let i=index" mat-raised-button mat-button-sm class="mr-1 mt-1 hoverButton" [ngClass]="{'primary':slotIndex != i && checkSlotDur(slot,i)==1,'clickedSlot':slotIndex == i && checkSlotDur(slot,i)==1 }" (click)="toggleActive($event,slot,i)" ><span *ngIf="checkSlotDur(slot,i)==1">{{slot | date:'shortTime'}}</span></button> --> <!-- <button *ngFor="let slot of slot1;let i=index" mat-raised-button mat-button-sm class="mr-1 mt-1 hoverButton" [ngClass]="{'primary':slotIndex != i && checkSlotDur(slot,i)==1,'clickedSlot':slotIndex == i && checkSlotDur(slot,i)==1 }" (click)="toggleActive($event,slot,i)" ><span *ngIf="checkSlotDur(slot,i)==1">{{slot | date:'shortTime'}}</span></button> -->
<a *ngFor="let slot of slot1;let i=index"> <a *ngFor="let slot of slot1;let i=index">
<button *ngIf="checkSlotDur(slot,i,slot1)==1" type="button" mat-raised-button mat-button-sm class="mr-1 mt-1 hoverButton primary" [ngClass]="{'primary':slotIndex != slot ,'clickedSlot':slotIndex == slot && slots_select ==slot1 && slotIndex_group == j}" (click)="toggleActive($event,slot,i,slot1,j)" ><span >{{slot| date:'shortTime' }}</span></button> <button *ngIf="checkSlotDur(slot,i,slot1)==1" type="button" mat-raised-button mat-button-sm class="mr-1 mt-1 hoverButton primary" [ngClass]="{'primary':slotIndex != slot ,'clickedSlot':slotIndex == slot }" (click)="toggleActive($event,slot,i,slot1,j)" ><span >{{slot| date:'shortTime' }}</span></button>
</a> </a>
</span> </span>
<!-- <button type="button" *ngFor="let slot of slots;let i=index" mat-raised-button mat-button-sm class="mr-1 mt-1 hoverButton" [ngClass]="{'primary':slotIndex != i && checkSlotDur(slot,i)==1,'clickedSlot':slotIndex == i && checkSlotDur(slot,i)==1 }" (click)="toggleActive($event,slot,i)"><span *ngIf="checkSlotDur(slot,i)==1">{{slot | date:'shortTime'}}</span></button> --> <!-- <button type="button" *ngFor="let slot of slots;let i=index" mat-raised-button mat-button-sm class="mr-1 mt-1 hoverButton" [ngClass]="{'primary':slotIndex != i && checkSlotDur(slot,i)==1,'clickedSlot':slotIndex == i && checkSlotDur(slot,i)==1 }" (click)="toggleActive($event,slot,i)"><span *ngIf="checkSlotDur(slot,i)==1">{{slot | date:'shortTime'}}</span></button> -->
@ -150,9 +150,9 @@
</mat-radio-group> </mat-radio-group>
</div> </div>
<mat-form-field appearance="outline" class="mat-pane" formControlName="paymentMode" *ngIf="form.get('paymentStatus').value == 1"> <mat-form-field appearance="outline" class="mat-pane" *ngIf="form.get('paymentStatus').value == 1">
<mat-label>Payment Mode</mat-label> <mat-label>Payment Mode</mat-label>
<mat-select placeholder="Select Payment" required> <mat-select placeholder="Select Payment Mode" formControlName="paymentMode" required>
<mat-option value="Cash">Cash</mat-option> <mat-option value="Cash">Cash</mat-option>
<mat-option value="UPI">UPI</mat-option> <mat-option value="UPI">UPI</mat-option>
<mat-option value="Card">Card</mat-option> <mat-option value="Card">Card</mat-option>

View File

@ -166,7 +166,7 @@ $tem-color : #217e69;
} }
.cardDesign{ .cardDesign{
border: 1px solid #e8edef; border: 1px solid #e8edef;
width: 89%; width: 85%;
background-color: #227f6e21; background-color: #227f6e21;
box-shadow: 0 2px 0 #00000008 box-shadow: 0 2px 0 #00000008
} }

View File

@ -111,7 +111,6 @@ export class DialogBoxComponent implements OnInit {
practiId: any; practiId: any;
isSubmitting: boolean = false; isSubmitting: boolean = false;
selectedRadioValue: any; selectedRadioValue: any;
paymentMode: boolean = false;
slotIndex_group:any=[]; slotIndex_group:any=[];
slotslength:any=[]; slotslength:any=[];
constructor(private notifierService: NotifierService,private router: Router,private formBuilder: FormBuilder, public _cus:CustomersService, constructor(private notifierService: NotifierService,private router: Router,private formBuilder: FormBuilder, public _cus:CustomersService,
@ -435,6 +434,11 @@ export class DialogBoxComponent implements OnInit {
console.log(this.form.value,this.slotsResult,this.days[this.clicks]); console.log(this.form.value,this.slotsResult,this.days[this.clicks]);
// if(this.slotsResult == undefined){ // if(this.slotsResult == undefined){
// } // }
if(this.form.value.paymentStatus == 0){
console.log('paymentmode')
this.form.controls['paymentMode'].clearValidators();
this.form.controls['paymentMode'].updateValueAndValidity();
}
if(this.slotsResult.length == 0){ if(this.slotsResult.length == 0){
console.log(this.slotsResult.length == 0) console.log(this.slotsResult.length == 0)
this.notifierService.notify('warning', 'Please Select Slots'); this.notifierService.notify('warning', 'Please Select Slots');
@ -464,7 +468,7 @@ export class DialogBoxComponent implements OnInit {
"busId":localStorage.getItem('busId') "busId":localStorage.getItem('busId')
} }
this.end_user.CreatecusServicesMapDetails(paramsmap).subscribe(res => { this.end_user.CreatecusServicesMapDetails(paramsmap).subscribe(res => {
if (res.status == 200) { if (res.status == 200) {
let serviceMap = res['data'][0].id let serviceMap = res['data'][0].id
let paramsData:any= { let paramsData:any= {
"busId": localStorage.getItem('busId'), "busId": localStorage.getItem('busId'),
@ -472,8 +476,10 @@ export class DialogBoxComponent implements OnInit {
"appoinmentDate": this.days[this.clicks], "appoinmentDate": this.days[this.clicks],
"appoinmentTime": this.form.value.appoinmentTime, "appoinmentTime": this.form.value.appoinmentTime,
"serviceMap":serviceMap, "serviceMap":serviceMap,
"appoinmentSlots": JSON.stringify(this.slotsResult) "appoinmentSlots": JSON.stringify(this.slotsResult),
//"servicemap" :this.bookedAppointment_servicemap //"servicemap" :this.bookedAppointment_servicemap
"paymentStatus": this.form.value.paymentStatus,
"paymentMode": this.form.value.paymentMode
} }
if(this.local_data.hasOwnProperty('id')){ if(this.local_data.hasOwnProperty('id')){
paramsData.id =this.local_data.id paramsData.id =this.local_data.id
@ -603,13 +609,11 @@ console.log(params)
console.log(res) console.log(res)
let data = res['data']; let data = res['data'];
this.slots = data this.slots = data
let len =[]; let len =[];
this.slots.forEach(element => { this.slots.forEach(element => {
len.push( element.length) len.push( element.length)
}) })
console.log(len) console.log(len)
this.slotslength = len.reduce((a, b) => a + b, 0) this.slotslength = len.reduce((a, b) => a + b, 0)
} }
}) })

View File

@ -34,9 +34,9 @@
<div fxLayout="row wrap"> <div fxLayout="row wrap">
<div fxFlex.gt-sm="50%" fxLayoutAlign="center center" fxFlex="100" class="m-gap p-gap mb-0 grad-green icon-tp"> <div fxFlex.gt-sm="50%" fxLayoutAlign="center center" fxFlex="100" class="m-gap p-gap mb-0 grad-green icon-tp">
<div class="text-center"> <div class="text-center">
<i class="fa fa-twitter fa-3x"></i> <i class="fa fa fa-money fa-3x align-self-center"></i>
<div class="d-inline-block"> <div class="d-inline-block">
<h5>Twitter</h5> <h5>Earnings</h5>
</div> </div>
</div> </div>
</div> </div>
@ -44,13 +44,13 @@
<div class="card-block text-center"> <div class="card-block text-center">
<div class="row"> <div class="row">
<div> <div>
<h2>76</h2> <h2>{{count.total_earning_count == null ? 0 : count.total_earning_count}}</h2>
<p class="text-muted">Online</p> <p class="text-muted">Total</p>
</div> </div>
<hr> <hr>
<div> <div>
<h2>19</h2> <h2>{{count.monthly_earning_count == null ? 0 : count.monthly_earning_count}}</h2>
<p class="text-muted">Comment</p> <p class="text-muted">Monthly</p>
</div> </div>
</div> </div>
</div> </div>
@ -172,7 +172,7 @@
<div fxFlex.gt-sm="50" fxFlex.gt-xs="50" fxFlex="50" class="m-gap p-gap"> <div fxFlex.gt-sm="50" fxFlex.gt-xs="50" fxFlex="50" class="m-gap p-gap">
<mat-card> <mat-card>
<mat-card-title fxLayout="row" fxLayoutAlign="start center"> <mat-card-title fxLayout="row" fxLayoutAlign="start center">
Revenue &nbsp; Practitioner &nbsp;
<span fxFlex></span> <span fxFlex></span>
</mat-card-title> </mat-card-title>
<hr> <hr>

View File

@ -34,18 +34,18 @@ export class DashboardComponent {
} }
}; };
pieChartData: number[] = [300, 500, 100]; pieChartData: number[] = [];
doughnutOptions: any = Object.assign({ doughnutOptions: any = Object.assign({
elements: { elements: {
arc: { arc: {
borderWidth: 5 borderWidth: 3
} }
} }
}, this.globalChartOptions); }, this.globalChartOptions);
doughnutChartColors: any[] = [{ doughnutChartColors: any[] = [{
backgroundColor: ['#673ab7', '#f44336', '#009688 ', '#2196f3'] backgroundColor: ['#f44336', '#009688 ', '#2196f3']
}]; }];
pieChartLabels: string[] = ['Download Sales', 'In-Store Sales', 'Mail Sales']; pieChartLabels: string[] = ['Customer', 'Services', 'Practitioner'];
pieChartType = 'pie'; pieChartType = 'pie';
// Bar // Bar
@ -215,15 +215,25 @@ messages: Object[] = [{
} }
ngOnInit() { ngOnInit() {
let buiId = {'busId':localStorage.getItem('busId')} let user_role = localStorage.getItem('user_role')
this.getCount(buiId) let param
if(user_role == 'PRACTITIONER'){
param = {'user_id':localStorage.getItem('user_id'),'busId':localStorage.getItem('busId')}
}else{
param = {'busId':localStorage.getItem('busId')}
}
this.getCount(param)
} }
getCount(param){ getCount(param){
console.log(param)
this._dash.getCountDetails(param).subscribe(res => { this._dash.getCountDetails(param).subscribe(res => {
if (res.status == 200) { if (res.status == 200) {
console.log(res) console.log(res)
this.count = res['data'] this.count = res['data']
this.pieChartData.push(this.count.customer_count, this.count.practitioner_count, this.count.service_count)
} }
}) })
} }