Commit 9e3eb915 by Alen Jose

change pswd

parent b37961d5
...@@ -84,4 +84,5 @@ ...@@ -84,4 +84,5 @@
<plugin name="cordova-plugin-splashscreen" spec="^5.0.2" /> <plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" /> <plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<plugin name="de.appplant.cordova.plugin.local-notification" spec="^0.8.5" /> <plugin name="de.appplant.cordova.plugin.local-notification" spec="^0.8.5" />
<plugin name="cordova-plugin-x-toast" spec="^2.6.2" />
</widget> </widget>
...@@ -345,6 +345,11 @@ ...@@ -345,6 +345,11 @@
"resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-4.8.0.tgz", "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-4.8.0.tgz",
"integrity": "sha512-mNtE7HI7W7TydIJaux48G3Lp9BEH2Hx+RWPySfmH3bwl7yeytvXzlKPPCYbpphBlRhIKYp5v3hepM7Ufuo3+9A==" "integrity": "sha512-mNtE7HI7W7TydIJaux48G3Lp9BEH2Hx+RWPySfmH3bwl7yeytvXzlKPPCYbpphBlRhIKYp5v3hepM7Ufuo3+9A=="
}, },
"@ionic-native/toast": {
"version": "4.9.0",
"resolved": "https://registry.npmjs.org/@ionic-native/toast/-/toast-4.9.0.tgz",
"integrity": "sha512-DVzsQd98cNTqM+RopmhwZu3BBT35/DSbkssjW0YuMBebtjCRpAN5qfzbZ7GQSGzAlzeynN2IPn6/od7I27xD5A=="
},
"@ionic/app-scripts": { "@ionic/app-scripts": {
"version": "3.1.10", "version": "3.1.10",
"resolved": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.1.10.tgz", "resolved": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.1.10.tgz",
...@@ -1595,6 +1600,11 @@ ...@@ -1595,6 +1600,11 @@
"resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.3.tgz", "resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.3.tgz",
"integrity": "sha1-tehezbv+Wu3tQKG/TuI3LmfZb7Q=" "integrity": "sha1-tehezbv+Wu3tQKG/TuI3LmfZb7Q="
}, },
"cordova-plugin-x-toast": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/cordova-plugin-x-toast/-/cordova-plugin-x-toast-2.6.2.tgz",
"integrity": "sha1-Clj8/5Vwi3htMVGlp/Kgp74Ge5g="
},
"core-js": { "core-js": {
"version": "2.5.5", "version": "2.5.5",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz",
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
"@ionic-native/onesignal": "^4.9.0", "@ionic-native/onesignal": "^4.9.0",
"@ionic-native/splash-screen": "4.8.0", "@ionic-native/splash-screen": "4.8.0",
"@ionic-native/status-bar": "4.8.0", "@ionic-native/status-bar": "4.8.0",
"@ionic-native/toast": "^4.9.0",
"@ionic/storage": "2.1.3", "@ionic/storage": "2.1.3",
"angularfire2": "^5.0.0-rc.11", "angularfire2": "^5.0.0-rc.11",
"cordova-android": "^6.2.3", "cordova-android": "^6.2.3",
...@@ -39,6 +40,7 @@ ...@@ -39,6 +40,7 @@
"cordova-plugin-ionic-webview": "^1.1.19", "cordova-plugin-ionic-webview": "^1.1.19",
"cordova-plugin-splashscreen": "^5.0.2", "cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-whitelist": "^1.3.3", "cordova-plugin-whitelist": "^1.3.3",
"cordova-plugin-x-toast": "^2.6.2",
"de.appplant.cordova.plugin.local-notification": "^0.8.5", "de.appplant.cordova.plugin.local-notification": "^0.8.5",
"firebase": "^5.2.0", "firebase": "^5.2.0",
"ionic-angular": "3.9.2", "ionic-angular": "3.9.2",
...@@ -61,7 +63,8 @@ ...@@ -61,7 +63,8 @@
"cordova-plugin-splashscreen": {}, "cordova-plugin-splashscreen": {},
"cordova-plugin-whitelist": {}, "cordova-plugin-whitelist": {},
"cordova-plugin-app-event": {}, "cordova-plugin-app-event": {},
"de.appplant.cordova.plugin.local-notification": {} "de.appplant.cordova.plugin.local-notification": {},
"cordova-plugin-x-toast": {}
}, },
"platforms": [ "platforms": [
"android" "android"
......
...@@ -76,12 +76,6 @@ export class MyApp { ...@@ -76,12 +76,6 @@ export class MyApp {
this.rootPage = 'LandingPage' this.rootPage = 'LandingPage'
} }
}) })
this.localNotifications.schedule({
text: 'Delayed ILocalNotification',
trigger: { at: new Date(new Date().getTime() + 3600) },
led: 'FF0000',
sound: null
});
}); });
} }
...@@ -163,4 +157,14 @@ export class MyApp { ...@@ -163,4 +157,14 @@ export class MyApp {
}); });
} }
setlocalNotification(){
this.localNotifications.schedule({
text: 'Delayed ILocalNotification',
title: 'CMC-Driver',
trigger: { at: new Date(new Date().getTime() + 120000) },
led: 'FF0000',
sound: null
});
}
} }
...@@ -7,8 +7,6 @@ ...@@ -7,8 +7,6 @@
</div> </div>
<p>{{local?.name}}</p> <p>{{local?.name}}</p>
<h6>{{local?.dial_code}} {{local?.phone}}</h6> <h6>{{local?.dial_code}} {{local?.phone}}</h6>
</div> </div>
<ion-list> <ion-list>
<ion-item class="item_cstm"> <ion-item class="item_cstm">
...@@ -19,8 +17,8 @@ ...@@ -19,8 +17,8 @@
<div class="cab_sidemenu_list"> <div class="cab_sidemenu_list">
<ul> <ul>
<li menuClose (click)="openPage('HomePage')">My Rides</li> <li menuClose (click)="openPage('HomePage')">My Rides</li>
<li menuClose>My Trips</li> <li menuClose (click)="openPage('UploaddocPage')">Documents</li>
<li menuClose>Settings</li> <li menuClose (click)="openPage('ChangepassPage')">Change Password</li>
<li menuClose (click)="openPage('LandingPage')">Logout</li> <li menuClose (click)="openPage('LandingPage')">Logout</li>
</ul> </ul>
</div> </div>
......
...@@ -22,6 +22,7 @@ import { dataService } from "../providers/common.service"; ...@@ -22,6 +22,7 @@ import { dataService } from "../providers/common.service";
import { DatePipe } from '@angular/common'; import { DatePipe } from '@angular/common';
import * as firebase from "firebase"; import * as firebase from "firebase";
import { LocalNotifications } from '@ionic-native/local-notifications'; import { LocalNotifications } from '@ionic-native/local-notifications';
import { Toast } from '@ionic-native/toast';
export const firebaseConfig = { export const firebaseConfig = {
apiKey: "AIzaSyDLrbLd4RCCh86xuTVu7-cfJ28We_cG1sU", apiKey: "AIzaSyDLrbLd4RCCh86xuTVu7-cfJ28We_cG1sU",
...@@ -63,6 +64,7 @@ firebase.initializeApp(firebaseConfig); ...@@ -63,6 +64,7 @@ firebase.initializeApp(firebaseConfig);
dataService, dataService,
DatePipe, DatePipe,
LocalNotifications, LocalNotifications,
Toast,
] ]
}) })
export class AppModule {} export class AppModule {}
<ion-header class="theme_dark_bg">
<button class="nav_btn theme_color floatLeft" menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<div class="nav_header_title floatLeft">
Change Password
</div>
<div class="clear"></div>
</ion-header>
<ion-content padding class="themelogin_background">
<div class="login_wrapper">
<ion-card>
<ion-card-content>
<form [formGroup]="pswdForm">
<ion-list>
<ion-item>
<ion-input type="password" placeholder="Current password" formControlName="current"></ion-input>
</ion-item>
<div class="er_req" *ngIf="pswdForm.controls.current.invalid && (pswdForm.get('current').dirty || pswdForm.get('current').touched)">
Minimum 6 characters
</div>
<ion-item>
<ion-input type="password" placeholder="New password" formControlName="new"></ion-input>
</ion-item>
<div class="er_req" *ngIf="pswdForm.controls.new.invalid && (pswdForm.get('new').dirty || pswdForm.get('new').touched)">
Minimum 6 characters
</div>
<ion-item>
<ion-input type="password" placeholder="Confirm password" formControlName="confirm"></ion-input>
</ion-item>
<div class="er_req" *ngIf="pswdForm.controls.confirm.invalid && (pswdForm.get('confirm').dirty || pswdForm.get('confirm').touched)">
Password mismatches
</div>
<button ion-button class="cab_sign_btn" (click)="change()">Proceed</button>
</ion-list>
</form>
</ion-card-content>
</ion-card>
</div>
</ion-content>
\ No newline at end of file
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { ChangepassPage } from './changepass';
@NgModule({
declarations: [
ChangepassPage,
],
imports: [
IonicPageModule.forChild(ChangepassPage),
],
})
export class ChangepassPageModule {}
page-changepass {
.login_bg{
background: url('../assets/imgs/login_bg.png');
background-position: center;
background-size: cover;
}
.login_wrapper{
width:100%;
text-align: center;
padding-top:40%;
.card{
width:80%;
margin:0 auto;
border-radius: 10px;
.card-content{
.logo_div{
text-align: center;
padding-top:20px;
img{
width:150px;
margin:0 auto;
}
}
.list{
padding-top:20px;
padding-bottom:20px;
.item{
.item-inner{
.input-wrapper{
margin-bottom: 10px;
.input{
background: #ececec;
border-radius:5px;
height:45px;
.text-input{
width:100%;
height:100%;
text-align: center;
font-weight: 300;
}
}
}
}
}
button{
color: #fff;
border-radius:5px;
height:45px;
width:100%;
text-transform: capitalize;
font-weight: 600;
font-size: 16px;
}
}
}
}
.social{
padding-top:30px;
ul{
margin:0px;
padding:0px;
text-align: center;
li{
list-style: none;
display: inline-block;
margin:3px;
img{
width:30px;
}
}
}
}
p{
text-align: center;
color:#8a8a8a;
font-weight: 400;
font-size: 18px;
padding-top: 10px;
}
.signup{
width:40%;
text-align: center;
background: transparent;
border-radius: 5px;
color:#4c4c4c;
border:2px solid #636363;
text-transform: capitalize;
font-size: 18px;
font-weight: 700;
}
}
.cab_sign_btn{height:45px;width:100%;background:#ff9c00;color: #fff;text-transform: capitalize !important;font-size: 18px;font-weight: 300;}
.er_req{color:#ff6060;font-size: 15px}
}
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { FormGroup, Validators, FormBuilder } from '@angular/forms'
import { Myservice } from '../../providers/myservice'
import { Storage } from '@ionic/storage'
import { driver } from '../../models/mymodel'
import { Toast } from '@ionic-native/toast';
@IonicPage()
@Component({
selector: 'page-changepass',
templateUrl: 'changepass.html',
})
export class ChangepassPage {
pswdForm: FormGroup
local: driver
constructor(public navCtrl: NavController, public navParams: NavParams, private myservice: Myservice, public storage: Storage, private formbuilder: FormBuilder, private toast: Toast) {
this.pswdForm = this.formbuilder.group({
current: ['', Validators.compose([Validators.required, Validators.minLength(6)])],
new: ['', Validators.compose([Validators.required, Validators.minLength(6)])],
confirm: ['', Validators.compose([Validators.required]), this.MatchPassword.bind(this)],
id: ['']
})
}
ionViewDidEnter() {
this.storage.get('driver_data').then(data => {
if (data != null) {
this.local = data
this.pswdForm.controls['id'].setValue(this.local.id)
}
})
}
change() {
this.myservice.show_loader();
this.myservice.load_post(this.pswdForm.value, 'changePassword').subscribe(response => {
this.myservice.hide_loader()
if (response.status == 'success') {
this.pswdForm.reset();
// this.toast.show(response.message, '2000', 'center').subscribe(toast => {
// console.log(toast);
// });
}
else {
this.pswdForm.reset();
this.myservice.show_alert('', response.message)
}
})
}
back() {
this.navCtrl.pop();
}
//for checking new pswd and confirm are same or not
MatchPassword(val) {
return new Promise(resolve => {
if (val.value == this.pswdForm.value.new) {
resolve(null);
}
else {
resolve({ 'match': false });
}
})
}
//for checking current pswd and new pswd are same or not
crnt_new_check(val) {
return new Promise(resolve => {
if (val.value == this.pswdForm.value.current) {
resolve({ 'match': false });
}
else {
resolve(null);
}
})
}
}
<ion-header class="nav_header"> <ion-header class="theme_dark_bg">
<button ion-button class="nav_btn floatLeft" (click)="back()"> <button class="nav_btn theme_color floatLeft">
<ion-icon name="ios-arrow-back-outline"></ion-icon> <ion-icon name="ios-arrow-back" (click)="back()"></ion-icon>
</button> </button>
<div class="nav_header_title floatLeft"> <div class="nav_header_title floatLeft">
License {{title}}
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</ion-header> </ion-header>
<ion-content padding> <ion-content padding>
<div class="sign_up_wrapper"> <div class="sign_up_wrapper">
<h4>Licence</h4> <h4>{{title}}</h4>
<hr> <hr>
<br> <br>
<p>Your documents must be readable<br> <p>Your documents must be readable<br>
and clear</p> and clear</p>
<button ion-button class="upload_btn">UPDATE</button> <button ion-button class="upload_btn" id="upld_btn">
<input type="file" (change)="fileChange($event)" accept="image/*">
</button>
<div class="check_box"> <div class="check_box">
</div> </div>
<h6>mydoc.pdf</h6> <h6>{{filename}}</h6>
<h5>Upload Complete</h5> <!-- <h5>Upload Complete</h5> -->
</div> </div>
</ion-content> </ion-content>
<ion-footer padding> <ion-footer padding>
<button ion-button class="primary btn_primary" (click)="login()">DONE</button> <button ion-button class="primary btn_primary" (click)="upload()">DONE</button>
</ion-footer> </ion-footer>
...@@ -60,6 +60,11 @@ page-docupdate { ...@@ -60,6 +60,11 @@ page-docupdate {
padding-right: 40px; padding-right: 40px;
font-weight:600; font-weight:600;
letter-spacing: 2px; letter-spacing: 2px;
input{
opacity: 0;
position: absolute;
left: 0px;
}
} }
p{ p{
color: #737270; color: #737270;
......
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular'; import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Myservice } from "../../providers/myservice";
import { Storage } from "@ionic/storage";
import { driver } from "../../models/mymodel";
import { Toast } from '@ionic-native/toast';
@IonicPage() @IonicPage()
@Component({ @Component({
...@@ -9,21 +11,75 @@ import { IonicPage, NavController, NavParams } from 'ionic-angular'; ...@@ -9,21 +11,75 @@ import { IonicPage, NavController, NavParams } from 'ionic-angular';
templateUrl: 'docupdate.html', templateUrl: 'docupdate.html',
}) })
export class DocupdatePage { export class DocupdatePage {
title: string = this.navParams.get('title')
formdata = new FormData();
filename: string;
local: driver
myData = { 'id': '', 'secret_key': 'My_key', 'field': this.navParams.get('title') }
fileData: any;
constructor(public navCtrl: NavController, public navParams: NavParams) { constructor(public navCtrl: NavController, public navParams: NavParams, private myservice: Myservice, private storage: Storage, private toast: Toast) {
} }
ionViewDidLoad() { ionViewDidEnter() {
console.log('ionViewDidLoad DocupdatePage'); this.storage.get('driver_data').then(data => {
if (data) {
this.local = data
this.myData.id = data.id
this.myservice.load_post({ id: data.id, field: this.title }, 'getDocument').subscribe(response => {
this.myservice.hide_loader()
if (response.status == 'success') {
document.getElementById("upld_btn").textContent = 'UPDATE'
this.fileData = response.data
}
else
document.getElementById("upld_btn").textContent = 'UPLOAD'
})
}
})
} }
fileChange(event) {
let fileList: FileList = event.target.files;
if (fileList.length > 0) {
back(){ var reader = new FileReader();
this.navCtrl.pop();
reader.readAsDataURL(event.target.files[0]);
let file = fileList[0];
var ext = (file.name).split(".").pop();
if (ext == 'jpg' || ext == 'jpeg' || ext == 'png' || ext == 'pdf') {
this.filename = file.name
this.formdata.append('image', file, file.name);
}
else {
this.myservice.show_alert('', 'Please choose file with .jpg/.jpeg/.png/.pdf extension')
}
}
}
upload() {
this.myservice.show_loader()
this.formdata.append('data', JSON.stringify(this.myData));
if (this.fileData)
this.formdata.append('id', JSON.stringify(this.fileData.id));
this.myservice.fileUpload(this.formdata, 'driverDocUpload').subscribe(resp => {
this.myservice.hide_loader()
if (resp.status == 'success') {
// this.toast.show(response.message, '2000', 'center').subscribe(toast => {
// console.log(toast);
// });
}
else
this.myservice.show_alert('', resp.message);
})
} }
login(){ back() {
this.navCtrl.push("LoginPage"); this.navCtrl.pop();
} }
} }
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<ion-icon name="menu"></ion-icon> <ion-icon name="menu"></ion-icon>
</button> </button>
<div class="nav_header_title floatLeft"> <div class="nav_header_title floatLeft">
Rides My Rides
</div> </div>
<div class="clear"></div> <div class="clear"></div>
<div class="rides_tab"> <div class="rides_tab">
......
<ion-header class="nav_header"> <ion-header class="theme_dark_bg">
<button ion-button class="nav_btn floatLeft" (click)="back()"> <button class="nav_btn theme_color floatLeft" menuToggle>
<ion-icon name="ios-arrow-back-outline"></ion-icon> <ion-icon name="menu"></ion-icon>
</button> </button>
<div class="nav_header_title floatLeft"> <div class="nav_header_title floatLeft">
Profile
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</ion-header> </ion-header>
...@@ -48,12 +48,52 @@ ...@@ -48,12 +48,52 @@
<div class="er_req textCenter" *ngIf="editForm.controls.email.invalid && (editForm.get('email').dirty || editForm.get('email').touched)"> <div class="er_req textCenter" *ngIf="editForm.controls.email.invalid && (editForm.get('email').dirty || editForm.get('email').touched)">
Enter a valid Email Enter a valid Email
</div> </div>
<!-- <ion-item>
<ion-select> <ion-item>
<ion-option value="1" selected>City</ion-option> <ion-label>DOB</ion-label>
<ion-option value="2">Kochin</ion-option> <ion-datetime displayFormat="DD MMM YYYY" min="1950" max={{maxDate}} formControlName="dob">
</ion-datetime>
</ion-item>
<div class="er_req textCenter" *ngIf="editForm.controls.dob.invalid && (editForm.get('dob').dirty || editForm.get('dob').touched)">
Select your DOB
</div>
<ion-list radio-group formControlName="gender">
<div class="floatLeft">
<ion-radio value="male" checked class="floatLeft"></ion-radio>
<ion-label class="floatLeft">Male</ion-label>
<div class="clear"></div>
</div>
<div class="floatLeft">
<ion-radio value="female" class="floatLeft"></ion-radio>
<ion-label class="floatLeft">Female</ion-label>
<div class="clear"></div>
</div>
<div class="clear"></div>
</ion-list>
<ion-item>
<ion-input type="text" placeholder="License Number" formControlName="license"></ion-input>
</ion-item>
<div class="er_req textCenter" *ngIf="editForm.controls.license.invalid && (editForm.get('license').dirty || editForm.get('license').touched)">
Enter a valid License Number
</div>
<ion-item>
<ion-select formControlName="cartype" placeholder="Car Type">
<ion-option value={{car.car_type}} *ngFor="let car of cars">{{car.car_type}}</ion-option>
</ion-select> </ion-select>
</ion-item> --> </ion-item>
<div class="er_req textCenter" *ngIf="editForm.controls.cartype.invalid && (editForm.get('cartype').dirty || editForm.get('cartype').touched)">
Select a valid Car Type
</div>
<ion-item>
<ion-input type="text" placeholder="Car Number" formControlName="car_no"></ion-input>
</ion-item>
<div class="er_req textCenter" *ngIf="editForm.controls.car_no.invalid && (editForm.get('car_no').dirty || editForm.get('car_no').touched)">
Enter a valid Car Number
</div>
<br> <br>
<button ion-button class="primary" (click)="updateProfile()">SAVE</button> <button ion-button class="primary" (click)="updateProfile()">SAVE</button>
......
...@@ -120,5 +120,5 @@ page-myprofile { ...@@ -120,5 +120,5 @@ page-myprofile {
} }
} }
.er_req{color:#ff6060;padding-top: 10px;font-size: 15px} .er_req{color:#ff6060;font-size: 15px}
} }
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular'; import { IonicPage, NavController, NavParams, Events } from 'ionic-angular';
import { Validators, FormBuilder, FormGroup } from "@angular/forms"; import { Validators, FormBuilder, FormGroup } from "@angular/forms";
import { Http } from '@angular/http' import { Http } from '@angular/http'
import { dialcode } from "../../models/mymodel"; import { dialcode } from "../../models/mymodel";
...@@ -7,6 +7,8 @@ import { OrderbyPipe } from '../../providers/sort-pipe'; ...@@ -7,6 +7,8 @@ import { OrderbyPipe } from '../../providers/sort-pipe';
import { Myservice } from "../../providers/myservice"; import { Myservice } from "../../providers/myservice";
import { Storage } from "@ionic/storage"; import { Storage } from "@ionic/storage";
import { driver } from "../../models/mymodel"; import { driver } from "../../models/mymodel";
import { Toast } from '@ionic-native/toast';
@IonicPage() @IonicPage()
@Component({ @Component({
selector: 'page-myprofile', selector: 'page-myprofile',
...@@ -18,31 +20,63 @@ export class MyprofilePage { ...@@ -18,31 +20,63 @@ export class MyprofilePage {
fileUri: any; fileUri: any;
local:driver; local:driver;
formdata = new FormData(); formdata = new FormData();
codes: Array<dialcode>;
cars:any;
maxDate:any;
constructor(public navCtrl: NavController, public navParams: NavParams, private formBuilder: FormBuilder, private http: Http, private orderbyPipe: OrderbyPipe, private myservice: Myservice, private storage: Storage, public events: Events, private toast: Toast) {
this.maxDate = new Date().getFullYear()
console.log(this.maxDate)
constructor(public navCtrl: NavController, public navParams: NavParams, private formBuilder: FormBuilder, private http: Http, private orderbyPipe: OrderbyPipe, private myservice: Myservice,private storage:Storage) {
this.editForm = this.formBuilder.group({ this.editForm = this.formBuilder.group({
name: ['', Validators.compose([Validators.required, Validators.minLength(3)])], name: ['', Validators.compose([Validators.required, Validators.minLength(3)])],
username: ['', Validators.compose([Validators.required, Validators.minLength(3)])], username: ['', Validators.compose([Validators.required, Validators.minLength(3)])],
email: ['', Validators.compose([Validators.required, Validators.pattern("[a-zA-Z0-9.-_]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}")])], email: ['', Validators.compose([Validators.required, Validators.pattern("[a-zA-Z0-9.-_]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}")])],
dial_code: ['', Validators.required], dial_code: ['', Validators.required],
phone: ['', Validators.compose([Validators.required, this.myservice.checkLimit(10000000, 999999999999999)])], phone: ['', Validators.compose([Validators.required, this.myservice.checkLimit(10000000, 999999999999999)])],
image:[''] image:[''],
secret_key: ['My_key'],
license:['',Validators.required],
cartype:['',Validators.required],
car_no:['',Validators.required],
dob:['',Validators.required],
gender:['',Validators.required],
})
this.http.get('dial-codes.json')
.subscribe(response => {
this.codes = response.json().dialCodes
this.codes = this.orderbyPipe.transform(this.codes, 'dialCode');
}) })
} }
ionViewDidEnter() { ionViewDidEnter() {
this.storage.get('driver_data').then(data=>{ this.storage.get('driver_data').then(data=>{
if(data){ if(data){
console.log(data) this.local = data;
this.editForm.controls['name'].setValue(data.name) this.myservice.load_post({id:data.id}, 'getdriverDetails').subscribe(resp => {
this.editForm.controls['username'].setValue(data.user_name) if (resp.status == 'success') {
this.editForm.controls['email'].setValue(data.email) console.log(resp.data)
this.editForm.controls['dial_code'].setValue(data.dial_code) this.editForm.controls['name'].setValue(resp.data.name)
this.editForm.controls['phone'].setValue(data.phone) this.editForm.controls['username'].setValue(resp.data.user_name)
this.editForm.controls['image'].setValue(data.image) this.editForm.controls['email'].setValue(resp.data.email)
this.editForm.controls['dial_code'].setValue(resp.data.dial_code)
this.editForm.controls['phone'].setValue(resp.data.phone)
this.editForm.controls['image'].setValue(this.myservice.base_url+resp.data.image)
this.editForm.controls['car_no'].setValue(resp.data.car_no)
this.editForm.controls['cartype'].setValue(resp.data.car_type)
this.editForm.controls['dob'].setValue(resp.data.dob)
this.editForm.controls['gender'].setValue(resp.data.gender)
this.editForm.controls['license'].setValue(resp.data.license_no)
}
})
}
})
this.myservice.load_post({},'getCarTypes').subscribe(resp=>{
if(resp.status == 'success'){
this.cars = resp.data
} }
}) })
// this.myservice.load_post({},'')
} }
fileChange(event) { fileChange(event) {
...@@ -70,22 +104,22 @@ export class MyprofilePage { ...@@ -70,22 +104,22 @@ export class MyprofilePage {
} }
updateProfile(){ updateProfile(){
this.myservice.show_loader()
this.formdata.append('data', JSON.stringify(this.editForm.value)); this.formdata.append('data', JSON.stringify(this.editForm.value));
this.formdata.append('id', JSON.stringify(this.local.id)); this.formdata.append('id', JSON.stringify(this.local.id));
this.myservice.fileUpload(this.formdata, 'updatedriverProfile').subscribe(response => { this.myservice.fileUpload(this.formdata, 'updatedriverProfile').subscribe(response => {
if (response.status == true) { this.myservice.hide_loader()
// this.local.email = response.data.email if (response.status == 'success') {
// if (this.imagechange == true) this.local = response.data
// this.local.patient_display_image = response.data.patient_display_image if (this.imagechange == true){
// this.local.name = response.data.firstname + '' + response.data.lastname this.local.image = this.local.image.startsWith("http") ? this.local.image : this.myservice.base_url + this.local.image;
}
// this.events.publish('patient:profile', this.local);
// this.translate.get('editprofile.Profile updated successfully').subscribe(value => { this.events.publish('driver:profile', this.local);
// var alertTitle = value;
// this.toast.show(alertTitle, '2000', 'center').subscribe(toast => { // this.toast.show(response.message, '2000', 'center').subscribe(toast => {
// console.log(toast); // console.log(toast);
// }); // });
// })
} }
else { else {
...@@ -94,10 +128,6 @@ export class MyprofilePage { ...@@ -94,10 +128,6 @@ export class MyprofilePage {
}) })
} }
back(){
this.navCtrl.pop();
}
changepass(){ changepass(){
this.navCtrl.push("ChangepassPage"); this.navCtrl.push("ChangepassPage");
} }
......
<ion-header class="theme_dark_bg">
<button class="nav_btn theme_color floatLeft" menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<div class="nav_header_title floatLeft">
Documents
</div>
<div class="clear"></div>
</ion-header>
<ion-content padding>
<div class="sign_up_wrapper">
<h4>Upload Docs</h4>
<hr>
<p>Please upload your documents to get<br>
Approved</p>
<div class="upload_doc_list">
<ion-list radio-group>
<ion-item *ngFor="let doc of docs; let i = index;">
<ion-radio value={{i}} (click)="uploadDoc(doc)">
</ion-radio>
<ion-label>
<div class="upload_doc_circle">
</div>
<div class="upload_doc_detail">
{{doc}}
</div>
<div class="clear"></div>
</ion-label>
</ion-item>
<!-- <ion-item>
<ion-radio value="2">
</ion-radio>
<ion-label>
<div class="upload_doc_circle">
</div>
<div class="upload_doc_detail">
Police Clearance Certificate
</div>
<div class="clear"></div>
</ion-label>
</ion-item>
<ion-item>
<ion-radio value="3">
</ion-radio>
<ion-label>
<div class="upload_doc_circle">
</div>
<div class="upload_doc_detail">
Fitness Certificate
</div>
<div class="clear"></div>
</ion-label>
</ion-item>
<ion-item>
<ion-radio value="4">
</ion-radio>
<ion-label>
<div class="upload_doc_circle">
</div>
<div class="upload_doc_detail">
Vehicle Registration
</div>
<div class="clear"></div>
</ion-label>
</ion-item>
<ion-item>
<ion-radio value="5">
</ion-radio>
<ion-label>
<div class="upload_doc_circle">
</div>
<div class="upload_doc_detail">
Vehicle Permit
</div>
<div class="clear"></div>
</ion-label>
</ion-item>
<ion-item>
<ion-radio value="6">
</ion-radio>
<ion-label>
<div class="upload_doc_circle">
</div>
<div class="upload_doc_detail">
Commercial Insurance
</div>
<div class="clear"></div>
</ion-label>
</ion-item>
<ion-item>
<ion-radio value="7">
</ion-radio>
<ion-label>
<div class="upload_doc_circle">
</div>
<div class="upload_doc_detail">
Tax Receipt
</div>
<div class="clear"></div>
</ion-label>
</ion-item> -->
</ion-list>
</div>
</div>
</ion-content>
<!-- <ion-footer padding>
<button ion-button class="btn_primary" (click)="docupdate()">CONTINUE</button>
</ion-footer> -->
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { UploaddocPage } from './uploaddoc';
@NgModule({
declarations: [
UploaddocPage,
],
imports: [
IonicPageModule.forChild(UploaddocPage),
],
})
export class UploaddocPageModule {}
page-uploaddoc {
.sign_up_wrapper{
width: 100%;
text-align:center;
h4{
text-align:left;
color: #282828;
font-size: 39px;
font-weight:300;
margin-top: 15px;
}
hr{
width: 20px;
border:2px solid #282828;
margin-left: 0 !important;
height:0px;
border-radius:20px;
margin-top: 10px;
}
.upload_doc_list{
padding-top: 20px;
.list{
.item {
.item-inner{
border:none;
padding-top: 10px !important;
padding-bottom: 10px !important;
.label {
margin: 0px;
.upload_doc_circle{
width:55px;
height:55px;
border:2px solid #000000;
border-radius:50%;
float: left;
background: url("../assets/imgs/doc.png");
background-position:center;
background-repeat: no-repeat;
background-size: 30px;
img{
width:100%;
height:100%;
border-radius:50%;
object-fit: cover;
object-position: center;
}
}
.upload_doc_detail{
width:calc(100% - 55px);
float: left;
color: #282828;
font-size: 20px;
padding: 15px;
padding-left: 20px;
font-weight: 500;
}
}
}
}
.radio {
margin-right: 0px;
}
.radio-icon{
width: 50px;
height: 50px;
border:none;
.radio-inner{
left:0px;
top:0px;
width:100%;
height:100%;
background: url("../assets/imgs/check.png") !important;
background-position:center !important;
background-repeat: no-repeat !important;
background-size:20px !important;
}
}
.item-radio-checked{
.upload_doc_circle{
border:2px solid #0aa89a !important;
background: url("../assets/imgs/doc_check.png") !important;
background-position:center !important;
background-repeat: no-repeat !important;
background-size: 30px !important;
}
}
}
}
p{
color: #737270;
font-size: 16px;
text-align: left;
padding-top: 0px;
}
}
.btn_primary{
width:100%;
border-radius: 20px;
height: 45px;
font-size: 16px;
letter-spacing: 2px;
}
}
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Myservice } from "../../providers/myservice";
@IonicPage()
@Component({
selector: 'page-uploaddoc',
templateUrl: 'uploaddoc.html',
})
export class UploaddocPage {
docs = ['License','Vehicle Insurance','Tax', 'Registration']
constructor(public navCtrl: NavController, public navParams: NavParams, private myservice: Myservice) {
}
uploadDoc(name){
this.myservice.show_loader()
this.navCtrl.push("DocupdatePage",{title: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