Commit 7f716f7d by kevin

Overpage desgin

parent d7f531c7
......@@ -86,8 +86,6 @@
<edit-config file="*-Info.plist" mode="merge" target="NSLocationWhenInUseUsageDescription">
<string>Allow to access location</string>
</edit-config>
<engine name="android" spec="^6.1.2" />
<plugin name="com-sarriaroman-photoviewer" spec="^1.1.18" />
<plugin name="com.synconset.imagepicker" spec="^2.1.10">
<variable name="PHOTO_LIBRARY_USAGE_DESCRIPTION" value="your usage message" />
</plugin>
......@@ -106,4 +104,8 @@
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<plugin name="cordova.plugins.diagnostic" spec="^4.0.11" />
<plugin name="onesignal-cordova-plugin" spec="^2.3.3" />
<plugin name="cordova-plugin-camera" spec="^4.0.3" />
<plugin name="com-sarriaroman-photoviewer" spec="^1.2.2" />
<engine name="ios" spec="4.5.5" />
<engine name="android" spec="6.3.0" />
</widget>
......@@ -22,6 +22,7 @@
"@angular/platform-browser": "5.2.9",
"@angular/platform-browser-dynamic": "5.2.9",
"@ionic-native/badge": "^4.9.0",
"@ionic-native/camera": "^4.20.0",
"@ionic-native/core": "4.5.3",
"@ionic-native/diagnostic": "^4.6.0",
"@ionic-native/file": "^4.7.0",
......@@ -31,31 +32,33 @@
"@ionic-native/location-accuracy": "^4.14.0",
"@ionic-native/network": "^4.7.0",
"@ionic-native/onesignal": "^4.7.0",
"@ionic-native/photo-viewer": "^4.18.0",
"@ionic-native/photo-viewer": "^4.20.0",
"@ionic-native/splash-screen": "4.5.3",
"@ionic-native/status-bar": "4.5.3",
"@ionic/storage": "2.1.3",
"com-sarriaroman-photoviewer": "^1.1.18",
"com-sarriaroman-photoviewer": "^1.2.2",
"com.synconset.imagepicker": "^2.1.10",
"cordova-android": "^6.1.2",
"cordova-plugin-badge": "^0.8.7",
"cordova-plugin-compat": "^1.0.0",
"cordova-plugin-device": "^2.0.1",
"cordova-android": "6.3.0",
"cordova-ios": "4.5.5",
"cordova-plugin-badge": "^0.8.8",
"cordova-plugin-camera": "^4.0.3",
"cordova-plugin-compat": "^1.2.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-file": "^6.0.1",
"cordova-plugin-file-transfer": "^1.7.1",
"cordova-plugin-geolocation": "^2.4.3",
"cordova-plugin-ionic-keyboard": "^2.0.5",
"cordova-plugin-ionic-webview": "^1.1.16",
"cordova-plugin-ionic-keyboard": "^2.1.3",
"cordova-plugin-ionic-webview": "^1.2.1",
"cordova-plugin-network-information": "^2.0.1",
"cordova-plugin-request-location-accuracy": "^2.2.3",
"cordova-plugin-request-location-accuracy": "^2.3.0",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-whitelist": "^1.3.3",
"cordova.plugins.diagnostic": "^4.0.11",
"cordova.plugins.diagnostic": "^4.0.12",
"ionic-angular": "3.9.2",
"ionic-tooltips": "^2.0.1",
"ionic2-rating": "^1.2.2",
"ionicons": "3.0.0",
"onesignal-cordova-plugin": "^2.3.3",
"onesignal-cordova-plugin": "^2.4.7",
"rxjs": "5.5.7",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.20"
......@@ -67,6 +70,7 @@
"description": "An Ionic project",
"cordova": {
"platforms": [
"ios",
"android"
],
"plugins": {
......@@ -75,7 +79,9 @@
"cordova-plugin-geolocation": {
"GEOLOCATION_USAGE_DESCRIPTION": "To locate you"
},
"cordova-plugin-request-location-accuracy": {},
"cordova-plugin-request-location-accuracy": {
"PLAY_SERVICES_LOCATION_VERSION": "16.+"
},
"com-sarriaroman-photoviewer": {},
"com.synconset.imagepicker": {
"PHOTO_LIBRARY_USAGE_DESCRIPTION": "your usage message"
......@@ -87,8 +93,11 @@
"cordova-plugin-ionic-webview": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-whitelist": {},
"cordova.plugins.diagnostic": {},
"onesignal-cordova-plugin": {}
"cordova.plugins.diagnostic": {
"ANDROID_SUPPORT_VERSION": "28.+"
},
"onesignal-cordova-plugin": {},
"cordova-plugin-camera": {}
}
}
}
}
\ No newline at end of file
......@@ -14,12 +14,14 @@ import { Badge } from '@ionic-native/badge';
templateUrl: 'app.html'
})
export class MyApp {
@ViewChild(Nav) nav: Nav;
rootPage:any = 'LandingPage';
user_data:any;
device_id:any;
toast:any;
notify:any;
getprofile_data:any;
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen,public events:Events,public storage:Storage, private permission: PermissionsService,private geolocation: Geolocation,private oneSignal: OneSignal,private network: Network, private toastCtrl: ToastController, private myservice: Myservice, private ionicApp: IonicApp, private alertCtrl: AlertController,private badge: Badge) {
......@@ -187,6 +189,7 @@ this.events.publish('user:notifications', '');
this.storage.get('user_data').then((user_data) => {
if(user_data){
this.user_data=user_data;
this.profile(user_data.id)
// this.myservice.get_notifications(this.user_data.id);
}
......@@ -235,7 +238,16 @@ this.events.publish('user:notifications', '');
})
}
profile(id){
this.myservice.show_loader();
this.myservice.load_get("get_profile/id/"+id).subscribe(response => {
this.myservice.hide_loader();
if(response.status="success") {
this.getprofile_data = response.result;
}
});
}
confirmExitApp(){
var alert = this.alertCtrl.create({
......
......@@ -3,7 +3,7 @@
<div class="fm_sidemenu_profile_pic">
<div *ngIf="user_data" (click)="edit_profile()" menuClose class="edit"></div>
<div *ngIf="user_data" class="fm_sidemenu_profile_pic_inner">
<img *ngIf="user_data.profile_pic" [src]="user_data.profile_pic" >
<img *ngIf="getprofile_data" [src]="getprofile_data.profile_pic" >
</div>
</div>
<h5 *ngIf="user_data" >{{user_data.first_name}}</h5>
......
......@@ -20,14 +20,16 @@ import { TooltipsModule } from 'ionic-tooltips';
import { Badge } from '@ionic-native/badge';
import { LocationAccuracy } from '@ionic-native/location-accuracy';
import { PhotoViewer } from '@ionic-native/photo-viewer';
import { Camera, CameraOptions } from '@ionic-native/camera';
import { HttpClientModule} from '@angular/common/http';
@NgModule({
declarations: [
MyApp
],
imports: [
BrowserModule,
HttpModule,
HttpModule,
HttpClientModule,
IonicModule.forRoot(MyApp,{tabsPlacement:"bottom"}),
IonicStorageModule.forRoot(),
Ionic2RatingModule // Put ionic2-rating module here
......@@ -51,7 +53,8 @@ import { PhotoViewer } from '@ionic-native/photo-viewer';
TooltipsModule,
PhotoViewer,
Badge,
LocationAccuracy,
LocationAccuracy,
Camera,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
......
......@@ -6,21 +6,22 @@
Profile
</div>
</ion-header>
<ion-content>
<ion-content *ngIf="getprofile_data">
<div class="fm_common_wrapper">
<form [formGroup]="editProform" (ngSubmit)="edit_profile()">
<div class="fm_banner">
<div class="fm_banner_circle" (click)="uploadPicture()">
<div class="fm_banner_circle" >
<img src="assets/imgs/fm_photo.png" *ngIf="!profile_pic">
<img [src]="profile_pic" *ngIf="profile_pic" >
<img [src]="getprofile_data.profile_pic" *ngIf="profile_pic" >
<input type="file" accept="image/*" (change)="uploadprofilePicture($event)">
</div>
<div class="fm_border">
</div>
</div>
<h3>About You</h3>
<ion-list>
<ion-list *ngIf="result">
<ion-item>
<ion-input type="text" formControlName="first_name" placeholder="First Name"></ion-input>
</ion-item>
......@@ -86,20 +87,22 @@
<h5>Vehicle Paper</h5>
<div class="fm_add_picture" >
<li>
<div class="inside_image" *ngIf="vehicle_pic" >
<img (click)="open_img(vehicle_pic['1'])" [src]="vehicle_pic['1']" *ngIf="vehicle_pic['1']" >
<div class="edit" (click)="uploadvehicleimg('1')">
<ion-icon ios="ios-create" md="md-create"></ion-icon>
</div>
<div>
<div class="inside_image" >
<img [src]="getprofile_data.vehicle_picture1" >
</div>
<input type="file" accept="image/*" (change)="fileChange1($event)">
</div>
</li>
<li>
<div class="inside_image" *ngIf="vehicle_pic" >
<img (click)="open_img(vehicle_pic['2'])" [src]="vehicle_pic['2']" *ngIf="vehicle_pic['2']" >
<div class="edit" (click)="uploadvehicleimg('2')">
<ion-icon ios="ios-create" md="md-create"></ion-icon>
</div>
<div>
<div class="inside_image" >
<img [src]="getprofile_data.vehicle_picture2" >
<br>
</div>
<input type="file" accept="image/*" (change)="fileChange2($event)">
</div>
</li>
</div>
<div class="textCenter bottom_bay">
......
......@@ -6,7 +6,8 @@ import {Myservice} from '../../providers/myservice';
import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer';
import { File } from '@ionic-native/file';
import { ImagePicker } from '@ionic-native/image-picker';
import { PhotoViewer } from '@ionic-native/photo-viewer';
import { Geolocation } from '@ionic-native/geolocation';
declare var require: any;
declare var google: any;
......@@ -16,6 +17,12 @@ declare var google: any;
templateUrl: 'addcar.html',
})
export class AddcarPage {
getprofile_data:any;
lat:any;
lng:any;
formdata = new FormData();
vehicle_picture1:any;
result:any;
services:any;
location={'lat':'','lng':''};
citie: any;
......@@ -29,7 +36,7 @@ export class AddcarPage {
base64vehicle =[];
vehicle_pic =[];
constructor(public navCtrl: NavController, public navParams: NavParams,public storage:Storage, private myservice: Myservice, private formBuilder: FormBuilder,private transfer: FileTransfer, private file: File, private imagePicker: ImagePicker, public events: Events,public modalCtrl: ModalController,private photoViewer: PhotoViewer) {
constructor(public geolocation: Geolocation ,public navCtrl: NavController, public navParams: NavParams,public storage:Storage, private myservice: Myservice, private formBuilder: FormBuilder,private transfer: FileTransfer, private file: File, private imagePicker: ImagePicker, public events: Events,public modalCtrl: ModalController) {
this.editProform = this.formBuilder.group({
first_name:['', Validators.compose([Validators.maxLength(30), Validators.required])],
last_name: ['', Validators.compose([Validators.maxLength(30), Validators.required])],
......@@ -38,14 +45,19 @@ export class AddcarPage {
city: ['',],
postal_code: ['',Validators.compose([Validators.pattern("[0-9]*"), Validators.required,Validators.minLength(4),Validators.maxLength(4)])],
address: ['', Validators.required],
profile_pic :[''],
vehicle_picture1:[''],
vehicle_picture2:[''],
mobile: ['',Validators.compose([Validators.pattern("[0-9]*"), Validators.required,Validators.minLength(10),Validators.maxLength(20)])],
});
this.currentlocation();
console.log("addcar");
this.storage.get('user_data').then((user_data) => {
if(user_data){
console.log(user_data);
this.user_data=user_data;
this.result = user_data;
this.get_profile();
}else{
let modal = this.modalCtrl.create('Loginbook');
......@@ -71,7 +83,22 @@ export class AddcarPage {
};
}
currentlocation()
{
this.geolocation.getCurrentPosition().then((resp) => {
console.log('Coordinstes',resp);
}).catch((error) => {
});
let watch = this.geolocation.watchPosition();
watch.subscribe((data) =>{
console.log('Error getting location', data)
// data can be a set of coordinates, or an error (if an error occurred).
this.lat= data.coords.latitude
this.lng=data.coords.longitude
});
}
ionViewDidLoad() {
console.log('ionViewDidLoad AddcarPage');
}
......@@ -98,6 +125,7 @@ export class AddcarPage {
this.myservice.show_loader();
this.editProform.controls['city'].setValue(this.citie);
this.editProform.controls['address'].setValue(this.address);
this.location = { lat:this.lat , lng:this.lng};
var user_id ={'id':this.user_data.id}
var obj = Object.assign(this.editProform.value, this.location,user_id);
if(this.base64Image) {
......@@ -107,7 +135,7 @@ export class AddcarPage {
this.myservice.hide_loader();
console.log(response);
if(response.status == "success") {
this.myservice.show_alert("Changes are saved!", response.message);
this.myservice.show_alert("Changes are saved!", 'Your profile has been updated');
this.user_data.first_name = response.result.first_name;
......@@ -115,7 +143,8 @@ export class AddcarPage {
this.user_data.mobile = response.result.mobile;
console.log(this.user_data);
this.events.publish('user:update_profile', this.user_data);
this.get_profile();
this.get_profile();
}
else {
......@@ -214,7 +243,7 @@ export class AddcarPage {
var latLong = autocomplete.getPlace().geometry.location;
var js=JSON.stringify(latLong);
var par=JSON.parse(js);
thiss.location = {lat : par.lat, lng : par.lng};
// thiss.location = {lat : par.lat, lng : par.lng};
/*
thiss.address = place.formatted_address;
console.log(placeA.formatted_address);
......@@ -246,7 +275,9 @@ export class AddcarPage {
this.myservice.load_get("get_profile/id/"+this.user_data.id).subscribe(response => {
this.myservice.hide_loader();
if(response.status="success") {
this.getprofile_data = response.result;
// this.result = response.result;
// console.log('Response result in get profile', this.result);
this.editProform.patchValue(response.result);
this.location.lat = response.result.lat;
......@@ -264,43 +295,82 @@ export class AddcarPage {
}
})
}
uploadprofilePicture(event)
{
let fileList: FileList = event.target.files;
if (fileList.length > 0) {
var reader = new FileReader();
reader.onload = (event: any) => {
this.editProform.controls['profile_pic'].setValue(event.target.result)
}
uploadPicture(){
var options ={ maximumImagesCount:1,
width:400,
height: 400,
quality: 100
}
this.imagePicker.getPictures(options).then((results) => {
for (var i = 0; i < results.length; i++) {
console.log('Image URI: ' + results[i]);
if(results[i]){
this.base64Image = results[i];
this.profile_pic = results[i];
}
reader.readAsDataURL(event.target.files[0]);
let file = fileList[0];
var ext = (file.name).split(".").pop();
if (ext == 'jpg' || ext == 'jpeg' || ext == 'png') {
this.formdata.append('profile_pic', file, file.name);
}
else {
this.myservice.show_alert('', 'profile.Please choose an image file')
}
}, (err) => { });
}
}
}
fileChange1(event)
{
let fileList: FileList = event.target.files;
if (fileList.length > 0) {
var reader = new FileReader();
reader.onload = (event: any) => {
this.editProform.controls['vehicle_picture1'].setValue(event.target.result)
}
reader.readAsDataURL(event.target.files[0]);
let file = fileList[0];
var ext = (file.name).split(".").pop();
if (ext == 'jpg' || ext == 'jpeg' || ext == 'png') {
this.formdata.append('vehicle_picture1', file, file.name);
}
else {
uploadvehicleimg(pic){
console.log(pic);
var options ={ maximumImagesCount:1,
width:400,
height: 400,
quality: 100
}
this.imagePicker.getPictures(options).then((results) => {
console.log(results.length);
console.log(results[0]);
if(results){
this.base64vehicle[pic]= results[0];
this.vehicle_pic[pic] = results[0];
}
this.myservice.show_alert('', 'profile.Please choose an image file')
}
}
}
fileChange2(event)
{
let fileList: FileList = event.target.files;
if (fileList.length > 0) {
var reader = new FileReader();
reader.onload = (event: any) => {
this.editProform.controls['vehicle_picture2'].setValue(event.target.result)
}
reader.readAsDataURL(event.target.files[0]);
let file = fileList[0];
var ext = (file.name).split(".").pop();
if (ext == 'jpg' || ext == 'jpeg' || ext == 'png') {
this.formdata.append('vehicle_picture2', file, file.name);
}, (err) => { });
console.log(this.base64vehicle);
}
}
else {
this.myservice.show_alert('', 'profile.Please choose an image file')
}
}
}
private markFormGroupTouched(formGroup: FormGroup) {
(<any>Object).values(formGroup.controls).forEach(control => {
......@@ -310,9 +380,5 @@ export class AddcarPage {
}
});
}
open_img(img)
{
this.photoViewer.show(img);
}
}
......@@ -27,10 +27,10 @@
<div class="fm_body_part hood_pos" (click)="body_part('Hood',$event)" >Hood
<div class="fm_arw_down"></div>
</div>
<div class="fm_body_part panel_posright" (click)="body_part('Right Panel',$event)" >Right Panel
<div class="fm_body_part panel_posright" (click)="body_part('Right Front Panel',$event)" >Right Front Panel
<div class="fm_arw_left"></div>
</div>
<div class="fm_body_part panel_posleft" (click)="body_part('Left Panel',$event)" >Left Panel
<div class="fm_body_part panel_posleft" (click)="body_part('Left Front Panel',$event)" >Left Front Panel
<div class="fm_arw_right"></div>
</div>
</div>
......@@ -38,30 +38,34 @@
<div class="fm_body_part wind_pos" (click)="body_part('Windsheild',$event)" >Windsheild
<div class="fm_arw_down"></div>
</div>
<div class="fm_body_part mirror_pos" (click)="body_part('Side Mirrors',$event)" >Side Mirrors
<div class="fm_body_part leftmirror_pos" (click)="body_part('Right Mirror',$event)" >Right Mirror
<div class="fm_arw_left"></div>
</div>
<div class="fm_body_part window_pos" (click)="body_part('Windows',$event)" >Windows
<div class="fm_body_part rightmirror_pos" (click)="body_part('Left Mirror',$event)" >Left Mirror
<div class="fm_arw_right"></div>
</div>
<div class="fm_body_part window_pos" (click)="body_part('Right Front Door',$event)" >Right Front Door
<div class="fm_arw_left"></div>
</div>
<div class="fm_body_part door_posright" (click)="body_part('Right Doors',$event)" >Right Doors
<div class="fm_body_part leftwindow_pos" (click)="body_part('Left Front Door',$event)" >Left Front Door
<div class="fm_arw_left"></div>
</div>
<div class="fm_body_part door_posright" (click)="body_part('Right Back Door',$event)" >Right Back Door
<div class="fm_arw_left"></div>
</div>
<div class="fm_body_part door_posleft" (click)="body_part('Left Doors',$event)" >Left Doors
<div class="fm_body_part door_posleft" (click)="body_part('Left Back Door',$event)" >Left Back Door
<div class="fm_arw_right"></div>
</div>
</div>
<div class="fm_body_back">
<div class="fm_body_part panel_posright" (click)="body_part('Right Panel',$event)" >Right Panel
<div class="fm_body_part panel_posright" (click)="body_part('Right Back Panel',$event)" >Right Back Panel
<div class="fm_arw_left"></div>
</div>
<div class="fm_body_part panel_posleft" (click)="body_part('Left Panel',$event)" >Left Panel
<div class="fm_body_part panel_posleft" (click)="body_part('Left Back Panel',$event)" >Left Back Panel
<div class="fm_arw_right"></div>
</div>
<div class="fm_body_part wind_pos" (click)="body_part('Windsheild',$event)" >Windsheild
<div class="fm_arw_up"></div>
</div>
<div class="fm_body_part bumber_pos bumber" (click)="body_part('Rear Bumber',$event)" >Rear Bumber
<div class="fm_arw_up"></div>
</div>
......
......@@ -34,17 +34,20 @@ page-bodysection {
/*HOOD-PART-LABEL*/
.fm_hood .bumber_pos{left:53px;top:-40px;}
.fm_hood .hood_pos{left:73px;top:22px;}
.fm_hood .hood_pos{left:73px;top:40px;}
.fm_hood .panel_posright{right:-50px;top:30px;}
.fm_hood .panel_posleft{left:-40px;top:30px;}
/*BODY-PART-LABEL*/
.fm_body .wind_pos{left:60px;top:-50px;}
.fm_body .mirror_pos{right:-55px;top:-35px;}
.fm_body .window_pos{right:-40px;top:0px;}
.fm_body .door_posright{right:-51px;top:40px;}
.fm_body .door_posleft{left:-40px;top:40px;}
.fm_body .rightmirror_pos{right: 161px; top: -31px; width: 86px;}
.fm_body .leftmirror_pos{right:-48px;top:-35px;}
.fm_body .window_pos{right:-51px;top:-14px;}
.fm_body .leftwindow_pos{right: 145px; top: -10px;width: 97px;}
.fm_body .door_posright{right:-51px;top:23px;}
.fm_body .door_posleft{left: -40px;top: 25px;}
/*BACK-PART-LABEL*/
......
......@@ -91,6 +91,7 @@ export class DamagephotoPage {
}
save_body_shop(vals){
console.log(this.base64Image)
console.log(this.base64Image.length);
if(this.base64Image.length > 0){
this.myservice.show_loader();
......
......@@ -34,23 +34,26 @@
<span>€{{garages.price}}</span>
</div>
<div class="clear"></div>
<div class="fm_line" >
<div class="child1"><strong>Open From</strong></div>
<div class="child2" ><p *ngIf="garages.open_time" >: &nbsp;{{garages.open_time.start}} to {{garages.open_time.end}} </p> <p *ngIf="!garages.open_time" >Closed Today</p></div>
<div class="clear"></div>
</div>
<div class="fm_line">
<div class="child1"><strong>Days Open</strong></div>
<div class="child2"><p>:&nbsp;<span *ngFor="let days of garages.available_days" >{{days}}</span></p></div>
<div class="clear"></div>
</div>
<div class="fm_line">
<div class="child1"><strong>Services</strong></div>
<div class="child2"><p>:&nbsp;<span class="service">{{garages.services}}</span> </p></div>
<div class="clear"></div>
</div>
</div>
<div class="fm_listing_bottom">
<div class="fm_line" >
<div class="child1"><strong>Open From</strong></div>
<div class="child2" ><p *ngIf="garages.open_time" >: &nbsp;{{garages.open_time.start}} to {{garages.open_time.end}} </p> <p *ngIf="!garages.open_time" >Closed Today</p></div>
<div class="clear"></div>
</div>
<div class="fm_line">
<div class="child1"><strong>Days Open</strong></div>
<div class="child2"><p>:&nbsp;<span *ngFor="let days of garages.available_days" >{{days}}</span></p></div>
<div class="clear"></div>
</div>
<div class="fm_line">
<div class="child1"><strong>Services</strong></div>
<div class="child2"><p>:&nbsp;<span class="service">{{garages.services}}</span> </p></div>
<div class="clear"></div>
</div>
</div>
</li>
......
......@@ -11,8 +11,8 @@
<div class="fm_home_wrapper">
<div class="fm_home_banner">
<div class="fm_home_photo">
<span *ngIf="user_data" >
<img *ngIf="user_data.profile_pic!=''" [src]="user_data.profile_pic" >
<span *ngIf="getprofile_data" >
<img *ngIf="getprofile_data.profile_pic!=''" [src]="getprofile_data.profile_pic" >
</span></div>
<div class="fm_home_banner_detail">
<div class="fm_home_detail_inner">
......
......@@ -16,15 +16,18 @@ import {Myservice} from '../../providers/myservice';
templateUrl: 'home.html',
})
export class HomePage {
getprofile_data
user_data:any;
offers:any;
constructor(public navCtrl: NavController, public navParams: NavParams, public storage: Storage, private myservice: Myservice) {
this.storage.get('user_data').then((user_data) => {
this.storage.get('user_data').then((user_data) => {
console.log(user_data);
if(user_data!=null){
this.user_data= user_data;
console.log(user_data.id)
this.get_offers(user_data.id);
this.profile(user_data.id)
}
else{
......@@ -73,4 +76,13 @@ export class HomePage {
}
}
profile(id){
this.myservice.show_loader();
this.myservice.load_get("get_profile/id/"+id).subscribe(response => {
this.myservice.hide_loader();
if(response.status="success") {
this.getprofile_data = response.result;
}
});
}
}
......@@ -68,9 +68,13 @@
<div class="fm_list_price">
<span>{{garage_list.distance}}km</span>
</div>
<div ><strong>Services</strong></div>
<div ><p>:&nbsp;<span class="service">{{garage_list.services}}</span> </p></div>
<div class="clear"></div>
<div class="clear"></div>
</div>
<div class="fm_listing_bottom">
<div>
<!-- <div class="fm_line" >
<div class="child1"><strong>Open From</strong></div>
<div class="child2" ><p *ngIf="garage_list.open_time" >: &nbsp;{{garage_list.open_time.start}} to {{garage_list.open_time.end}} </p> <p *ngIf="!garage_list.open_time" >Closed Today</p></div>
......@@ -81,11 +85,8 @@
<div class="child2"><p>:&nbsp;<span *ngFor="let days of garage_list.available_days" >{{days}}</span></p></div>
<div class="clear"></div>
</div>-->
<div class="fm_line">
<div class="child1"><strong>Services</strong></div>
<div class="child2"><p>:&nbsp;<span class="service">{{garage_list.services}}</span> </p></div>
<div class="clear"></div>
</div>
</div>
</li>
......
......@@ -9,10 +9,17 @@
<ion-item>
<ion-input formControlName="email" type="text" placeholder="Email" #emailVal (keyup)="trim_white(emailVal.value)" autocomplete="off" ></ion-input>
</ion-item>
<div class="bmd-field error">
<p class="valid-p" *ngIf="LoginForm.controls.email.hasError('required') && LoginForm.controls.email.touched">Enter Email</p>
</div>
<ion-item>
<ion-input formControlName="password" type="password" placeholder="Password" autocomplete="off" ></ion-input>
</ion-item>
<div class="bmd-field error">
<p class="valid-p" *ngIf="LoginForm.controls.password.hasError('required') && LoginForm.controls.password.touched">Enter Passsword</p>
</div>
</ion-list>
<button class="login_btn theme_lblue" ion-button [disabled]="!LoginForm.valid" >LOGIN</button>
</form>
......
......@@ -77,18 +77,19 @@ export class LoginPage {
}
OnLogin(){
console.log(this.LoginForm.value)
console.log(this.device_id)
console.log(this.lat_lng)
console.log(this.LoginForm.value);
console.log(this.device_id);
console.log(this.lat_lng);
this.myservice.show_loader();
var val = Object.assign({}, this.LoginForm.value , {'device_id' :this.device_id,'lat' : this.lat_lng.lat, 'lng' : this.lat_lng.lng })
this.myservice.load_post(val,'login').subscribe(data =>{
console.log(data);
console.log('Login response',data);
this.myservice.hide_loader();
if(data.status=='success'){
if(data.status=='success') {
this.myservice.show_alert('Success','Welcome Back');
this.storage.set('user_data',data.data).then(()=>{
this.myservice.hide_loader();
this.storage.get('user_data').then((user_data) => {
this.events.publish('user:update_profile', user_data);
//this.nav.setRoot('LoginPage');
......@@ -96,8 +97,9 @@ export class LoginPage {
})
});
}else
this.myservice.show_alert("Error!", data.message);
} else
this.myservice.show_alert("Note!", data.message);
});
}
......
......@@ -16,6 +16,10 @@
<ion-item>
<ion-input type="text" formControlName="email" placeholder="Email Id"></ion-input>
</ion-item>
<div class="bmd-field error">
<p class="valid-p" *ngIf="forgot.controls.email.hasError('required') && forgot.controls.email.touched">Enter Email</p>
</div>
</ion-list>
<button class="login_btn theme_lblue widthFull" ion-button [disabled]="!forgot.valid" >Get new password</button>
</form>
......
......@@ -17,7 +17,7 @@ export class OtpPage {
constructor(public navCtrl: NavController, public navParams: NavParams,private myservice: Myservice, public formBuilder : FormBuilder,public storage:Storage) {
this.forgot = this.formBuilder.group({
email: ['', [Validators.required, this.emailValidator.bind(this)]],
email: ['', Validators.compose([Validators.pattern("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"), Validators.required])],
});
}
......@@ -39,7 +39,7 @@ export class OtpPage {
this.myservice.show_alert("Success" , data.message);
}
else {
this.myservice.show_alert("Error" , data.message);
this.myservice.show_alert("Get new Passsword!" , data.message);
}
})
}
......
......@@ -19,14 +19,21 @@ import {Myservice} from '../../providers/myservice';
export class RequestPage {
private requestsForm : FormGroup;
user_data:any;
id:any;
service:any;
filtr:any;
arr:any=[];
checkbox_val = [{'value': 'fuelfilter','name' : 'Fuel Filter'},{'value': 'cabinfilter','name' : 'Cabin Filter'},{'value': 'airfilter','name' : 'Air Filter'}]
constructor(public navCtrl: NavController, public navParams: NavParams, private formBuilder: FormBuilder,public storage:Storage, private myservice: Myservice,) {
this.service = this.navParams.get('service')
this.storage.get('user_data').then((user_data) => {
console.log('User dtaa' , user_data)
this.id = user_data.id;
this.user_data = user_data;
});
this.requestsForm = this.formBuilder.group({
......@@ -54,8 +61,59 @@ export class RequestPage {
onSubmit(){
console.log('Id', this.id)
if(!this.user_data){
this.navCtrl.push('LoginPage');
this.myservice.show_alert('Note!','Please Login to send request. If you are a new user, please click on signup button')
}
if(this.requestsForm.valid){
console.log('in',this.requestsForm.value)
this.myservice.load_get('get_quotes?id='+81).subscribe(data => {
console.log('Data',data);
console.log('test',data.data[10].detail)
});
console.log('in',this.requestsForm.value);
var obj1 ={'user_id':this.id,'service_id':1,'subservice_id':1,'detail':this.requestsForm.value}
if(this.service == 'Annual Service')
{
this.myservice.load_post(obj1,'request_service').subscribe(data => {
if(data.status == 'success')
{
this.navCtrl.push('SuccessPage');
}
console.log(data)
});
}
var obj2= {'user_id':this.id,'service_id':1,'subservice_id':2,'detail':this.requestsForm.value}
if(this.service == 'Oil Service')
{
this.myservice.load_post(obj2,'request_service').subscribe(data => {
if(data.status == 'success')
{
this.navCtrl.push('SuccessPage');
}
});
}
var obj3={'user_id':this.id,'service_id':1,'subservice_id':5,'detail':this.requestsForm.value}
if(this.service == 'Others')
{
console.log(obj3)
this.myservice.load_post(obj3,'request_service').subscribe(data => {
if(data.status == 'success')
{
this.navCtrl.push('SuccessPage');
}
console.log(data)
});
}
//var obj4={'user_id':this.id,'service_id':1,'subservice_id':5,'detail':this.requestsForm.value}
}else{ // Form is not valid
this.markFormGroupTouched(this.requestsForm);
}
......
......@@ -19,6 +19,7 @@ import {Myservice} from '../../providers/myservice';
export class RequestBreak {
private requestsForm : FormGroup;
id:any;
service:any;
filtr:any;
arr:any=[];
......@@ -29,7 +30,11 @@ export class RequestBreak {
this.service = this.navParams.get('service')
this.service = this.navParams.get('service')
this.storage.get('user_data').then((user_data) => {
console.log('User dtaa' , user_data)
this.id = user_data.id;
});
this.requestsForm = this.formBuilder.group({
//filters: [{'value': 'fuelfilter','name' : 'Fuel Filter'}, ],
......@@ -44,6 +49,7 @@ export class RequestBreak {
// this.requestsForm.setControl('filters',new FormControl('',Validators.required));
// else
// this.requestsForm.setControl('filters',new FormControl('',));
}
ionViewDidLoad() {
......@@ -57,6 +63,10 @@ export class RequestBreak {
if(this.requestsForm.valid){
console.log('in',this.requestsForm.value)
var obj = { "user_id":this.id , 'service_id':1 ,'subservice_id':3,'detail':this.requestsForm.value};
this.myservice.load_post(obj,'request_service').subscribe(data => {
console.log(data)
});
}else{ // Form is not valid
this.markFormGroupTouched(this.requestsForm);
}
......
......@@ -81,14 +81,20 @@
<div class="bmd-field error">
<p class="valid-p" *ngIf="signup.controls.car_model.hasError('required') && signup.controls.car_model.touched">Sorry, field is required!</p>
</div>
<div class="login_wizard_head"> Add Picture Of Vehicle Paper </div>
<div class="login_wizard_head"> Add Two Picture Of Vehicle Paper </div>
<div class="fm_add_picture" >
<li class="fm_add_photo" (click)="uploadPicture('1')" ><div class="inside_image" *ngIf="profile_pic" ><img [src]="profile_pic['1']" *ngIf="profile_pic['1']" ></div></li>
<li (click)="uploadPicture('2')" ><div class="inside_image" *ngIf="profile_pic" ><img [src]="profile_pic['2']" *ngIf="profile_pic['2']" ></div></li>
</div>
<div class="bmd-field error">
<p class="valid-p" *ngIf="">Sorry, Please upload Two Vehicle Paper Images to Continue!</p>
</div>
<!-- <li class="fm_add_photo" (click)="uploadPicture('1')" ><div class="inside_image" *ngIf="profile_pic" ><img [src]="base64Image" *ngIf="profile_pic['1']" ></div></li>
<li (click)="uploadPicture('2')" ><div class="inside_image" *ngIf="profile_pic" ><img [src]="profile_pic['2']" *ngIf="profile_pic['2']" ></div></li> -->
<input type="file" accept="image/*" (change)="fileChange1($event)" />
</div>
<div class="fm_add_picture" >
<!-- <li class="fm_add_photo" (click)="uploadPicture('1')" ><div class="inside_image" *ngIf="profile_pic" ><img [src]="base64Image" *ngIf="profile_pic['1']" ></div></li>
<li (click)="uploadPicture('2')" ><div class="inside_image" *ngIf="profile_pic" ><img [src]="profile_pic['2']" *ngIf="profile_pic['2']" ></div></li> -->
<input type="file" accept="image/*" (change)="fileChange2($event)" />
</div>
<!-- <div class="bmd-field error">
<p class="valid-p" *ngIf="image_needed">Sorry, Please upload Two Vehicle Paper Images to Continue!</p>
</div> -->
</ion-list>
<div class="login_wizard_head">Create a password</div>
<ion-list>
......
......@@ -6,6 +6,7 @@ import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';
import { Storage } from '@ionic/storage';
import { ToastController } from 'ionic-angular';
import { LoadingController, AlertController, Events } from 'ionic-angular';
......@@ -35,7 +36,12 @@ export class Myservice {
user_data:any;
notify:any;
constructor(public http: Http, public loadingCtrl: LoadingController, public alertCtrl: AlertController, public events: Events,public storage:Storage ) {
constructor(public http: Http,
public loadingCtrl: LoadingController,
public alertCtrl: AlertController,
public events: Events,
public storage:Storage,
public toastCtrl: ToastController ) {
//const fileTransfer: TransferObject = this.transfer.create();
this.storage.get('user_data').then((user_data) => {
if(user_data){
......@@ -87,6 +93,13 @@ export class Myservice {
hide_loader() {
this.loader.dismissAll();
}
presentToast(message) {
const toast = this.toastCtrl.create({
message: message,
duration: 3000
});
toast.present();
}
/* load_posts(post_data, fn_name) {
......@@ -100,6 +113,7 @@ export class Myservice {
}
*/
load_post(post_data, fn_name) {
var post_url = this.webservice_url + fn_name;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment