Merge branch 'master' of bitbucket.org:venbainformationtechnology/appointments_frontend

This commit is contained in:
Smart 2023-04-25 16:11:11 +05:30
commit dbb84ad78b
14 changed files with 12279 additions and 8067 deletions

20238
ng-seed/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -56,7 +56,7 @@
<ng-container matColumnDef="address">
<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 matColumnDef="status">

View File

@ -111,7 +111,7 @@
<span class="staff-title">
Profile
</span>
<button mat-icon-button matTooltip="Edit" *ngIf="isEditable == false" (click)="edit_table(isEditable)" fileName="customers"><mat-icon >edit</mat-icon></button>
<button mat-icon-button matTooltip="Edit" style="padding: 4px 20px !;" *ngIf="isEditable == false" (click)="edit_table(isEditable)" fileName="customers"><mat-icon >edit</mat-icon></button>
<!-- <button mat-icon-button *ngIf="table[0].statement == statement_item && table[0].statement != 'Cash Flow Statement'" color="accent" matTooltip="Edit" matTooltipPosition="right" (click)="editandcancel(true,table[0].section)" ><mat-icon>edit</mat-icon></button> -->
<button mat-icon-button color="accent" *ngIf="isEditable == true" (click)="edit_table(isEditable)" matTooltip="Cancel" matTooltipPosition="right" ><mat-icon>cancel_presentation</mat-icon></button>
<button mat-icon-button color="accent" *ngIf="isEditable == true" (click)="save()" matTooltip="Submit" matTooltipPosition="right" ><mat-icon>done</mat-icon></button>

View File

@ -88,7 +88,7 @@ h5{
color: #efefef;
border: none;
text-align: center;
padding: 10px 20px;
padding: 4px 20px;
border-radius: 25px;
// margin-left: 4rem;
margin-top: 1rem;

View File

@ -266,12 +266,12 @@ unavailability(action,obj) {
if(this.userRole == 'PRACTITIONER'){
this.endUserURL = this.end_User_Url+'practitioner/'+this.usersList.randStr+"/details"
} else if (this.userRole == 'BADMIN'){
} else if (this.userRole == 'BADMIN' || this.userRole == 'FRONTDESK' ){
this.endUserURL = this.end_User_Url+'business/'+this.usersList['BusinessDetails'][0].randStr
}
this.workinghours = JSON.parse(this.practitionerdetails.workingHours)
// this.skills= JSON.parse(this.practitionerdetails.skills)
this.skills= JSON.parse(this.practitionerdetails.skills)
this.id=this.practitionerdetails.id
this.userName = this.usersList.userName
this.gender=this.practitionerdetails.gender
@ -302,6 +302,13 @@ unavailability(action,obj) {
console.log(res)
if (res.status == 200) {
this.servicesList = res.data;
let result = this.servicesList.filter((obj, index, self) =>
index === self.findIndex((t) => (
t.serviceId === obj.serviceId
))
);
this.servicesList = result
}
} );
}
@ -312,6 +319,7 @@ unavailability(action,obj) {
this._api.getServicesListDetails(id,busId).subscribe(res => {
if (res.status == 200) {
this.servicesList_data = res.data;
console.log(this.servicesList_data)
res['data'].forEach(element => {
// tmp.push(element.service)
element.service.forEach(e => {
@ -320,6 +328,18 @@ unavailability(action,obj) {
this.assignService.push(e.servicesName)
});
});
// this.servicesList_array = this.servicesList_array.filter((obj, index, self) =>
// index === self.findIndex((t) => (
// t.serviceId === obj.serviceId
// ))
// );
// let result = this.assignService.filter((obj, index, self) =>
// index === self.findIndex((t) => (
// t.serviceId === obj.serviceId
// ))
// );
// this.assignService = result
console.log(this.servicesList_array)
}
this.getAssignedList(this.usersList.busId)
@ -447,18 +467,23 @@ unavailability(action,obj) {
let param: any = { "exp": this.exp,
// "id": this.id,
"qualification": this.qualification,
"fees": "800",
// "fees": "800",
"languages": this.languages,
"dob": this.dob,
"designtion": this.qualification,
"gender": this.gender,
"workingHours": JSON.stringify( tmp),
"description": this.description,
// "skills": JSON.stringify(this.skills),
"skills": JSON.stringify(this.skills),
"caption": this.caption,
"userName": this.userName,
"practitionerId":userid
}
if(this.userRole == 'BADMIN'){
delete param.skills
}
if(this.usersList['practitionerInfos'].length>0) {
param.id = this.id
}
@ -491,5 +516,9 @@ unavailability(action,obj) {
selBox.select();
document.execCommand('copy');
document.body.removeChild(selBox);
setTimeout(() => {
this.copiedKey = 0
}, 5000);
}
}

View File

@ -15,7 +15,7 @@
<div class="main-content" fxLayout="row" fxLayoutAlign="center start">
<div fxFlex.gt-sm="90" fxFlex.gt-xs="95" fxFlex="100">
<div class="messages-list material fullscreen">
<!-- <mat-accordion> -->
<mat-accordion *ngIf="!recordStatus">
<!-- <mat-expansion-panel>
<mat-expansion-panel-header > -->
<!-- <div class="example-container mat-elevation-z8 "> -->
@ -121,7 +121,7 @@
<!-- </div> -->
<!-- </mat-expansion-panel-header>
</mat-expansion-panel> -->
<!-- </mat-accordion> -->
</mat-accordion>
<mat-card-content *ngIf="recordStatus">
<h5 align="center" style="font-weight: bold;

View File

@ -19,7 +19,7 @@
<div class="main-content" fxLayout="row" fxLayoutAlign="center start">
<div fxFlex.gt-sm="90" fxFlex.gt-xs="95" fxFlex="100">
<div class="messages-list material fullscreen">
<mat-accordion>
<mat-accordion *ngIf="!recordStatus">
<!-- <mat-expansion-panel>
<mat-expansion-panel-header > -->
<!-- <div class="example-container mat-elevation-z8 "> -->
@ -28,7 +28,7 @@
<ng-container matColumnDef="serviceId">
<th mat-header-cell *matHeaderCellDef class="font-color mat-no"> S.No</th>
<td mat-cell *matCellDef="let row; let i = index;" class="element-spc"> {{row.serviceId}} </td>
<td mat-cell *matCellDef="let row; let i = index;" class="element-spc"> {{row.index+1}} </td>
</ng-container>
<ng-container matColumnDef="servicesName">

View File

@ -104,6 +104,17 @@ export class ServiceListComponent implements OnInit {
this.servicesList.sort((a: any, b: any) => {
return b.serviceId - a.serviceId;
});
this.servicesList.forEach((element, index) => {
element.index = index
});
let result = this.servicesList.filter((obj, index, self) =>
index === self.findIndex((t) => (
t.serviceId === obj.serviceId
))
);
this.servicesList = result
this.servicesListSource['data'] = this.servicesList;
console.log(this.servicesListSource)
this.recordStatus=false;
@ -111,6 +122,7 @@ export class ServiceListComponent implements OnInit {
else{
this.isLoading = false;
this.servicesList=[];
this.servicesListSource['data'] = this.servicesList;
this.servicesListLength= null;
this.recordStatus=true;
}

View File

@ -45,6 +45,9 @@
</div> -->
<mat-toolbar>
<!-- <button mat-mini-fab class="fabBack" href="javascript:history.back()">
<mat-icon>arrow_back</mat-icon>
</button> -->
<span style="text-align: center;">Appointment</span>
<h3 style="margin-left:35% ;">{{busName}}</h3>
</mat-toolbar>
@ -55,7 +58,8 @@
<mat-card class="card-mat">
<div fxLayout="row wrap mt-2">
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap">
<h4> Slot Availability</h4>
<h4>Pick Appointment Time For <span style="color: #cc7424;border-bottom-color: #cc7424;">{{check(days) | date:'longDate'}} </span></h4>
</div>
</div>
<div fxLayout="row wrap" style="height:100%;">
@ -65,9 +69,23 @@
<mat-card class="navStyle" fxLayoutAlign="center center"> <button mat-raised-button (click)="goToSlotBooking2()" style="background-color: #7fffd400;box-shadow: none;color:#fff" ><mat-icon style="cursor: pointer;">keyboard_arrow_left</mat-icon></button><span style="width: 150px;text-align: center;">{{check(days) | date:'longDate'}}</span><button mat-raised-button (click)="goToSlotBooking()" *ngIf="clicks < 5" style="background-color: #7fffd400;box-shadow: none;color:#fff" ><mat-icon style="cursor: pointer;">keyboard_arrow_right</mat-icon></button></mat-card>
</div>
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" class="p-gap" style="text-align: center;">
<ng-scrollbar class="scrollHV">
<div *ngIf="slots.length == 0">
<div fxLayout="row" class="flexCard">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" fxLayoutAlign="center center">
<div><img src="assets/images/service.png" width="300" height="300"></div>
</div>
</div>
<div fxLayout="row" class="flexCard">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" fxLayoutAlign="center center">
<h3 class="noAssignedService">No Slots Available</h3>
</div>
</div>
</div>
<ng-scrollbar class="scrollHV" >
<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,'clickedSlot':slotIndex == i } " (click)="toggleActive($event,slot,i)" >{{slot | date:'shortTime'}}</button>
</ng-scrollbar>
</div>
</div>
<!-- <div >
@ -178,7 +196,7 @@
<p class="param"><img src="assets/images/person.svg" alt="Avatar" class="img"> Practitioner </p>
<span class="span-text">Dr. {{doctor}}</span>
<p class="param"><img src="assets/images/information.svg" alt="Avatar" class="img"> Service </p>
<span class="span-text"> {{servicesName.servicesName}} ({{serviceMapdetails[0].duration.length>0 ? serviceMapdetails[0].duration[0].durationNew:serviceMapdetails[0].service[0].duration
<span class="span-text" *ngIf="serviceMapdetails.length>0"> {{servicesName.servicesName}} ({{serviceMapdetails[0].duration.length>0 ? serviceMapdetails[0].duration[0].durationNew:serviceMapdetails[0].service[0].duration
}} Mins)</span>
<!-- <p class="text-color d-flex align-items-start" >
<img src="assets/images/information.svg" alt="Avatar" class="img" />
@ -192,6 +210,7 @@
<p class="param"><img src="assets/images/Location.svg" alt="Avatar" class="img">Amount : </p>
<span class="span-text"><span class="ex" style="font-size: 17px;padding-bottom: 10px;line-height: 17px;">&#x20b9;</span> {{ serviceMapdetails[0].duration.length>0 ? serviceMapdetails[0].duration[0].fees:serviceMapdetails[0].service[0].fees}}</span>
<div>
<hr>
<button mat-raised-button mat-button-sm class="mr-1 mb-1 mt-1 btn-red" [ngStyle]="{'background':slot_array.length ==0 ? '#ccc':'#4caf50' }" [disabled]="slot_array.length ==0" (click)="submit()">PROCEED</button>
</div>
</div>

View File

@ -164,7 +164,8 @@ margin-left: -3rem!important;
}
h4{
color: #227f6e;
margin: 0;
margin: 5px;
}
.scrollHV {
height: calc(100vh - 338px);

View File

@ -42,7 +42,7 @@ export class SlotBookingDetailsComponent implements OnInit {
];
workingHours: any;
getHours: any;
slots: any[];
slots: any=[];
public Currentdate: Date;
slotIndex: any;
bookedAppointment:any=[];
@ -192,6 +192,13 @@ export class SlotBookingDetailsComponent implements OnInit {
this.serviceMapdetails = this.serviceMapdetails.filter(arr=>{return arr.serviceId == serviceDetails.serviceId })
console.log( this.serviceMapdetails)
if(this.serviceMapdetails.length===0){
let URL = this.router.url;
console.log(URL)
let URL_AS_LIST = URL.split('/');
console.log(URL_AS_LIST);
this.router.navigate(['customer/'+URL_AS_LIST[2]+'/'+URL_AS_LIST[3]+'/details'])
}
// this.form.controls['note'].setValue('Sample')
this.form.patchValue(this.local_data)
}
@ -351,4 +358,6 @@ export class SlotBookingDetailsComponent implements OnInit {
}
}

View File

@ -96,7 +96,7 @@ const HORIZONTALMENUITEMS = [
},
{
state: 'consultant-setting',
name: 'My Settings',
name: 'Settings',
type: 'link',
icon: 'settings_system_daydream'
},

View File

@ -104,7 +104,7 @@ const MENUITEMS : Menu[] = [
},
{
state: 'consultant-setting',
name: 'My Settings',
name: 'Settings',
type: 'link',
icon: 'settings_system_daydream'
},

View File

@ -2,7 +2,7 @@
<html>
<head>
<base href="/">
<base href="./">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">