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

This commit is contained in:
Smart 2023-04-20 10:07:20 +05:30
commit 723c8519a7
21 changed files with 87 additions and 59 deletions

Binary file not shown.

View File

@ -200,7 +200,11 @@ export class AppoinmentsListComponent implements OnInit {
}); });
dialogRef.afterClosed().subscribe(result => { dialogRef.afterClosed().subscribe(result => {
console.log(result) console.log(result)
this.formAddUpdateAndDelete(result,result.data) if(result == 0){
this.getAppoinmentsList()
}
// this.formAddUpdateAndDelete(result,result.data)
// if(result.event == 'Add'){ // if(result.event == 'Add'){
// this.addRowData(result.data); // this.addRowData(result.data);
// }else if(result.event == 'Update'){ // }else if(result.event == 'Update'){

View File

@ -220,7 +220,7 @@ export class DialogBoxComponent implements OnInit {
this._app.addFormDetails(paramsData).subscribe(res => { this._app.addFormDetails(paramsData).subscribe(res => {
if (res.status == 200) { if (res.status == 200) {
this.notifierService.notify('success', 'Appointment Added Successfully'); this.notifierService.notify('success', 'Appointment Added Successfully');
this.dialogRef.close(); this.dialogRef.close(0);
} }
}) })
} }

View File

@ -72,6 +72,7 @@ export class BusinessListComponent implements OnInit {
this.recordStatus=false; this.recordStatus=false;
} }
else{ else{
this.isLoading = false
this.businessList=[]; this.businessList=[];
this.businessListLength= null; this.businessListLength= null;
this.recordStatus=true; this.recordStatus=true;

View File

@ -35,11 +35,11 @@
<div class="main-content" fxLayout="row" fxLayoutAlign="center start"> <div class="main-content" fxLayout="row" fxLayoutAlign="center start">
<div fxFlex.gt-sm="90" fxFlex.gt-xs="95" fxFlex="100"> <div fxFlex.gt-sm="90" fxFlex.gt-xs="95" fxFlex="100">
<div class="messages-list material fullscreen"> <div class="messages-list material fullscreen">
<mat-accordion> <mat-accordion >
<!-- <mat-expansion-panel> <!-- <mat-expansion-panel>
<mat-expansion-panel-header > --> <mat-expansion-panel-header > -->
<!-- <div class="example-container mat-elevation-z8 "> --> <!-- <div class="example-container mat-elevation-z8 "> -->
<table mat-table [dataSource]="usersList" #mytable class="my-table mat-elevation-z8 len-table"> <table mat-table [dataSource]="usersList" #mytable class="my-table mat-elevation-z8 len-table">
<ng-container matColumnDef="id"> <ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef class="font-color"> S.No</th> <th mat-header-cell *matHeaderCellDef class="font-color"> S.No</th>

View File

@ -118,7 +118,7 @@ export class UserListComponent implements OnInit {
}) })
} }
hashPassword(password: string){ hashPassword(password: string){
return "*".repeat(password.length) return "*".repeat(6)
} }
ngAfterViewInit() { ngAfterViewInit() {
console.log(this.usersList,this.paginator) console.log(this.usersList,this.paginator)

View File

@ -1,9 +1,10 @@
<ng-scrollbar class="scrollHV">
<div fxLayout="row wrap"> <div fxLayout="row wrap">
<div fxFlex.sm="100" fxFlex.xs="100" fxFlex.md="33.33" fxFlex.lg="33.33" fxFlex.xl="33.33" fxFlex="100" class="m-gap p-gap"> <div fxFlex.sm="100" fxFlex.xs="100" fxFlex.md="33.33" fxFlex.lg="33.33" fxFlex.xl="33.33" fxFlex="100" class="m-gap p-gap">
<mat-card> <mat-card>
<div class="card-wheather grad-blue"> <div class="card-wheather grad-blue">
<div class="city">New Orders</div> <div class="city">Practitioner</div>
<div class="date">This Week</div> <!-- <div class="date">This Week</div> -->
<div class="weather"> <div class="weather">
<div class="sun d-flex justify-content-between"> <div class="sun d-flex justify-content-between">
<i class="fa fa-shopping-bag fa-3x align-self-center"></i> <i class="fa fa-shopping-bag fa-3x align-self-center"></i>
@ -16,8 +17,8 @@
<div fxFlex.sm="100" fxFlex.xs="100" fxFlex.md="33.33" fxFlex.lg="33.33" fxFlex.xl="33.33" fxFlex="100" class="m-gap p-gap"> <div fxFlex.sm="100" fxFlex.xs="100" fxFlex.md="33.33" fxFlex.lg="33.33" fxFlex.xl="33.33" fxFlex="100" class="m-gap p-gap">
<mat-card> <mat-card>
<div class="card-wheather grad-green"> <div class="card-wheather grad-green">
<div class="city">Total Profit</div> <div class="city">Appointment</div>
<div class="date">This Week</div> <!-- <div class="date">This Week</div> -->
<div class="weather"> <div class="weather">
<div class="sun d-flex justify-content-between"> <div class="sun d-flex justify-content-between">
<i class="fa fa fa-users fa-3x align-self-center"></i> <i class="fa fa fa-users fa-3x align-self-center"></i>
@ -30,8 +31,8 @@
<div fxFlex.sm="100" fxFlex.xs="100" fxFlex.md="33.33" fxFlex.lg="33.33" fxFlex.xl="33.33" fxFlex="100" class="m-gap p-gap"> <div fxFlex.sm="100" fxFlex.xs="100" fxFlex.md="33.33" fxFlex.lg="33.33" fxFlex.xl="33.33" fxFlex="100" class="m-gap p-gap">
<mat-card> <mat-card>
<div class="card-wheather grad-red"> <div class="card-wheather grad-red">
<div class="city">Email</div> <div class="city">Users</div>
<div class="date">This Week</div> <!-- <div class="date">This Week</div> -->
<div class="weather"> <div class="weather">
<div class="sun d-flex justify-content-between"> <div class="sun d-flex justify-content-between">
<i class="fa fa-inbox fa-3x align-self-center"></i> <i class="fa fa-inbox fa-3x align-self-center"></i>
@ -61,4 +62,5 @@
</mat-card-content> </mat-card-content>
</mat-card> </mat-card>
</div> </div>
</div> </div>
</ng-scrollbar>

View File

@ -2,6 +2,9 @@ $red: #f5515f;
$blue: #05abe0; $blue: #05abe0;
$grey: #343434; $grey: #343434;
$p: 12px; $p: 12px;
.scrollHV {
height: calc(100vh - 162px);
}
.profile { .profile {
position: relative; position: relative;
width: 100%; width: 100%;
@ -83,7 +86,7 @@ $p: 12px;
} }
.avatar { .avatar {
background: url('/assets/images/1.jpg') no-repeat center center / cover; background: url('assets/images/1.jpg') no-repeat center center / cover;
clip-path: polygon(0 0, 100% 0, 100% 75%, 0% 100%); clip-path: polygon(0 0, 100% 0, 100% 75%, 0% 100%);
} }
@ -496,7 +499,7 @@ a.link {
//wheather //wheather
.card-wheather { .card-wheather {
height: 220px; height: 150px;
color: #fff; color: #fff;
} }

View File

@ -15,6 +15,7 @@ import { NgxDatatableModule } from '@swimlane/ngx-datatable';
import { DashboardComponent } from './dashboard.component'; import { DashboardComponent } from './dashboard.component';
import { DashboardRoutes } from './dashboard.routing'; import { DashboardRoutes } from './dashboard.routing';
import { NgScrollbarModule } from 'ngx-scrollbar';
@NgModule({ @NgModule({
imports: [ imports: [
@ -29,7 +30,8 @@ import { DashboardRoutes } from './dashboard.routing';
ChartsModule, ChartsModule,
NgxChartsModule, NgxChartsModule,
NgxDatatableModule, NgxDatatableModule,
FlexLayoutModule FlexLayoutModule,
NgScrollbarModule
], ],
declarations: [ DashboardComponent ] declarations: [ DashboardComponent ]
}) })

View File

@ -113,6 +113,7 @@ export class ConsultantsListComponent implements OnInit {
} }
goToSlotBooking(param){ goToSlotBooking(param){
localStorage.setItem('user_id',param.id)
let URL = this.router.url; let URL = this.router.url;
console.log(URL,param) console.log(URL,param)
let URL_AS_LIST = URL.split('/'); let URL_AS_LIST = URL.split('/');

View File

@ -37,7 +37,8 @@ export class DoctorProfileComponent implements OnInit {
this.profileDetails = this.bookedAppointment.practitionerInfos[0] this.profileDetails = this.bookedAppointment.practitionerInfos[0]
console.log(this.profileDetails) console.log(this.profileDetails)
this.skillsDetails = JSON.parse(this.profileDetails.skills) this.skillsDetails = JSON.parse(this.profileDetails.skills)
console.log(this.skillsDetails) this.skillsDetails = JSON.parse(this.skillsDetails)
}else{ }else{
let URL = this.router.url; let URL = this.router.url;

View File

@ -1,6 +1,7 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms'; import { FormControl, FormGroup, Validators } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { local } from 'd3';
import { EndUserService } from '../end-user.service'; import { EndUserService } from '../end-user.service';
@Component({ @Component({
@ -23,7 +24,8 @@ export class PaymentComponent implements OnInit {
console.log(URL) console.log(URL)
let URL_AS_LIST = URL.split('/'); let URL_AS_LIST = URL.split('/');
console.log(URL_AS_LIST); console.log(URL_AS_LIST);
this.router.navigate(['customer/business/'+URL_AS_LIST[3]]) //this.router.navigate(['customer/business/'+URL_AS_LIST[3]])
this.router.navigate(['customer/'+URL_AS_LIST[2]+'/'+URL_AS_LIST[3]])
} }
}) })
@ -47,6 +49,7 @@ export class PaymentComponent implements OnInit {
submit(){ submit(){
console.log(this.form.value) console.log(this.form.value)
let slot_array = JSON.parse(localStorage.getItem("slotData")) let slot_array = JSON.parse(localStorage.getItem("slotData"))
let service = localStorage.getItem("servicedetails") let service = localStorage.getItem("servicedetails")
let serviceDetails = JSON.parse(service) let serviceDetails = JSON.parse(service)
@ -56,11 +59,15 @@ export class PaymentComponent implements OnInit {
console.log(URL,slot_array) console.log(URL,slot_array)
let URL_AS_LIST = URL.split('/'); let URL_AS_LIST = URL.split('/');
console.log(URL_AS_LIST); console.log(URL_AS_LIST);
// if(serviceDetails.hasOwnProperty('userId')){
serviceDetails.userId = localStorage.getItem('user_id')
// }
let paramsmap= { let paramsmap= {
"serviceId": ""+serviceDetails.serviceId+"", "serviceId": ""+serviceDetails.serviceId+"",
"userId": serviceDetails.userId, "userId": serviceDetails.userId,
"busId": serviceDetails.busId "busId": serviceDetails.busId
} }
console.log(paramsmap)
this.enduser.CreatecusServicesMapDetails(paramsmap).subscribe(res => { this.enduser.CreatecusServicesMapDetails(paramsmap).subscribe(res => {
if (res.status == 200) { if (res.status == 200) {
console.log(res) console.log(res)

View File

@ -69,7 +69,7 @@ export class SlotBookingDetailsComponent implements OnInit {
console.log(URL) console.log(URL)
let URL_AS_LIST = URL.split('/'); let URL_AS_LIST = URL.split('/');
console.log(URL_AS_LIST); console.log(URL_AS_LIST);
this.router.navigate(['customer/business/'+URL_AS_LIST[3]]) this.router.navigate(['customer/'+URL_AS_LIST[2]+'/'+URL_AS_LIST[3]])
} }
}) })

View File

@ -10,7 +10,7 @@
<div class="branding text-center"> <div class="branding text-center">
<!-- <h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> Appointment</span> <!-- <h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> Appointment</span>
</h2> --> </h2> -->
<h2><i class="fa fa-calendar" aria-hidden="true"></i> <span> {{getUserData.BusinessDetails[0].busName}}</span> <h2><i class="fa fa-calendar" aria-hidden="true"></i> <span> {{getUserData.role == 'SADMIN' ? 'Appointment' : getUserData.BusinessDetails[0].busName}}</span>
</h2> </h2>
</div> </div>
@ -18,7 +18,8 @@
<div class="user-pro-wrap"> <div class="user-pro-wrap">
<div class="user-profile-thumb text-center"> <div class="user-profile-thumb text-center">
<div class="user-i"> <div class="user-i">
<img [src]="getUserData.logo != '' ? image_view(getUserData.logo) : 'assets/images/userpic.png'" class="rad-full mb-1" width="100" height="100" alt=""> <img *ngIf="getUserData.role == 'SADMIN'" src="assets/images/userpic.png" class="rad-full mb-1" width="100" height="100" alt="">
<img *ngIf="getUserData.role != 'SADMIN'" [src]="getUserData.logo != '' ? image_view(getUserData.logo) : 'assets/images/userpic.png'" class="rad-full mb-1" width="100" height="100" alt="">
<div> <span>{{getUserData.userName}}</span></div> <div> <span>{{getUserData.userName}}</span></div>
<div> <span>({{getUserData.role}})</span></div> <div> <span>({{getUserData.role}})</span></div>
</div> </div>

View File

@ -51,13 +51,13 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
getUser: any; getUser: any;
// usersLogo: any; // usersLogo: any;
private apiUrl = environment.apiEndpoint; private apiUrl = environment.apiEndpoint;
getUserData: any; getUserData: any = [];
userLength: any = []; userLength: any = [];
constructor(public _con:ConsultantService,private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService ) { constructor(public _con:ConsultantService,private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService ) {
const browserLang: string = translate.getBrowserLang(); const browserLang: string = translate.getBrowserLang();
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en'); translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
this.getUser = localStorage.getItem('user_role') this.getUser = localStorage.getItem('user_role')
this.getUserDetails()
} }
//08/02/2023 //08/02/2023
@ -69,7 +69,7 @@ users() {
// //
ngOnInit(): void { ngOnInit(): void {
this.getUserDetails()
const elemSidebar = <HTMLElement>document.querySelector('.sidebar-container '); const elemSidebar = <HTMLElement>document.querySelector('.sidebar-container ');
if (window.matchMedia(`(min-width: 960px)`).matches && !this.isMac() && !this.compactSidebar && this.layoutDir != 'rtl') { if (window.matchMedia(`(min-width: 960px)`).matches && !this.isMac() && !this.compactSidebar && this.layoutDir != 'rtl') {

View File

@ -11,7 +11,7 @@ export class RoleMenuItemsPipe implements PipeTransform {
// if(type=="1"){ // if(type=="1"){
switch(localStorage.getItem('user_role')){ switch(localStorage.getItem('user_role')){
case 'SADMIN': return value.filter(val=>val.state!="appoinments" && val.state!="customers" && val.state != "consultant-setting" && val.state!="consultants" && val.state!="services"); case 'SADMIN': return value.filter(val=>val.state!="appoinments" && val.state!="customers" && val.state != "consultant-setting" && val.state!="consultants" && val.state!="services");
case 'BADMIN': return value.filter(val=>val.state !="business" && val.state!="users" && val.state!="consultants"); case 'BADMIN': return value.filter(val=>val.state !="business" && val.state!="users" && val.state!="consultants" && val.state!="appoinments");
case 'PRACTITIONER': return value.filter(val=>val.state !="business" && val.state!="consultants" && val.state!="users" && val.state!="services"); case 'PRACTITIONER': return value.filter(val=>val.state !="business" && val.state!="consultants" && val.state!="users" && val.state!="services");
// case 'PRACTITIONER': // case 'PRACTITIONER':
// case '3': return value.filter(val=>val.state!="settings"); // case '3': return value.filter(val=>val.state!="settings");

View File

@ -417,7 +417,7 @@ $hover-font-color:#fff;
text-align: center; text-align: center;
background-color: rgba(214, 224, 226, 0.2); background-color: rgba(214, 224, 226, 0.2);
.cardheader { .cardheader {
background: url("/assets/images/night.jpg"); background: url("assets/images/night.jpg");
background-size: cover; background-size: cover;
height: 135px; height: 135px;
} }

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,7 @@
.about-w { .about-w {
background-image: url("/assets/images/about.jpg"); background-image: url("assets/images/about.jpg");
} }
.form-bg { .form-bg {

View File

@ -2,14 +2,19 @@ export const environment = {
production: true, production: true,
environmentName: 'Production Environment',//Localhost Environment. environmentName: 'Production Environment',//Localhost Environment.
// apiEndpoint:'http://venbainfotech.com:5000/', // apiEndpoint:'http://venbainfotech.com:5000/',
apiEndpoint:'https://192.168.159.24:8080/api/', // apiEndpoint:'https://192.168.159.24:8080/api/',
firebase : { apiEndpoint:'https://api.venbait.in/api/',
apiKey: "AIzaSyBVPQ6C7cg5l8I-o7WSmmXdioMa4C0ZKNM",
authDomain: "phone-otp-5d22e.firebaseapp.com", //EndUser URL
projectId: "phone-otp-5d22e", endUserUrl:'https://venbainfotech.com/appointment/#/customer/',
storageBucket: "phone-otp-5d22e.appspot.com",
messagingSenderId: "207025211598", firebase: {
appId: "1:207025211598:web:f2e4ebfb2e4ca5d5d8a89f", apiKey: "AIzaSyCKbfDJ5Qf0rDP3WKppa94u9xuVaVabaDw",
measurementId: "G-LJFTVZSP38" authDomain: "venba-appointment.firebaseapp.com",
} projectId: "venba-appointment",
storageBucket: "venba-appointment.appspot.com",
messagingSenderId: "513912226817",
appId: "1:513912226817:web:eebcec6f7c6407a1dd2c00",
measurementId: "G-48RM8BFRFK"
},
}; };

View File

@ -10,8 +10,8 @@ export const environment = {
// apiEndpoint:'http://192.168.1.20:8080/api/', // apiEndpoint:'http://192.168.1.20:8080/api/',
// apiEndpoint:'https://api.venbait.in/api/', // apiEndpoint:'https://api.venbait.in/api/',
// apiEndpoint:'http://venbainfotech.com:5000/api/', // apiEndpoint:'http://venbainfotech.com:5000/api/',
apiEndpoint:'http://192.168.1.8:8080/api/', apiEndpoint:'http://192.168.1.12:8080/api/',
// apiEndpoint:'https://api.venbait.in/api/', // apiEndpoint:'https://api.venbait.in/api/',
//EndUser URL //EndUser URL
endUserUrl:'https://venbainfotech.com/appointment/#/customer/', endUserUrl:'https://venbainfotech.com/appointment/#/customer/',