Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
getme
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
amal
getme
Commits
59bf4729
Commit
59bf4729
authored
Sep 13, 2019
by
Adarsh K
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
latest
parent
9d65e4f1
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
254 additions
and
56 deletions
+254
-56
app.component.html
src/app/app.component.html
+1
-1
cart.page.html
src/app/cart/cart.page.html
+3
-3
cart.page.ts
src/app/cart/cart.page.ts
+10
-4
myorder.page.html
src/app/myorder/myorder.page.html
+39
-16
myorder.page.scss
src/app/myorder/myorder.page.scss
+16
-0
myorder.page.ts
src/app/myorder/myorder.page.ts
+7
-3
productdetail.page.html
src/app/productdetail/productdetail.page.html
+4
-3
productdetail.page.ts
src/app/productdetail/productdetail.page.ts
+11
-0
cart.service.ts
src/config/cart.service.ts
+3
-2
myorder.service.ts
src/config/myorder.service.ts
+11
-11
order.service.ts
src/config/order.service.ts
+102
-3
products.service.ts
src/config/products.service.ts
+1
-0
cart.ts
src/config/services/cart.ts
+2
-0
myorder.ts
src/config/services/myorder.ts
+2
-5
order.ts
src/config/services/order.ts
+41
-5
product.ts
src/config/services/product.ts
+1
-0
No files found.
src/app/app.component.html
View file @
59bf4729
...
...
@@ -34,7 +34,7 @@
<li>
Complaints
&
Feedback
</li>
<li>
<span
class=
"floatLeft"
(
click
)="
authService
.
SignOut
()"
>
Logout
</span>
<span
class=
"floatRight version"
>
Version
1.2.0.3
</span>
<span
class=
"floatRight version"
>
Version
0.1.0.2
</span>
<div
class=
"clear"
></div>
</li>
</ul>
...
...
src/app/cart/cart.page.html
View file @
59bf4729
...
...
@@ -183,9 +183,9 @@
FINISH
</div> -->
</ion-footer>
<
!-- <div class
="loader">
<
div
class=
"loader"
*
ngIf
=
"loader"
>
<div
class=
"lds-ripple"
>
<div></div>
<div></div>
</div>
</div> -->
\ No newline at end of file
</div>
\ No newline at end of file
src/app/cart/cart.page.ts
View file @
59bf4729
...
...
@@ -19,6 +19,7 @@ export class CartPage implements OnInit {
currentIndex
:
any
;
count
:
any
;
gateway
:
any
;
loader
=
false
;
cartwizard
=
{
initialSlide
:
0
,
speed
:
1000
,
...
...
@@ -46,12 +47,12 @@ export class CartPage implements OnInit {
getwaypaypal
(){
this
.
gateway
=
1
;
}
getwayafterpay
(){
getwayafterpay
()
{
this
.
gateway
=
2
;
}
getwaypayk
(){
getwaypayk
()
{
this
.
gateway
=
3
;
}
...
...
@@ -76,6 +77,11 @@ export class CartPage implements OnInit {
next
(
index
:
number
=
null
)
{
this
.
loader
=
true
;
const
This
=
this
;
setTimeout
(()
=>
{
This
.
loader
=
false
;
},
500
);
console
.
log
(
index
);
if
(
index
===
2
)
{
const
state
=
this
.
orderService
.
checkOut
(
this
.
cartService
.
carts
).
then
((
data
)
=>
{
...
...
@@ -108,7 +114,7 @@ export class CartPage implements OnInit {
this
.
currentIndex
=
index
;
console
.
log
(
this
.
currentIndex
);
});
}
}
sliderChange
()
{
this
.
orderService
.
checkout
.
subscribe
(
state
=>
{
...
...
src/app/myorder/myorder.page.html
View file @
59bf4729
...
...
@@ -10,24 +10,41 @@
<div
class=
"myorder_wrapper"
*
ngIf=
"myorder.orders"
>
<ul
*
ngIf=
"myorder.orders.length > 0"
>
<li
*
ngFor=
"let order of myorder.orders; let i = index"
>
<div
class=
"order_i
mage"
><img
[
src
]="
order
.
image
"
onerror=
""
/></div
>
<div
class=
"order_detail"
>
<
h5
class=
"floatLeft"
>
{{order.prodName}}
</h5
>
<div
class=
"order_i
nfo"
>
<h5
class=
"floatLeft"
>
{{order.orderCode}}
</h5
>
<
button
class=
"order_track floatRight"
*
ngIf=
"order.orderStatus >= 3 && order.orderStatus < 7"
(
click
)="
orderDetails
(
i
)"
>
Track Order
</button
>
<div
class=
"clear"
></div>
<h5>
{{order.color}}, {{order.size}}
<span>
{{order.qty}}
</span></h5>
<p>
{{order.amount}}
</p>
</div>
<div
class=
"order_other"
>
<h6
class=
"floatRight"
>
{{ order.bookDate.seconds * 1000 | date:'MMMM dd, y' }}
</h6>
<span
class=
"floatRight"
*
ngIf=
"order.orderStatus < 3 || order.orderStatus >= 7"
(
click
)="
acceptOrder
(
order
)"
>
{{getStatus(order.orderStatus)}}
</span>
<div
class=
"clear"
></div>
<button
class=
"track_btn"
*
ngIf=
"order.orderStatus >= 3 && order.orderStatus < 7"
(
click
)="
orderDetails
(
i
)"
>
TRACK
</button>
<div
class=
"clear"
></div>
<div
*
ngFor=
"let product of order.product"
>
<div
class=
"order_image"
><img
[
src
]="
product
.
image
"
onerror=
""
/></div>
<div
class=
"order_detail"
>
<h5
class=
"floatLeft"
>
{{product.prodName}}
</h5>
<div
class=
"clear"
></div>
<h5>
{{product.color}}, {{product.size}}
<span>
{{product.qty}}
</span></h5>
<p>
A$ {{product.price}}
</p>
</div>
<div
class=
"order_other"
>
<h6
class=
"floatRight"
>
{{ order.bookDate.seconds * 1000 | date:'MMMM dd, y' }}
</h6>
<span
class=
"floatRight"
*
ngIf=
"order.orderStatus < 3 || order.orderStatus >= 7"
(
click
)="
acceptOrder
(
order
)"
>
{{getStatus(order.orderStatus)}}
</span>
<div
class=
"clear"
></div>
<!-- <button class="track_btn" *ngIf="order.orderStatus >= 3 && order.orderStatus < 7" (click)="orderDetails(i)">TRACK</button> -->
<div
class=
"clear"
></div>
</div>
<div
class=
"clear"
></div>
<hr>
</div>
<div
class=
"clear"
></div>
<div
class=
"order_info"
>
<h5
class=
"floatRight"
>
TOTAL PRICE : {{order.amount}}
</h5>
<div
class=
"clear"
></div>
</div>
</li>
<!-- <li>
<div class="order_image"></div>
<div class="order_detail">
...
...
@@ -76,4 +93,10 @@
</li> -->
</ul>
</div>
</ion-content>
\ No newline at end of file
</ion-content>
<div
class=
"loader"
*
ngIf=
"loader"
>
<div
class=
"lds-ripple"
>
<div></div>
<div></div>
</div>
</div>
\ No newline at end of file
src/app/myorder/myorder.page.scss
View file @
59bf4729
...
...
@@ -6,6 +6,22 @@
list-style
:
none
;
padding
:
10px
;
padding-bottom
:
15px
;
.order_info
{
padding-top
:
10px
;
padding-bottom
:
10px
;
h5
{
margin
:
0px
;
padding
:
0px
;
}
.order_track
{
background-color
:
rgba
(
53
,
203
,
171
,
1
);
color
:
#fff
;
border-radius
:
3px
;
padding
:
3px
;
padding-left
:
10px
;
padding-right
:
10px
;
}
}
.order_image
{
width
:
90px
;
height
:
90px
;
...
...
src/app/myorder/myorder.page.ts
View file @
59bf4729
...
...
@@ -11,6 +11,7 @@ import { DeliverypopPage } from '../deliverypop/deliverypop.page';
styleUrls
:
[
'./myorder.page.scss'
],
})
export
class
MyorderPage
implements
OnInit
{
loader
=
false
;
constructor
(
private
router
:
Router
,
...
...
@@ -21,9 +22,12 @@ export class MyorderPage implements OnInit {
)
{
}
ngOnInit
()
{
this
.
myorder
.
orderState
().
subscribe
((
data
)
=>
{
console
.
log
(
data
);
});
const
This
=
this
;
this
.
loader
=
true
;
setTimeout
(()
=>
{
This
.
loader
=
false
;
},
500
);
// this.myorder.orderList('WwHnLICVY2dvZGUHuKqasiTB91a2');
}
async
finishpop
(
data
:
any
)
{
...
...
src/app/productdetail/productdetail.page.html
View file @
59bf4729
...
...
@@ -4,7 +4,7 @@
</button>
<div
class=
"nav_title floatLeft"
>
</div>
<button
class=
"nav_btn nav_cart floatRight"
>
<button
class=
"nav_btn nav_cart floatRight"
(
click
)="
goToPage
('
cart
')"
>
</button>
<div
class=
"clear"
></div>
</div>
...
...
@@ -177,8 +177,8 @@
<div
class=
"footer_options"
>
<button
class=
"share"
></button>
<button
class=
"fav"
></button>
<button
class=
"cart"
(
click
)="
goToPage
('
cart
'
)"
></button>
<button
class=
"cart"
(
click
)="
buyNow
(
product
,
0
)"
></button>
</div>
<div
class=
"footer_btn"
(
click
)="
cartService
.
buyNow
(
product
)"
>
BUY NOW
</div>
<div
class=
"footer_btn"
(
click
)="
buyNow
(
product
,
1
)"
>
BUY NOW
</div>
</div>
</ion-footer>
\ No newline at end of file
src/app/productdetail/productdetail.page.ts
View file @
59bf4729
...
...
@@ -45,6 +45,7 @@ export class ProductdetailPage implements OnInit {
prodStatus
:
params
.
prodStatus
,
brand
:
params
.
brand
,
category
:
params
.
category
,
shopperId
:
params
.
shopperId
,
color
:
params
.
color
,
discount
:
params
.
discount
,
featured
:
params
.
featured
,
...
...
@@ -81,4 +82,14 @@ export class ProductdetailPage implements OnInit {
this
.
location
.
back
();
}
buyNow
(
product
:
any
,
type
:
number
)
{
this
.
cartService
.
buyNow
(
product
).
then
(()
=>
{
if
(
type
===
1
)
{
this
.
router
.
navigateByUrl
(
'cart'
);
}
else
{
alert
(
'Product added to cart'
);
}
});
}
}
src/config/cart.service.ts
View file @
59bf4729
...
...
@@ -56,6 +56,7 @@ export class CartsService {
const
cart
:
Cart
=
{
color
:
this
.
color
,
custId
:
this
.
custId
,
shopperId
:
product
.
shopperId
,
product
:
firebase
.
firestore
().
doc
(
`products/
${
this
.
prodId
}
`
),
image
:
product
.
image
,
prodId
:
product
.
prodId
,
...
...
@@ -69,7 +70,6 @@ export class CartsService {
const
neworderId
=
docRef
.
id
;
this
.
afs
.
collection
(
'carts'
).
doc
(
neworderId
).
update
({
cartId
:
docRef
.
id
}).
then
(()
=>
{
console
.
log
(
'Booking Successfully'
);
this
.
router
.
navigateByUrl
(
'cart'
);
document
.
body
.
scrollTop
=
document
.
documentElement
.
scrollTop
=
0
;
});
}).
catch
((
error
)
=>
{
...
...
@@ -92,7 +92,8 @@ export class CartsService {
const
cartItem
:
CartItem
=
{
cartId
:
item
.
cartId
,
color
:
item
.
color
,
shopperId
:
item
.
shopper
,
shopperId
:
item
.
shopperId
,
shopper
:
item
.
shopper
,
prodId
:
item
.
prodId
,
price
:
item
.
price
,
prodName
:
item
.
prodName
,
...
...
src/config/myorder.service.ts
View file @
59bf4729
...
...
@@ -33,7 +33,7 @@ export class MyordersService {
});
}
public
async
orgorderList
(
custId
)
{
/*
public async orgorderList(custId) {
console.log('called');
console.log(custId);
const This = this;
...
...
@@ -64,6 +64,8 @@ export class MyordersService {
riderName: 'John',
orderId: item.orderId,
size: item.size,
orderCode: item.orderCode,
product: this.service.key2Array(item.product),
time: '60'
};
this.orders.push(order);
...
...
@@ -74,7 +76,7 @@ export class MyordersService {
}
this.orderState();
});
}
}
*/
public
async
orderList
(
custId
)
{
...
...
@@ -94,11 +96,7 @@ export class MyordersService {
console
.
log
(
item
);
const
orderId
=
item
.
orderId
;
const
order
:
Myorder
=
{
prodName
:
item
.
prodName
,
color
:
item
.
color
,
image
:
item
.
image
,
amount
:
item
.
amount
,
qty
:
item
.
qty
,
status
:
item
.
status
,
orderStatus
:
item
.
orderStatus
,
bookDate
:
item
.
bookDate
,
...
...
@@ -106,15 +104,17 @@ export class MyordersService {
pickupLocation
:
item
.
pickupLocation
,
riderName
:
'John'
,
orderId
:
item
.
orderId
,
size
:
item
.
size
,
orderCode
:
item
.
orderCode
,
product
:
this
.
service
.
key2Array
(
item
.
product
),
time
:
'60'
};
console
.
log
(
order
);
if
(
items
.
type
===
'added'
)
{
this
.
orders
.
push
(
order
);
}
else
{
console
.
log
(
orderId
);
const
index
=
this
.
orders
.
findIndex
(
obj
=>
obj
.
orderId
===
orderId
);
if
(
index
>
0
)
{
if
(
index
>
=
0
)
{
this
.
orders
[
index
]
=
order
;
}
}
...
...
@@ -125,7 +125,7 @@ export class MyordersService {
}
public
orderState
():
Observable
<
Myorder
[]
>
{
/*
public orderState(): Observable<Myorder[]> {
console.log('called');
const custId = 'WwHnLICVY2dvZGUHuKqasiTB91a2';
this.orders = [];
...
...
@@ -203,10 +203,10 @@ export class MyordersService {
console.log("Removed city: ", change.doc.data());
}
});
});
*/
});
return of(this.orders);
}
*/
public
async
trackOrder
(
order
)
{
this
.
selItem
=
order
;
}
...
...
src/config/order.service.ts
View file @
59bf4729
import
{
Injectable
}
from
'@angular/core'
;
import
{
AngularFirestore
,
AngularFirestoreDocument
,
AngularFirestoreCollection
}
from
'@angular/fire/firestore'
;
import
{
Router
,
ActivatedRoute
}
from
'@angular/router'
;
import
{
Order
}
from
'./services/order'
;
import
{
Order
,
CartProd
}
from
'./services/order'
;
import
{
Products
}
from
'./services/product'
;
import
{
ServiceService
}
from
'./service.service'
;
import
*
as
firebase
from
'firebase'
;
...
...
@@ -19,6 +19,7 @@ export class OrdersService {
custId
:
string
;
shopperId
:
any
;
checkout
=
new
BehaviorSubject
(
false
);
users
:
any
;
constructor
(
public
afs
:
AngularFirestore
,
...
...
@@ -28,9 +29,10 @@ export class OrdersService {
this
.
size
=
'small'
;
this
.
color
=
'Blue'
;
this
.
custId
=
''
;
const
users
=
this
.
service
.
get
(
'user'
).
then
((
data
)
=>
{
this
.
service
.
get
(
'user'
).
then
((
data
)
=>
{
if
(
data
)
{
data
=
JSON
.
parse
(
data
);
this
.
users
=
data
;
this
.
custId
=
data
.
uid
;
console
.
log
(
this
.
custId
);
}
else
{
...
...
@@ -39,8 +41,10 @@ export class OrdersService {
});
}
public
async
checkOut
(
cart
:
CartItem
[])
{
/*public async org
checkOut(cart: CartItem[]) {
console.log(cart);
console.log(this.users);
return;
let currProcess = 0;
const cartCount = cart.length;
cart.forEach((product) => {
...
...
@@ -97,6 +101,101 @@ export class OrdersService {
});
});
}*/
public
async
checkOut
(
cart
:
CartItem
[])
{
console
.
log
(
cart
);
console
.
log
(
this
.
users
);
const
cartGroup
=
[];
// const distinctShops = [...new Set(cart.map(obj => obj.shopperId))];
const
distinctShops
=
[];
const
map
=
new
Map
();
for
(
const
item
of
cart
)
{
if
(
!
map
.
has
(
item
.
shopperId
)){
map
.
set
(
item
.
shopperId
,
true
);
// set any value to Map
distinctShops
.
push
(
item
.
shopperId
);
}
}
cart
.
forEach
((
items
)
=>
{
cartGroup
[
items
.
shopperId
]
=
cartGroup
[
items
.
shopperId
]
===
undefined
?
[]
:
cartGroup
[
items
.
shopperId
];
cartGroup
[
items
.
shopperId
].
push
(
items
);
});
const
cartCount
=
distinctShops
.
length
;
console
.
log
(
cartGroup
);
console
.
log
(
cartCount
);
const
promise
=
new
Promise
(
resolve
=>
{
distinctShops
.
forEach
((
item
)
=>
{
console
.
log
(
item
);
this
.
afs
.
collection
(
'orders'
).
add
({
bookDate
:
firebase
.
firestore
.
FieldValue
.
serverTimestamp
()
}).
then
((
docRef
)
=>
{
const
neworderId
=
docRef
.
id
;
const
delivery
=
new
firebase
.
firestore
.
GeoPoint
(
10.0237
,
76.3116
);
const
pickup
=
new
firebase
.
firestore
.
GeoPoint
(
10.7231
,
76.1234
);
const
products
=
{};
const
cartItem
=
cartGroup
[
item
];
let
prodPrice
=
0
;
cartItem
.
forEach
((
prodItem
)
=>
{
prodPrice
+=
prodItem
.
price
;
products
[
prodItem
.
prodId
]
=
{
prodId
:
prodItem
.
prodId
,
prodName
:
prodItem
.
prodName
,
image
:
prodItem
.
image
,
price
:
prodItem
.
price
,
color
:
prodItem
.
color
,
size
:
prodItem
.
size
,
qty
:
prodItem
.
qty
,
discount
:
''
};
this
.
afs
.
doc
(
`carts/
${
prodItem
.
cartId
}
`
).
delete
();
});
console
.
log
(
cartItem
);
console
.
log
(
products
);
const
product
=
cartItem
[
0
];
const
orderItem
:
Order
=
{
amount
:
'A$ '
+
prodPrice
,
customer
:
firebase
.
firestore
().
doc
(
'/customer/'
+
this
.
custId
),
shopper
:
product
.
shopper
,
deliveryAddress
:
'Techware Software solution, Carnival Infopark, Kochi'
,
deliveryCharge
:
'A$ 0.5'
,
deliveryLocation
:
delivery
,
bookDate
:
firebase
.
firestore
.
FieldValue
.
serverTimestamp
(),
orderCode
:
this
.
orderCode
(),
orderId
:
neworderId
,
orderStatus
:
1
,
pickupAddress
:
'GetMi, Canberra, AUS'
,
pickupLocation
:
pickup
,
promoId
:
null
,
rider
:
firebase
.
firestore
().
doc
(
'/riders/qbTKza18mWVzYG9NLIbmjMbrYjG2'
),
status
:
1
,
custId
:
this
.
custId
,
riderId
:
'qbTKza18mWVzYG9NLIbmjMbrYjG2'
,
shopperId
:
product
.
shopperId
,
custName
:
'Jone Doe'
,
riderName
:
'John'
,
shopperState
:
0
,
shopperName
:
'Witchery'
,
product
:
products
};
console
.
log
(
orderItem
);
this
.
afs
.
collection
(
'orders'
).
doc
(
neworderId
).
set
(
orderItem
).
then
(()
=>
{
console
.
log
(
'Booking Successfully'
);
// this.router.navigateByUrl('cart');
resolve
(
'Cart to Order Successfully'
);
document
.
body
.
scrollTop
=
document
.
documentElement
.
scrollTop
=
0
;
});
}).
catch
((
error
)
=>
{
console
.
error
(
'Error adding document: '
,
error
);
});
});
});
promise
.
then
(
value
=>
console
.
log
(
value
));
}
public
async
changeOrder
(
orderId
,
status
)
{
...
...
src/config/products.service.ts
View file @
59bf4729
...
...
@@ -32,6 +32,7 @@ export class ProductsService {
prodStatus
:
item
.
prodStatus
,
brand
:
item
.
brand
.
brandName
,
category
:
item
.
category
.
catName
,
shopperId
:
item
.
shopperId
,
color
:
item
.
color
,
discount
:
item
.
discount
,
featured
:
item
.
featured
,
...
...
src/config/services/cart.ts
View file @
59bf4729
...
...
@@ -4,6 +4,7 @@ export interface Cart {
product
:
any
;
prodName
:
any
;
prodId
:
string
;
shopperId
:
string
;
image
:
string
;
size
:
string
;
color
:
string
;
...
...
@@ -15,6 +16,7 @@ export interface CartItem {
cartId
:
string
;
prodId
:
string
;
shopperId
:
any
;
shopper
:
any
;
prodName
:
any
;
image
:
string
;
size
:
string
;
...
...
src/config/services/myorder.ts
View file @
59bf4729
export
interface
Myorder
{
amount
:
string
;
prodName
:
any
;
image
:
string
;
size
:
string
;
color
:
string
;
qty
:
number
;
bookDate
:
any
;
pickupLocation
:
any
;
deliveryLocation
:
any
;
...
...
@@ -13,5 +8,7 @@ export interface Myorder {
riderName
:
string
;
orderId
:
string
;
time
:
string
;
product
:
any
;
orderCode
:
string
;
}
src/config/services/order.ts
View file @
59bf4729
import
{
AngularFirestoreDocument
}
from
'@angular/fire/firestore'
;
import
{
GeoJsonOptions
}
from
'@agm/core/services/google-maps-types'
;
export
interface
Order
{
/*export interface Order {
amount: string;
customer: any;
deliveryAddress: string;
...
...
@@ -17,7 +14,6 @@ export interface Order {
bookDate: any;
prodId: string;
custId: string;
product
:
any
;
prodName: any;
image: string;
size: string;
...
...
@@ -30,5 +26,45 @@ export interface Order {
shopperId: string;
status: number;
tax: string;
}*/
export
interface
CartProd
{
prodName
:
any
;
prodId
:
string
;
image
:
string
;
size
:
string
;
color
:
string
;
qty
:
number
;
discount
:
string
;
price
:
string
;
productDoc
:
any
;
}
export
interface
Order
{
amount
:
string
;
customer
:
any
;
custName
:
string
;
deliveryAddress
:
string
;
deliveryCharge
:
string
;
deliveryLocation
:
object
;
orderCode
:
string
;
orderId
:
string
;
orderStatus
:
number
;
pickupAddress
:
string
;
pickupLocation
:
object
;
bookDate
:
any
;
custId
:
string
;
promoId
:
any
;
rider
:
any
;
riderName
:
string
;
riderId
:
string
;
shopper
:
any
;
shopperName
:
string
;
shopperId
:
string
;
status
:
number
;
shopperState
:
number
;
product
:
any
;
}
src/config/services/product.ts
View file @
59bf4729
...
...
@@ -11,6 +11,7 @@ export interface Products {
prodId
:
string
;
prodName
:
string
;
prodStatus
:
boolean
;
shopperId
:
string
;
qty
:
number
;
shopper
:
string
;
size
:
Size
[];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment