This commit is contained in:
Surendiran 2023-05-16 17:31:36 +05:30
parent 433f7d4cb4
commit c21b67bb1c
16 changed files with 96 additions and 78 deletions

Binary file not shown.

View File

@ -8,7 +8,7 @@
<h3 class="page-h">Practitioner List</h3>
</div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="m-gap p-gap" fxLayoutAlign="end center">
<mat-form-field class="form-field">
<mat-form-field class="form-field" style="width: 50%;">
<mat-label>Search practitioner</mat-label>
<input type="text" [(ngModel)]="filterdata" matInput placeholder="Search practitioner">
<mat-icon matSuffix>search</mat-icon>

View File

@ -339,7 +339,7 @@ margin: 30px 25px 30px 30px;
margin-left: 10px;
}
.scrollHVtab2 {
height: calc(100vh - 205px);
height: calc(100vh - 230px);
}
.add-button{
border: 1px solid #50497F;

View File

@ -120,7 +120,7 @@ export class EditWorkingHoursComponent implements OnInit {
"Friday",
"Saturday",
];
seedData = [{ day: "Sunday", startTime: "09:00 am", endTime: "06:00 pm" }];
seedData = [{ day: "Sunday", startTime: "09:00 am", endTime: "09:00 pm" }];
Select1: any = false;
Select2: any = false;

View File

@ -1,5 +1,5 @@
<!-- <mat-card class="settings-panel" > -->
<h5 mat-dialog-title> <strong>{{action}} Customers</strong>
<h5 mat-dialog-title> <strong>{{action}} Customer</strong>
<button mat-icon-button type="button" matTooltip="Close" class="button" matTooltipPosition="above" (click)="close()"
><mat-icon>close</mat-icon></button></h5>
<form [formGroup]="form" (ngSubmit)="submit()">

View File

@ -1,5 +1,5 @@
<h3>Customers Details</h3>
<h3>Customer Details</h3>
<mat-form-field style="width:30%">
<mat-label>Filter</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="Type Here" #input>

View File

@ -63,13 +63,21 @@
<mat-card-content >
<div fxLayout="row wrap" style="margin-bottom: 20px;">
<div fxFlex.xs="25" fxFlex.sm="25" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<span class="head"># Booking ID</span>
<span class="head">Booking ID</span>
</div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
<span>: {{bookingSummary.bookingId}}</span>
</div>
<div fxFlex.xs="25" fxFlex.sm="25" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25" fxLayoutAlign="end">
<div><span class="head">Status:</span><span style="color: green;">Confirmed</span></div>
<div><span class="head">Status:</span><span style="color: green;">Booked</span></div>
</div>
</div>
<div fxLayout="row wrap" style="margin-bottom: 20px;">
<div fxFlex.xs="25" fxFlex.sm="25" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<span class="head">Booked On</span>
</div>
<div fxFlex.xs="75" fxFlex.sm="75" fxFlex.md="75" fxFlex.lg="75" fxFlex.xl="75">
<span>: {{bookingSummary.createdAt | date:'dd/MM/yyyy'}}</span>
</div>
</div>
<div fxLayout="row wrap" style="margin-bottom: 20px;">
@ -85,7 +93,7 @@
<span class="head">Practitioner</span>
</div>
<div fxFlex.xs="75" fxFlex.sm="75" fxFlex.md="75" fxFlex.lg="75" fxFlex.xl="75">
<span>: {{serviceMapDetails.user[0].userName}}</span>
<span>: {{serviceMapDetails.user[0].userName}} - ({{serviceMapDetails.user[0].contactNo}})</span>
</div>
</div>
<div fxLayout="row wrap" style="margin-bottom: 20px;">
@ -97,33 +105,31 @@
</div>
</div>
<div fxLayout="row wrap" style="margin-bottom: 20px;">
<div fxFlex.xs="25" fxFlex.sm="25" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<span class="head">Fees</span>
</div>
<div fxFlex.xs="75" fxFlex.sm="75" fxFlex.md="75" fxFlex.lg="75" fxFlex.xl="75">
<span>: {{busCurrency}} {{serviceMapDetails.duration.length>0 ? serviceMapDetails.duration[0].fees : serviceMapDetails.service[0].fees}}</span>
</div>
</div>
<!-- <div fxLayout="row wrap" style="margin-bottom: 20px;">
<div fxFlex.xs="25" fxFlex.sm="25" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<span class="head">Customer Name</span>
</div>
<div fxFlex.xs="75" fxFlex.sm="75" fxFlex.md="75" fxFlex.lg="75" fxFlex.xl="75">
<span>: {{customerBookingDetails.cusName}}</span>
<!-- <br> -->
<!-- <span>gopi@gmail.com</span> -->
<span>: {{customerBookingDetails.cusName}}</span>
</div>
</div>
</div> -->
<div fxLayout="row wrap" style="margin-bottom: 20px;">
<div fxFlex.xs="25" fxFlex.sm="25" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<span class="head">Contact Details</span>
<span class="head">Appointment For</span>
</div>
<div fxFlex.xs="75" fxFlex.sm="75" fxFlex.md="75" fxFlex.lg="75" fxFlex.xl="75">
<span>: {{customerBookingDetails.phoneNo}}</span>
<span>: {{customerBookingDetails.cusName}} - ({{customerBookingDetails.phoneNo}})</span>
<!-- <br> -->
<!-- <span>gopi@gmail.com</span> -->
</div>
</div>
<div fxLayout="row wrap" style="margin-bottom: 20px;">
<div fxFlex.xs="25" fxFlex.sm="25" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<span class="head">Booked On</span>
</div>
<div fxFlex.xs="75" fxFlex.sm="75" fxFlex.md="75" fxFlex.lg="75" fxFlex.xl="75">
<span>: {{bookingSummary.createdAt | date:'dd/MM/yyyy'}}</span>
</div>
</div>
</mat-card-content>
<div style="border-bottom: 2px solid #000;margin-bottom: 15px;"></div>
</div>

View File

@ -20,6 +20,7 @@ export class BookingSummaryComponent implements OnInit {
logo: any;
private apiUrl = environment.apiEndpoint;
customerBookingDetails: any = [];
busCurrency: any = [];
constructor(public end_user:EndUserService,private router:Router,) {
this.logo = localStorage.getItem('logo')
this.busName = localStorage.getItem('busName')
@ -59,6 +60,7 @@ export class BookingSummaryComponent implements OnInit {
if (res.status == 200) {
console.log(res)
this.serviceMapDetails = res['data'][0]
this.busCurrency = this.serviceMapDetails['business'][0].currency
}
})

View File

@ -41,44 +41,26 @@
</mat-error>
</mat-form-field>
</div>
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap">
<div [ngSwitch]="otpData">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
<div fxLayout="row">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="70" fxFlex.lg="70" fxFlex.xl="70" fxLayoutAlign="center center">
<mat-form-field style="width: 70%">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="70" fxFlex.lg="70" fxFlex.xl="70">
<mat-form-field style="width: 86%;">
<input matInput type="text" appMobileNumberPattern maxlength="10" minlength="10" placeholder="Phone No" name="phone" formControlName="phoneNo" [readonly]="noChangeNo == '1'" required>
<mat-error *ngIf="myError('phoneNo', 'required')">Contact No is required</mat-error>
<mat-error *ngIf="myError('phoneNo', 'pattern')">Invalid Contact No </mat-error>
<mat-error *ngIf="myError('phoneNo', 'minlength')"> Contact No must be at least 10 characters</mat-error>
<mat-error *ngIf="myError('phoneNo', 'maxlength')">Limit exceed</mat-error>
</mat-form-field>
</div>
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="30" fxFlex.lg="30" fxFlex.xl="30" fxLayoutAlign="center center">
<div *ngIf="verifyOTP != '1'">
<button mat-raised-button type="button" (click)="getOTP(1)" [disabled]="myError('phoneNo', 'minlength') || myError('phoneNo', 'required')" color="primary" class="mr-1 mb-1">Get OTP</button>
</div>
<span *ngIf="verifyOTP == '1'"><mat-icon style="color: #4CAF50;">verified</mat-icon></span>
</div>
<div id="sign-in-button"></div>
</div>
<!-- <div *ngSwitchCase="1">
<div fxLayout="row" *ngIf="verifyOTP != '1'">
<div fxFlex.xs="80" fxFlex.sm="80" fxFlex.md="80" fxFlex.lg="80" fxFlex.xl="80">
<mat-form-field style="width: 80%">
<input matInput placeholder="Enter OTP" formControlName="otp" type="text" maxlength="6">
</mat-form-field>
</div>
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<button type="button" (click)="verify(1)" mat-raised-button class="mr-1 mb-1" matTooltip="VERIFY" matTooltipPosition="below" style="background-color: #4CAF50;color:#fff;">VERIFY</button>
</div>
</div>
<div fxLayout="row" *ngIf="verifyOTP != '1'">
<button type="button" *ngIf="timeLeft != 0" mat-raised-button color="primary">{{timeLeft == 0 ? 'Resend OTP' : timeLeft+' Seconds Left....' }} </button>
<button type="button" *ngIf="timeLeft == 0" mat-raised-button color="primary" (click)="resendOTP(1)">{{timeLeft == 0 ? 'Resend OTP' : timeLeft+' Seconds Left....' }} </button>
</div>
</div> -->
</div>
<div class="flexAlign" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="30" fxFlex.lg="30" fxFlex.xl="30">
<div *ngIf="verifyOTP != '1'">
<button mat-raised-button type="button" (click)="getOTP(1)" [disabled]="myError('phoneNo', 'minlength') || myError('phoneNo', 'required')" color="primary" class="mr-1 mb-1">Get OTP</button>
</div>
<span *ngIf="verifyOTP == '1'"><mat-icon style="color: #4CAF50;">verified</mat-icon></span>
</div>
<div id="sign-in-button"></div>
</div>
</div>
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
<mat-form-field style="width: 80%">

View File

@ -144,4 +144,7 @@ mat-toolbar{
}
.scrollHV {
height: calc(100vh - 110px);
}
}
.flexAlign{
display: contents !important;
}

View File

@ -45,7 +45,8 @@
<!-- <a (click)="openDialog('Update',serviceListDetails)" class="Specialties-rightUpdate"><span class="material-icons edit-color">edit</span></a> -->
<!-- <a (click)="confirmBox('Delete',serviceListDetails)" class="Specialties-rightArrow"><span class="material-icons edit-color delete">delete</span></a> -->
<!-- <span class="Specialties-rightArrow"><img src="https://newassets.apollo247.com/images/ic_arrow_right.svg" alt="Arrow Right - Online Doctor Consultation"></span> -->
<mat-card-subtitle class="service-Specialties">{{serviceListDetails.description}}</mat-card-subtitle>
<mat-card-subtitle class="service-Specialties descriWrap" [matTooltip]="serviceListDetails.description"
matTooltipPosition="above">{{serviceListDetails.description}}</mat-card-subtitle>
</mat-card-title-group>
</mat-card>
</div>

View File

@ -184,4 +184,13 @@ footer {
.mat-card-title{
margin-bottom: 0px !important;
}
.descriWrap{
width: 251px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}

View File

@ -6,21 +6,27 @@
<div class="text-center">
<h2 class="base-border mat-text-warn mb-1">Forgot Password?</h2>
<i class="fa fa-lock fa-4x"></i>
<p>You can reset your password here.</p>
<form [formGroup]="form" (ngSubmit)="submit()">
<div fxLayout="column" fxLayoutAlign="start stretch">
<mat-form-field style="width: 100%">
<input matInput placeholder="Email" type="text" formControlName="email" required>
<mat-error *ngIf="!form.get('email')?.errors?.required && (form.get('email')?.errors?.pattern)">
Please enter a valid email address
</mat-error>
<mat-error *ngIf="form.get('email')?.invalid && (form.get('email')?.dirty || form.get('email')?.touched) && form.get('email')?.errors?.required">
Email is required
</mat-error>
</mat-form-field>
<button class="mat-blue" type="submit" mat-raised-button>Submit</button>
</div>
</form>
<div *ngIf="resetLink == 0">
<p>You can reset your password here.</p>
<form [formGroup]="form" (ngSubmit)="submit()">
<div fxLayout="column" fxLayoutAlign="start stretch">
<mat-form-field style="width: 100%">
<input matInput placeholder="Email" type="text" formControlName="email" required>
<mat-error *ngIf="!form.get('email')?.errors?.required && (form.get('email')?.errors?.pattern)">
Please enter a valid email address
</mat-error>
<mat-error *ngIf="form.get('email')?.invalid && (form.get('email')?.dirty || form.get('email')?.touched) && form.get('email')?.errors?.required">
Email is required
</mat-error>
</mat-form-field>
<button class="mat-blue" type="submit" mat-raised-button>Submit</button>
</div>
</form>
</div>
<div *ngIf="resetLink == 1">
<p>{{forgotTokenEmail.message}}</p>
<!-- <p>You can reset your password here.</p> -->
</div>
</div>
</mat-card>
</div>

View File

@ -3,6 +3,7 @@ import { FormControl, FormGroup, Validators } from '@angular/forms';
import {Router} from "@angular/router";
import { NotifierService } from 'angular-notifier';
import { SessionService } from 'app/session-services/session.service';
import { environment } from 'environments/environment';
@Component({
selector: 'ms-forgot-password',
@ -17,7 +18,8 @@ export class ForgotPasswordComponent {
form: FormGroup;
forgotTokenEmail: any;
forgotMailDara: any;
public mailUrl = environment.mailUrl;
resetLink: any = 0;
constructor(private router: Router,public _ser:SessionService,private notifierService: NotifierService) {
this._ser.forgotEmail_observable$.subscribe((res) => {
console.log('email', res);
@ -35,14 +37,19 @@ export class ForgotPasswordComponent {
submit(){
console.log(this.form.value)
const mailid = this.form['value'].email.split(/\s/).join('');
let forgotMail = {'email':mailid,'urlDomain':window.location.origin}
let forgotMail = {'email':mailid,'urlDomain':this.mailUrl}
console.log(forgotMail)
this._ser.getForgotToken(forgotMail).subscribe(res => {
console.log(res)
this.forgotTokenEmail = res
this._ser.getForgotDetails(this.forgotTokenEmail)
this.notifierService.notify('warning', res.message);
//this.router.navigate(['authentication/reset-password'])
if(res.status == 200){
this.resetLink = 1
console.log(res)
this.forgotTokenEmail = res
this._ser.getForgotDetails(this.forgotTokenEmail)
this.notifierService.notify('success', res.message);
//this.router.navigate(['authentication/reset-password'])
} else{
this.notifierService.notify('warning', 'Invalid Mail');
}
}, err => {
//alert(err.message);

View File

@ -7,6 +7,7 @@ export const environment = {
//EndUser URL
endUserUrl: window.location.origin+'/appointment/#/customer/',
mailUrl:window.location.origin+'/appointment',
firebase: {
apiKey: "AIzaSyCKbfDJ5Qf0rDP3WKppa94u9xuVaVabaDw",

View File

@ -7,15 +7,16 @@ export const environment = {
production: false,
environmentName: 'Testing Environment',//Localhost Environment.
// apiEndpoint:'http://venbainfotech.com:5000/api/',
apiEndpoint:'http://192.168.1.19:8080/api/',
// apiEndpoint:'http://192.168.1.19:8080/api/',
// apiEndpoint:'https://api.venbait.in/api/',
// apiEndpoint:'http://venbainfotech.com:5000/api/',
// apiEndpoint:'http://192.168.1.17:8080/api/',
// apiEndpoint:'https://api.venbait.in/api/',
apiEndpoint:'https://api.venbait.in/api/',
//EndUser URL
endUserUrl: window.location.origin+'/#/customer/',
mailUrl:window.location.origin,
firebase: {
apiKey: "AIzaSyCKbfDJ5Qf0rDP3WKppa94u9xuVaVabaDw",