| @@ -125,7 +125,109 @@ | |||||
| newMall.outlet[0].outlet_name && | newMall.outlet[0].outlet_name && | ||||
| newMall.outlet[0].image_url) === 0)}' (click)="addMall()" [disabled]='(newMall.mall_name.length && newMall.mall_address.length && newMall.image_url.length && | newMall.outlet[0].image_url) === 0)}' (click)="addMall()" [disabled]='(newMall.mall_name.length && newMall.mall_address.length && newMall.image_url.length && | ||||
| newMall.advertisement[0].createdBy.length && newMall.advertisement[0].image.length && newMall.advertisement[0].type.length && | newMall.advertisement[0].createdBy.length && newMall.advertisement[0].image.length && newMall.advertisement[0].type.length && | ||||
| newMall.outlet[0].outlet_name.length && newMall.outlet[0].image_url.length) === 0'>Add</button> | |||||
| newMall.outlet[0].outlet_name.length && newMall.outlet[0].image_url.length) === 0'>Add Mall</button> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="popUp" *ngIf='updateMallModal === true'> | |||||
| <div class="popup-box"> | |||||
| <ul class="input-list"> | |||||
| <h4>Update Mall Details:</h4> | |||||
| <div class="mallDetails"> | |||||
| <li> | |||||
| <label>Name:</label> | |||||
| <input type="text" [(ngModel)]="newMall.mall_name"> | |||||
| </li> | |||||
| <li> | |||||
| <label>Description:</label> | |||||
| <input type="text" [(ngModel)]='newMall.description'> | |||||
| </li> | |||||
| <li> | |||||
| <label>Image:</label> | |||||
| <input type="text" [(ngModel)]='newMall.image_url'> | |||||
| </li> | |||||
| <li> | |||||
| <label>Address:</label> | |||||
| <input type="text" [(ngModel)]='newMall.mall_address'> | |||||
| </li> | |||||
| <li> | |||||
| <label>Mall Distance:</label> | |||||
| <input type="number" [(ngModel)]='newMall.mall_distance'> | |||||
| </li> | |||||
| <li> | |||||
| <label>Rating:</label> | |||||
| <input type="number" [(ngModel)]='newMall.rating'> | |||||
| </li> | |||||
| <li> | |||||
| <label>Offers Count:</label> | |||||
| <input type="number" [(ngModel)]='newMall.offers_count'> | |||||
| </li> | |||||
| </div> | |||||
| <h4>Update Advertisement:</h4> | |||||
| <div class="addDetails"> | |||||
| <li> | |||||
| <label>Created By</label> | |||||
| <input type="text" [(ngModel)]="newMall.advertisement[0].createdBy"> | |||||
| </li> | |||||
| <li> | |||||
| <label>Image</label> | |||||
| <input type="text" [(ngModel)]="newMall.advertisement[0].image"> | |||||
| </li> | |||||
| <li> | |||||
| <label>Type</label> | |||||
| <input type="text" [(ngModel)]="newMall.advertisement[0].type"> | |||||
| </li> | |||||
| <li> | |||||
| <label>Updated By</label> | |||||
| <input type="text" [(ngModel)]="newMall.advertisement[0].updatedBy"> | |||||
| </li> | |||||
| </div> | |||||
| <h4>Update Outlet Details:</h4> | |||||
| <div class="outletdistance"> | |||||
| <li> | |||||
| <label>Outlet Name</label> | |||||
| <input type="text" [(ngModel)]="newMall.outlet[0].outlet_name"> | |||||
| </li> | |||||
| <li> | |||||
| <label>Description</label> | |||||
| <input type="text" [(ngModel)]="newMall.outlet[0].description"> | |||||
| </li> | |||||
| <li> | |||||
| <label>Outlet Timings</label> | |||||
| <input type="text" [(ngModel)]="newMall.outlet[0].outlet_timing"> | |||||
| </li> | |||||
| <li> | |||||
| <label>Image</label> | |||||
| <input type="text" [(ngModel)]="newMall.outlet[0].image_url"> | |||||
| </li> | |||||
| <li> | |||||
| <label>Outlet GST</label> | |||||
| <input type="number" [(ngModel)]="newMall.outlet[0].outlet_Gst"> | |||||
| </li> | |||||
| <li> | |||||
| <label>Outlet Type</label> | |||||
| <input type="text" [(ngModel)]="newMall.outlet[0].outlet_type"> | |||||
| </li> | |||||
| <li> | |||||
| <label>Rating</label> | |||||
| <input type="number" [(ngModel)]="newMall.outlet[0].rating"> | |||||
| </li> | |||||
| </div> | |||||
| </ul> | |||||
| <div class="action-buttons"> | |||||
| <button class="rect-button cancel" (click)="updateMallModal = false">Cancel</button> | |||||
| <button class="rect-button" [ngClass]='{disable: ((newMall.mall_name.length && newMall.mall_address.length && | |||||
| newMall.image_url.length && | |||||
| newMall.advertisement[0].createdBy && | |||||
| newMall.advertisement[0].image.length && | |||||
| newMall.advertisement[0].type && | |||||
| newMall.outlet[0].outlet_name && | |||||
| newMall.outlet[0].image_url) === 0)}' (click)="addMall()">Update</button> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -1,5 +1,6 @@ | |||||
| import { Component, ElementRef, OnInit, ViewChild, Input } from '@angular/core'; | import { Component, ElementRef, OnInit, ViewChild, Input } from '@angular/core'; | ||||
| import { MallsService } from '../../services/malls.service' | import { MallsService } from '../../services/malls.service' | ||||
| import { IUpdateMall, INewMall } from './malls'; | |||||
| @Component({ | @Component({ | ||||
| @@ -17,79 +18,268 @@ export class MallsComponent implements OnInit { | |||||
| tempMalls: any = []; | tempMalls: any = []; | ||||
| showModal: boolean = false; | showModal: boolean = false; | ||||
| updateMallModal: boolean = false; | |||||
| newMall: { | |||||
| mall_name: string, | |||||
| mall_address: string, | |||||
| description: string, | |||||
| image_url: string, | |||||
| newMall: INewMall = { | |||||
| mall_name: "", | |||||
| description: "", | |||||
| mall_address: "", | |||||
| mall_distance: 0, | mall_distance: 0, | ||||
| offers_count: 0, | |||||
| image_url: "", | |||||
| is_bookmarked: true, | is_bookmarked: true, | ||||
| rating: 0, | rating: 0, | ||||
| soft_delete: true | |||||
| soft_delete: true, | |||||
| offers_count: 0, | |||||
| advertisement: [ | advertisement: [ | ||||
| { | { | ||||
| adv_type: true, | adv_type: true, | ||||
| createdBy: string, | |||||
| createdOn: string, | |||||
| image: string, | |||||
| createdBy: "", | |||||
| createdOn: "2021-10-26T12:19:53.071Z", | |||||
| image: "", | |||||
| soft_delete: true, | soft_delete: true, | ||||
| type: string, | |||||
| updatedBy: string, | |||||
| updatedOn: string, | |||||
| type: "", | |||||
| updatedBy: "", | |||||
| updatedOn: "2021-10-26T12:19:53.071Z" | |||||
| } | } | ||||
| ], | ], | ||||
| outlet: [ | outlet: [ | ||||
| { | { | ||||
| description: string, | |||||
| image_url: string, | |||||
| description: "", | |||||
| image_url: "", | |||||
| is_bookmarked: true, | is_bookmarked: true, | ||||
| outlet_Gst: number, | |||||
| outlet_id: number, | |||||
| outlet_name: string, | |||||
| outlet_timing: string, | |||||
| outlet_type: string, | |||||
| rating: number | |||||
| outlet_Gst: 0, | |||||
| outlet_id: 0, | |||||
| outlet_name: "", | |||||
| outlet_timing: "2021-10-26T12:19:53.071Z", | |||||
| outlet_type: "", | |||||
| rating: 0 | |||||
| } | } | ||||
| ], | ], | ||||
| } = { | |||||
| mall_name: "", | |||||
| description: "", | |||||
| mall_address: "", | |||||
| mall_distance: 0, | |||||
| image_url: "", | |||||
| } | |||||
| updateMall: IUpdateMall = { | |||||
| advertisement: [ | |||||
| { | |||||
| adv_id: 0, | |||||
| adv_type: true, | |||||
| createdBy: '', | |||||
| createdOn: "2021-11-26T15:00:17.506Z", | |||||
| image: '', | |||||
| soft_delete: true, | |||||
| type: '', | |||||
| updatedBy: '', | |||||
| updatedOn: "2021-11-26T15:00:17.506Z" | |||||
| } | |||||
| ], | |||||
| description: '', | |||||
| image_url: '', | |||||
| is_bookmarked: true, | is_bookmarked: true, | ||||
| rating: 0, | |||||
| soft_delete: true, | |||||
| mall_address: '', | |||||
| mall_id: 0, | |||||
| mall_distance: 0, | |||||
| mall_name: '', | |||||
| offers_count: 0, | offers_count: 0, | ||||
| outlet: [ | |||||
| { | |||||
| description: '', | |||||
| events: [ | |||||
| { | |||||
| active: true, | |||||
| createdBy: '', | |||||
| createdOn: "2021-11-26T15:00:17.506Z", | |||||
| date_of_event: "2021-11-26T15:00:17.506Z", | |||||
| event_id: '', | |||||
| event_title: '', | |||||
| event_type: '', | |||||
| is_holiday: true, | |||||
| soft_delete: true, | |||||
| updatedBy: '', | |||||
| updatedOn: "2021-11-26T15:00:17.506Z" | |||||
| } | |||||
| ], | |||||
| image_url: '', | |||||
| is_bookmarked: true, | |||||
| menuitems: [ | |||||
| { | |||||
| image_url: '', | |||||
| is_available: true, | |||||
| is_vegetarian: true, | |||||
| item_categories: [ | |||||
| { | |||||
| categoryId: 0, | |||||
| categoryName: '', | |||||
| categoryType: '' | |||||
| } | |||||
| ], | |||||
| item_discount: 0, | |||||
| item_price: 0, | |||||
| menu_item_name: '', | |||||
| menuitem_id: 0, | |||||
| outlet: { | |||||
| description: '', | |||||
| events: [ | |||||
| { | |||||
| active: true, | |||||
| createdBy: '', | |||||
| createdOn: "2021-11-26T15:00:17.506Z", | |||||
| date_of_event: "2021-11-26T15:00:17.506Z", | |||||
| event_id: '', | |||||
| event_title: '', | |||||
| event_type: '', | |||||
| is_holiday: true, | |||||
| soft_delete: true, | |||||
| updatedBy: '', | |||||
| updatedOn: "2021-11-26T15:00:17.506Z" | |||||
| } | |||||
| ], | |||||
| image_url: '', | |||||
| is_bookmarked: true, | |||||
| item_categories: [ | |||||
| { | |||||
| categoryId: 0, | |||||
| categoryName: '', | |||||
| categoryType: '' | |||||
| } | |||||
| ], | |||||
| offers: [ | |||||
| { | |||||
| dateActiveFrom: "2021-11-26T15:00:17.506Z", | |||||
| dateActiveTo: "2021-11-26T15:00:17.506Z", | |||||
| offerSummary: '', | |||||
| offer_precentage: 0, | |||||
| offer_price: 0, | |||||
| offersCode: '', | |||||
| offersImage: '', | |||||
| offersMaxcount: '', | |||||
| offersTitle: '', | |||||
| offersType: '', | |||||
| offers_id: 0, | |||||
| outlet: { | |||||
| description: '', | |||||
| events: [ | |||||
| { | |||||
| active: true, | |||||
| createdBy: '', | |||||
| createdOn: "2021-11-26T15:00:17.506Z", | |||||
| date_of_event: "2021-11-26T15:00:17.506Z", | |||||
| event_id: '', | |||||
| event_title: '', | |||||
| event_type: '', | |||||
| is_holiday: true, | |||||
| soft_delete: true, | |||||
| updatedBy: '', | |||||
| updatedOn: "2021-11-26T15:00:17.506Z" | |||||
| } | |||||
| ], | |||||
| image_url: '', | |||||
| is_bookmarked: true, | |||||
| is_online: true, | |||||
| item_categories: [ | |||||
| { | |||||
| categoryId: 0, | |||||
| categoryName: '', | |||||
| categoryType: '' | |||||
| } | |||||
| ], | |||||
| menuitems: [ | |||||
| null | |||||
| ], | |||||
| offers: [ | |||||
| null | |||||
| ], | |||||
| outlet_Gst: 0, | |||||
| outlet_id: 0, | |||||
| outlet_name: '', | |||||
| outlet_timing: "2021-11-26T15:00:17.506Z", | |||||
| outlet_type: '', | |||||
| rating: 0, | |||||
| schedules: [ | |||||
| { | |||||
| close_timing: "2021-11-26T15:00:17.506Z", | |||||
| holidays: '', | |||||
| open_timing: "2021-11-26T15:00:17.506Z", | |||||
| outlet: { | |||||
| outlet_id: 0 | |||||
| }, | |||||
| schedule_id: 0 | |||||
| } | |||||
| ] | |||||
| }, | |||||
| timeActiveTo: { | |||||
| signerCertPath: { | |||||
| certificates: [ | |||||
| { | |||||
| encoded: '', | |||||
| publicKey: { | |||||
| algorithm: '', | |||||
| encoded: '', | |||||
| format: '' | |||||
| }, | |||||
| type: '' | |||||
| } | |||||
| ], | |||||
| encoded: '', | |||||
| encodings: {}, | |||||
| type: '' | |||||
| }, | |||||
| timestamp: "2021-11-26T15:00:17.506Z" | |||||
| }, | |||||
| timeActveFrom: { | |||||
| signerCertPath: { | |||||
| certificates: [ | |||||
| { | |||||
| encoded: '', | |||||
| publicKey: { | |||||
| algorithm: '', | |||||
| encoded: '', | |||||
| format: '' | |||||
| }, | |||||
| type: '' | |||||
| } | |||||
| ], | |||||
| encoded: '', | |||||
| encodings: {}, | |||||
| type: '' | |||||
| }, | |||||
| timestamp: "2021-11-26T15:00:17.506Z" | |||||
| } | |||||
| } | |||||
| ], | |||||
| outlet_Gst: 0, | |||||
| outlet_id: 0, | |||||
| outlet_name: '', | |||||
| outlet_timing: "2021-11-26T15:00:17.506Z", | |||||
| outlet_type: '', | |||||
| rating: 0 | |||||
| }, | |||||
| rating: 0, | |||||
| soft_delete: true, | |||||
| wait_duration: { | |||||
| date: 0, | |||||
| day: 0, | |||||
| hours: 0, | |||||
| minutes: 0, | |||||
| month: 0, | |||||
| seconds: 0, | |||||
| time: 0, | |||||
| timezoneOffset: 0, | |||||
| year: 0 | |||||
| } | |||||
| } | |||||
| ], | |||||
| outlet_Gst: 0, | |||||
| outlet_id: 0, | |||||
| outlet_name: '', | |||||
| outlet_timing: "2021-11-26T15:00:17.506Z", | |||||
| outlet_type: '', | |||||
| rating: 0 | |||||
| } | |||||
| ], | |||||
| rating: 0, | |||||
| soft_delete: true | |||||
| } | |||||
| advertisement: [ | |||||
| { | |||||
| adv_type: true, | |||||
| createdBy: "", | |||||
| createdOn: "2021-10-26T12:19:53.071Z", | |||||
| image: "", | |||||
| soft_delete: true, | |||||
| type: "", | |||||
| updatedBy: "", | |||||
| updatedOn: "2021-10-26T12:19:53.071Z" | |||||
| } | |||||
| ], | |||||
| outlet: [ | |||||
| { | |||||
| description: "", | |||||
| image_url: "", | |||||
| is_bookmarked: true, | |||||
| outlet_Gst: 0, | |||||
| outlet_id: 0, | |||||
| outlet_name: "", | |||||
| outlet_timing: "2021-10-26T12:19:53.071Z", | |||||
| outlet_type: "", | |||||
| rating: 0 | |||||
| } | |||||
| ], | |||||
| } | |||||
| currentTime: any = new Date() | currentTime: any = new Date() | ||||
| @@ -137,8 +327,10 @@ export class MallsComponent implements OnInit { | |||||
| console.log(this.newMall) | console.log(this.newMall) | ||||
| } | } | ||||
| selectedMall(mall: any){ | |||||
| selectedMall(mall: any) { | |||||
| this.updateMallModal = !this.updateMallModal | |||||
| console.log(mall) | console.log(mall) | ||||
| } | } | ||||
| } | } | ||||
| @@ -0,0 +1,258 @@ | |||||
| export type INewMall = { | |||||
| mall_name: string, | |||||
| mall_address: string, | |||||
| description: string, | |||||
| image_url: string, | |||||
| mall_distance: 0, | |||||
| offers_count: 0, | |||||
| is_bookmarked: true, | |||||
| rating: 0, | |||||
| soft_delete: true | |||||
| advertisement: [ | |||||
| { | |||||
| adv_type: true, | |||||
| createdBy: string, | |||||
| createdOn: string, | |||||
| image: string, | |||||
| soft_delete: true, | |||||
| type: string, | |||||
| updatedBy: string, | |||||
| updatedOn: string, | |||||
| } | |||||
| ], | |||||
| outlet: [ | |||||
| { | |||||
| description: string, | |||||
| image_url: string, | |||||
| is_bookmarked: true, | |||||
| outlet_Gst: number, | |||||
| outlet_id: number, | |||||
| outlet_name: string, | |||||
| outlet_timing: string, | |||||
| outlet_type: string, | |||||
| rating: number | |||||
| } | |||||
| ], | |||||
| } | |||||
| export type IUpdateMall = { | |||||
| advertisement: [ | |||||
| { | |||||
| adv_id: 0, | |||||
| adv_type: true, | |||||
| createdBy: string, | |||||
| createdOn: "2021-11-26T15:00:17.506Z", | |||||
| image: string, | |||||
| soft_delete: true, | |||||
| type: string, | |||||
| updatedBy: string, | |||||
| updatedOn: "2021-11-26T15:00:17.506Z" | |||||
| } | |||||
| ], | |||||
| description: string, | |||||
| image_url: string, | |||||
| is_bookmarked: true, | |||||
| mall_address: string, | |||||
| mall_id: 0, | |||||
| mall_distance: 0, | |||||
| mall_name: string, | |||||
| offers_count: 0, | |||||
| outlet: [ | |||||
| { | |||||
| description: string, | |||||
| events: [ | |||||
| { | |||||
| active: true, | |||||
| createdBy: string, | |||||
| createdOn: "2021-11-26T15:00:17.506Z", | |||||
| date_of_event: "2021-11-26T15:00:17.506Z", | |||||
| event_id: string, | |||||
| event_title: string, | |||||
| event_type: string, | |||||
| is_holiday: true, | |||||
| soft_delete: true, | |||||
| updatedBy: string, | |||||
| updatedOn: "2021-11-26T15:00:17.506Z" | |||||
| } | |||||
| ], | |||||
| image_url: string, | |||||
| is_bookmarked: true, | |||||
| menuitems: [ | |||||
| { | |||||
| image_url: string, | |||||
| is_available: true, | |||||
| is_vegetarian: true, | |||||
| item_categories: [ | |||||
| { | |||||
| categoryId: 0, | |||||
| categoryName: string, | |||||
| categoryType: string | |||||
| } | |||||
| ], | |||||
| item_discount: 0, | |||||
| item_price: 0, | |||||
| menu_item_name: string, | |||||
| menuitem_id: 0, | |||||
| outlet: { | |||||
| description: string, | |||||
| events: [ | |||||
| { | |||||
| active: true, | |||||
| createdBy: string, | |||||
| createdOn: "2021-11-26T15:00:17.506Z", | |||||
| date_of_event: "2021-11-26T15:00:17.506Z", | |||||
| event_id: string, | |||||
| event_title: string, | |||||
| event_type: string, | |||||
| is_holiday: true, | |||||
| soft_delete: true, | |||||
| updatedBy: string, | |||||
| updatedOn: "2021-11-26T15:00:17.506Z" | |||||
| } | |||||
| ], | |||||
| image_url: string, | |||||
| is_bookmarked: true, | |||||
| item_categories: [ | |||||
| { | |||||
| categoryId: 0, | |||||
| categoryName: string, | |||||
| categoryType: string | |||||
| } | |||||
| ], | |||||
| offers: [ | |||||
| { | |||||
| dateActiveFrom: "2021-11-26T15:00:17.506Z", | |||||
| dateActiveTo: "2021-11-26T15:00:17.506Z", | |||||
| offerSummary: string, | |||||
| offer_precentage: 0, | |||||
| offer_price: 0, | |||||
| offersCode: string, | |||||
| offersImage: string, | |||||
| offersMaxcount: string, | |||||
| offersTitle: string, | |||||
| offersType: string, | |||||
| offers_id: 0, | |||||
| outlet: { | |||||
| description: string, | |||||
| events: [ | |||||
| { | |||||
| active: true, | |||||
| createdBy: string, | |||||
| createdOn: "2021-11-26T15:00:17.506Z", | |||||
| date_of_event: "2021-11-26T15:00:17.506Z", | |||||
| event_id: string, | |||||
| event_title: string, | |||||
| event_type: string, | |||||
| is_holiday: true, | |||||
| soft_delete: true, | |||||
| updatedBy: string, | |||||
| updatedOn: "2021-11-26T15:00:17.506Z" | |||||
| } | |||||
| ], | |||||
| image_url: string, | |||||
| is_bookmarked: true, | |||||
| is_online: true, | |||||
| item_categories: [ | |||||
| { | |||||
| categoryId: 0, | |||||
| categoryName: string, | |||||
| categoryType: string | |||||
| } | |||||
| ], | |||||
| menuitems: [ | |||||
| null | |||||
| ], | |||||
| offers: [ | |||||
| null | |||||
| ], | |||||
| outlet_Gst: 0, | |||||
| outlet_id: 0, | |||||
| outlet_name: string, | |||||
| outlet_timing: "2021-11-26T15:00:17.506Z", | |||||
| outlet_type: string, | |||||
| rating: 0, | |||||
| schedules: [ | |||||
| { | |||||
| close_timing: "2021-11-26T15:00:17.506Z", | |||||
| holidays: string, | |||||
| open_timing: "2021-11-26T15:00:17.506Z", | |||||
| outlet: { | |||||
| outlet_id: 0 | |||||
| }, | |||||
| schedule_id: 0 | |||||
| } | |||||
| ] | |||||
| }, | |||||
| timeActiveTo: { | |||||
| signerCertPath: { | |||||
| certificates: [ | |||||
| { | |||||
| encoded: string, | |||||
| publicKey: { | |||||
| algorithm: string, | |||||
| encoded: string, | |||||
| format: string | |||||
| }, | |||||
| type: string | |||||
| } | |||||
| ], | |||||
| encoded: string, | |||||
| encodings: {}, | |||||
| type: string | |||||
| }, | |||||
| timestamp: "2021-11-26T15:00:17.506Z" | |||||
| }, | |||||
| timeActveFrom: { | |||||
| signerCertPath: { | |||||
| certificates: [ | |||||
| { | |||||
| encoded: string, | |||||
| publicKey: { | |||||
| algorithm: string, | |||||
| encoded: string, | |||||
| format: string | |||||
| }, | |||||
| type: string | |||||
| } | |||||
| ], | |||||
| encoded: string, | |||||
| encodings: {}, | |||||
| type: string | |||||
| }, | |||||
| timestamp: "2021-11-26T15:00:17.506Z" | |||||
| } | |||||
| } | |||||
| ], | |||||
| outlet_Gst: 0, | |||||
| outlet_id: 0, | |||||
| outlet_name: string, | |||||
| outlet_timing: "2021-11-26T15:00:17.506Z", | |||||
| outlet_type: string, | |||||
| rating: 0 | |||||
| }, | |||||
| rating: 0, | |||||
| soft_delete: true, | |||||
| wait_duration: { | |||||
| date: 0, | |||||
| day: 0, | |||||
| hours: 0, | |||||
| minutes: 0, | |||||
| month: 0, | |||||
| seconds: 0, | |||||
| time: 0, | |||||
| timezoneOffset: 0, | |||||
| year: 0 | |||||
| } | |||||
| } | |||||
| ], | |||||
| outlet_Gst: 0, | |||||
| outlet_id: 0, | |||||
| outlet_name: string, | |||||
| outlet_timing: "2021-11-26T15:00:17.506Z", | |||||
| outlet_type: string, | |||||
| rating: 0 | |||||
| } | |||||
| ], | |||||
| rating: 0, | |||||
| soft_delete: true | |||||
| } | |||||
| @@ -29,6 +29,7 @@ | |||||
| <span>Type: {{vendor.vendorType}}</span> | <span>Type: {{vendor.vendorType}}</span> | ||||
| <span>Ph: {{vendor.vendorOfficeNo}} Mob: {{vendor.vendorMobile}} </span> | <span>Ph: {{vendor.vendorOfficeNo}} Mob: {{vendor.vendorMobile}} </span> | ||||
| </div> | </div> | ||||
| <img src="../../../assets/visibility.svg" class="viewsvg" (click)='selectedVendor(vendor, outlet)'> | |||||
| <img src="../../../assets/expand.svg" [ngClass]="{'active': showOutlets === true}" (click)="showOutlets = !showOutlets" class="viewsvg"> | <img src="../../../assets/expand.svg" [ngClass]="{'active': showOutlets === true}" (click)="showOutlets = !showOutlets" class="viewsvg"> | ||||
| </div> | </div> | ||||
| @@ -42,10 +43,10 @@ | |||||
| </div> | </div> | ||||
| <div> | <div> | ||||
| <span>Id: {{outlet.outlet_id}}</span> | <span>Id: {{outlet.outlet_id}}</span> | ||||
| <span>Rating: {{outlet.rating}}</span> | |||||
| <span> MenuItems: {{outlet.menuitems.length}}</span> | |||||
| <span>Rating: {{outlet.rating}}<img src="../../../assets/star.svg"></span> | |||||
| <span> MenuItems: {{outlet.menuitems.length}}<img src="../../../assets/outlet.svg"> </span> | |||||
| </div> | </div> | ||||
| <img src="../../../assets/visibility.svg" class="viewsvg" (click)='selectedOutlet(outlet)'> | |||||
| <img src="../../../assets/visibility.svg" class="viewsvg" (click)='selectedOutlet(vendor, outlet)'> | |||||
| </li> | </li> | ||||
| </div> | </div> | ||||
| </li> | </li> | ||||
| @@ -1,3 +1,7 @@ | |||||
| .card{ | |||||
| z-index: 0; | |||||
| } | |||||
| .card_header { | .card_header { | ||||
| div { | div { | ||||
| display: flex; | display: flex; | ||||
| @@ -247,163 +251,11 @@ | |||||
| position: absolute; | position: absolute; | ||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | height: 100%; | ||||
| background: var(--grey); | |||||
| left: 0; | left: 0; | ||||
| transform: scaleY(107%); | |||||
| border-radius: 10px; | border-radius: 10px; | ||||
| filter: brightness(170%); | |||||
| transform: scaleY(105%) scaleX(97%); | |||||
| border: 2px solid var(--grey); | |||||
| box-shadow: 0 0 10px 1.5px var(--grey); | |||||
| filter: brightness(125%); | |||||
| } | } | ||||
| } | } | ||||
| .popUp { | |||||
| position: fixed; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| background-color: rgb(0, 0, 0, 0.5); | |||||
| top: 0; | |||||
| left: 0; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| z-index: 1; | |||||
| .popup-box { | |||||
| width: 400px; | |||||
| padding: 0 15px; | |||||
| background: white; | |||||
| border-radius: 10px; | |||||
| height: 60vh; | |||||
| overflow: auto; | |||||
| border: 10px solid white; | |||||
| .input-list { | |||||
| list-style: none; | |||||
| padding: 0; | |||||
| h4{ | |||||
| display: block; | |||||
| font-size: 18px; | |||||
| color: dimgrey; | |||||
| font-weight: 500; | |||||
| margin-left: -5px; | |||||
| position: sticky; | |||||
| top: 0; | |||||
| z-index: 1; | |||||
| height: 30px; | |||||
| &:before{ | |||||
| content: ''; | |||||
| width: 100%; | |||||
| position: absolute; | |||||
| height: 100%; | |||||
| background-color: white; | |||||
| z-index: -1; | |||||
| transform: scale(105%); | |||||
| } | |||||
| } | |||||
| } | |||||
| .action-buttons{ | |||||
| position: relative; | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| margin: 10px; | |||||
| position: sticky; | |||||
| bottom: 0; | |||||
| z-index: 1; | |||||
| height: 50px; | |||||
| &:before{ | |||||
| content: ''; | |||||
| position: absolute; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| background-color: white; | |||||
| z-index: -1; | |||||
| transform: scale(115%); | |||||
| } | |||||
| } | |||||
| .mallDetails, .addDetails, .outletdistance{ | |||||
| position: relative; | |||||
| margin-top: 20px; | |||||
| margin-bottom: 30px; | |||||
| &:before{ | |||||
| content: ''; | |||||
| position: absolute; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| background-color: gainsboro; | |||||
| border-radius: 7px; | |||||
| transform: scale(105%); | |||||
| filter: brightness(105%); | |||||
| } | |||||
| } | |||||
| button{ | |||||
| margin: 0 20px; | |||||
| width: 100px; | |||||
| text-align: center; | |||||
| &.cancel{ | |||||
| background-color: white; | |||||
| border: 2px solid var(--brand-blue); | |||||
| color: var(--brand-blue); | |||||
| } | |||||
| &.disable { | |||||
| cursor: not-allowed; | |||||
| filter: grayscale(1); | |||||
| } | |||||
| } | |||||
| li { | |||||
| text-align: left; | |||||
| margin: 10px 0; | |||||
| position: relative; | |||||
| label { | |||||
| display: block; | |||||
| font-size: 14px; | |||||
| color: dimgrey; | |||||
| font-weight: 500; | |||||
| } | |||||
| img { | |||||
| width: 100px; | |||||
| height: 100px; | |||||
| border-radius: 10px; | |||||
| box-shadow: 0px 0px 5px var(--grey); | |||||
| margin: 0 auto; | |||||
| display: block; | |||||
| } | |||||
| input { | |||||
| width: 100%; | |||||
| display: block; | |||||
| height: 40px; | |||||
| border-radius: 5px; | |||||
| border: 2px solid var(--grey); | |||||
| margin-top: 10px; | |||||
| padding: 0 10px; | |||||
| font-size: 16px; | |||||
| &:focus { | |||||
| border-color: var(--brand-blue); | |||||
| } | |||||
| } | |||||
| .toggle { | |||||
| margin: 0; | |||||
| margin-top: 10px; | |||||
| cursor: pointer; | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -1,4 +1,5 @@ | |||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | |||||
| import { VendorService } from 'src/app/services/vendor.service'; | import { VendorService } from 'src/app/services/vendor.service'; | ||||
| @Component({ | @Component({ | ||||
| @@ -8,7 +9,10 @@ import { VendorService } from 'src/app/services/vendor.service'; | |||||
| }) | }) | ||||
| export class VendorsComponent implements OnInit { | export class VendorsComponent implements OnInit { | ||||
| constructor(private vendorService: VendorService) { } | |||||
| constructor( | |||||
| private vendorService: VendorService, | |||||
| private router: Router | |||||
| ) { } | |||||
| vendors: any; | vendors: any; | ||||
| showOutlets: boolean = false; | showOutlets: boolean = false; | ||||
| @@ -26,8 +30,15 @@ export class VendorsComponent implements OnInit { | |||||
| }) | }) | ||||
| } | } | ||||
| selectedOutlet(outlet: any){ | |||||
| console.log(outlet) | |||||
| selectedOutlet(vendor: any, outlet: any) { | |||||
| localStorage.vendor_info = JSON.stringify(vendor) | |||||
| localStorage.outlet_info = JSON.stringify(outlet) | |||||
| this.router.navigate(['/shop-details']) | |||||
| } | |||||
| selectedVendor(vendor:any, outlet: any){ | |||||
| localStorage.vendor_info = JSON.stringify(vendor) | |||||
| this.router.navigate(['/outlets']) | |||||
| } | } | ||||
| } | } | ||||
| @@ -4,12 +4,12 @@ import { OrderService } from '../services/order.service'; | |||||
| import * as moment from 'moment'; | import * as moment from 'moment'; | ||||
| @Component({ | @Component({ | ||||
| selector: 'app-dashboard', | |||||
| templateUrl: './dashboard.component.html', | |||||
| styleUrls: ['./dashboard.component.scss'] | |||||
| selector: 'app-dashboard', | |||||
| templateUrl: './dashboard.component.html', | |||||
| styleUrls: ['./dashboard.component.scss'] | |||||
| }) | }) | ||||
| export class DashboardComponent implements OnInit { | export class DashboardComponent implements OnInit { | ||||
| filterOptions: Array<IFilterOption> = [{ | |||||
| filterOptions: Array<IFilterOption> = [{ | |||||
| name: 'Yesterday', | name: 'Yesterday', | ||||
| id: 'yesterday' | id: 'yesterday' | ||||
| }, { | }, { | ||||
| @@ -23,24 +23,42 @@ export class DashboardComponent implements OnInit { | |||||
| profile_type: string; | profile_type: string; | ||||
| profile_info: any; | profile_info: any; | ||||
| constructor( | |||||
| constructor( | |||||
| private orderService: OrderService | private orderService: OrderService | ||||
| ) { } | ) { } | ||||
| ngOnInit() { | |||||
| ngOnInit() { | |||||
| this.calculateOrders(); | this.calculateOrders(); | ||||
| console.log(this.profile_info) | console.log(this.profile_info) | ||||
| } | } | ||||
| calculateOrders() { | calculateOrders() { | ||||
| this.profile_type = localStorage.current_login_type; | this.profile_type = localStorage.current_login_type; | ||||
| if (this.profile_type === 'ROLE_VENDOR') { | if (this.profile_type === 'ROLE_VENDOR') { | ||||
| this.profile_info = JSON.parse(localStorage.outlet_info); | this.profile_info = JSON.parse(localStorage.outlet_info); | ||||
| this.orderService.getOrdersForOutlet(this.profile_info.outlet_id).then((data) => { | this.orderService.getOrdersForOutlet(this.profile_info.outlet_id).then((data) => { | ||||
| this.orderList = data; | this.orderList = data; | ||||
| for (let i = 0; i < this.orderList.length; i += 1) { | |||||
| if (!this.orderList[i].orderstatus) { | |||||
| this.orderList[i].orderstatus = { | |||||
| orderStatus: "", | |||||
| orderstatus_id: 6 | |||||
| } | |||||
| } | |||||
| } | |||||
| }, () => { | |||||
| alert("Error getting the orders"); | |||||
| }); | |||||
| } else if (this.profile_type === 'ROLE_ADMIN') { | |||||
| this.profile_info = JSON.parse(localStorage.outlet_info); | |||||
| this.orderService.getOrdersForOutlet(this.profile_info.outlet_id).then((data) => { | |||||
| this.orderList = data; | |||||
| for (let i = 0; i < this.orderList.length; i += 1) { | for (let i = 0; i < this.orderList.length; i += 1) { | ||||
| if (!this.orderList[i].orderstatus) { | if (!this.orderList[i].orderstatus) { | ||||
| this.orderList[i].orderstatus = { | this.orderList[i].orderstatus = { | ||||
| @@ -58,7 +76,7 @@ export class DashboardComponent implements OnInit { | |||||
| this.orderService.getOrdersForOutlet(this.profile_info.outlet_id).then((data) => { | this.orderService.getOrdersForOutlet(this.profile_info.outlet_id).then((data) => { | ||||
| this.orderList = data; | this.orderList = data; | ||||
| for (let i = 0; i < this.orderList.length; i += 1) { | for (let i = 0; i < this.orderList.length; i += 1) { | ||||
| if (!this.orderList[i].orderstatus) { | if (!this.orderList[i].orderstatus) { | ||||
| this.orderList[i].orderstatus = { | this.orderList[i].orderstatus = { | ||||
| @@ -73,14 +91,14 @@ export class DashboardComponent implements OnInit { | |||||
| } | } | ||||
| } | } | ||||
| getFormattedDate(date: any, format: string) { | getFormattedDate(date: any, format: string) { | ||||
| return moment(date).format(format); | return moment(date).format(format); | ||||
| } | } | ||||
| getFilteredOrders(type: 'pending' | 'delivered' | 'confirmed') { | getFilteredOrders(type: 'pending' | 'delivered' | 'confirmed') { | ||||
| switch(type) { | |||||
| switch (type) { | |||||
| case 'pending': | case 'pending': | ||||
| return this.orderList.filter((order) => { | return this.orderList.filter((order) => { | ||||
| return order.orderstatus.orderstatus_id === 6; | return order.orderstatus.orderstatus_id === 6; | ||||
| @@ -6,12 +6,18 @@ | |||||
| <div class="input-holder"> | <div class="input-holder"> | ||||
| <label> Username </label> | <label> Username </label> | ||||
| <input type="text" placeholder="Enter username" [(ngModel)]="credentials.username"> | |||||
| <select [(ngModel)]="credentials.username"> | |||||
| <option *ngFor="let username of login_username" [value]="username"> {{ username }} </option> | |||||
| </select> | |||||
| <!-- <input type="text" placeholder="Enter username" [(ngModel)]="credentials.username"> --> | |||||
| </div> | </div> | ||||
| <div class="input-holder"> | <div class="input-holder"> | ||||
| <label> Password </label> | <label> Password </label> | ||||
| <input type="password" placeholder="Enter Password" [(ngModel)]="credentials.password"> | |||||
| <select [(ngModel)]="credentials.password"> | |||||
| <option *ngFor="let password of login_password" [value]="password"> {{ password }} </option> | |||||
| </select> | |||||
| <!-- <input type=" password" placeholder="Enter Password" [(ngModel)]="credentials.password"> --> | |||||
| </div> | </div> | ||||
| <div class="input-holder"> | <div class="input-holder"> | ||||
| @@ -21,10 +27,10 @@ | |||||
| </select> | </select> | ||||
| </div> | </div> | ||||
| <button class="rect-button" (click)="requestAuthentication()"> Login </button> | |||||
| <button class="rect-button" (click)="requestAuthentication()"> Login </button> | |||||
| <p *ngIf="errorMessage" class="error"> {{ errorMessage }} </p> | <p *ngIf="errorMessage" class="error"> {{ errorMessage }} </p> | ||||
| </section> | </section> | ||||
| </div> | |||||
| </div> | |||||
| @@ -18,7 +18,9 @@ export class LoginComponent implements OnInit { | |||||
| // admin123 admin@123 | // admin123 admin@123 | ||||
| login_types = ['ROLE_VENDOR', 'ROLE_OUTLET', 'ROLE_ADMIN']; | |||||
| login_types = ['ROLE_OUTLET', 'ROLE_VENDOR', 'ROLE_ADMIN']; | |||||
| login_username = ['suresh', 'ramsesrh', 'admin123'] | |||||
| login_password = ['123456789', '123456789', 'admin@123'] | |||||
| errorMessage: string = ''; | errorMessage: string = ''; | ||||
| @@ -45,7 +47,6 @@ export class LoginComponent implements OnInit { | |||||
| localStorage.admin_info = JSON.stringify(data['Admin Info']) | localStorage.admin_info = JSON.stringify(data['Admin Info']) | ||||
| } else { | } else { | ||||
| localStorage.outlet_info = JSON.stringify(data['Outlet Info']); | localStorage.outlet_info = JSON.stringify(data['Outlet Info']); | ||||
| this.router.navigate(['shop-details']); | |||||
| } | } | ||||
| if (this.credentials.login_type === 'ROLE_VENDOR') { | if (this.credentials.login_type === 'ROLE_VENDOR') { | ||||
| @@ -54,9 +55,10 @@ export class LoginComponent implements OnInit { | |||||
| } if (this.credentials.login_type === 'ROLE_ADMIN') { | } if (this.credentials.login_type === 'ROLE_ADMIN') { | ||||
| console.log("Logging as Admin") | console.log("Logging as Admin") | ||||
| this.router.navigate(['/admin']); | this.router.navigate(['/admin']); | ||||
| } else { | |||||
| } if (this.credentials.login_type === 'ROLE_OUTLET'){ | |||||
| console.log("Logging as Outlet") | console.log("Logging as Outlet") | ||||
| this.router.navigate(['shop-details']); | this.router.navigate(['shop-details']); | ||||
| } | } | ||||
| }, (err: any) => { | }, (err: any) => { | ||||
| @@ -2,12 +2,12 @@ import { Component, OnInit } from '@angular/core'; | |||||
| import { ItemService } from '../services/item.service'; | import { ItemService } from '../services/item.service'; | ||||
| @Component({ | @Component({ | ||||
| selector: 'app-menu-items', | |||||
| templateUrl: './menu-items.component.html', | |||||
| styleUrls: ['./menu-items.component.scss'] | |||||
| selector: 'app-menu-items', | |||||
| templateUrl: './menu-items.component.html', | |||||
| styleUrls: ['./menu-items.component.scss'] | |||||
| }) | }) | ||||
| export class MenuItemsComponent implements OnInit { | export class MenuItemsComponent implements OnInit { | ||||
| productAvailable: boolean = false; | |||||
| productAvailable: boolean = false; | |||||
| profile_type: string = ''; | profile_type: string = ''; | ||||
| profile_info: any; | profile_info: any; | ||||
| searchTerm: string = ''; | searchTerm: string = ''; | ||||
| @@ -27,33 +27,35 @@ export class MenuItemsComponent implements OnInit { | |||||
| soft_delete: boolean, | soft_delete: boolean, | ||||
| wait_duration: string, | wait_duration: string, | ||||
| } = { | } = { | ||||
| image_url: '', | |||||
| is_available: false, | |||||
| is_vegetarian: true, | |||||
| item_categories: [], | |||||
| item_discount: null, | |||||
| item_price: null, | |||||
| menu_item_name: '', | |||||
| rating: 3, | |||||
| soft_delete: false, | |||||
| wait_duration:"00:30:00" | |||||
| }; | |||||
| constructor( | |||||
| image_url: '', | |||||
| is_available: false, | |||||
| is_vegetarian: true, | |||||
| item_categories: [], | |||||
| item_discount: null, | |||||
| item_price: null, | |||||
| menu_item_name: '', | |||||
| rating: 3, | |||||
| soft_delete: false, | |||||
| wait_duration: "00:30:00" | |||||
| }; | |||||
| constructor( | |||||
| private itemService: ItemService | private itemService: ItemService | ||||
| ) { } | ) { } | ||||
| ngOnInit() { | |||||
| ngOnInit() { | |||||
| this.profile_type = localStorage.current_login_type; | this.profile_type = localStorage.current_login_type; | ||||
| if (this.profile_type === 'ROLE_VENDOR') { | if (this.profile_type === 'ROLE_VENDOR') { | ||||
| this.profile_info = JSON.parse(localStorage.outlet_info); | this.profile_info = JSON.parse(localStorage.outlet_info); | ||||
| } else if (this.profile_type === 'ROLE_OUTLET') { | } else if (this.profile_type === 'ROLE_OUTLET') { | ||||
| this.profile_info = JSON.parse(localStorage.outlet_info); | this.profile_info = JSON.parse(localStorage.outlet_info); | ||||
| } else if (this.profile_type === 'ROLE_ADMIN') { | |||||
| this.profile_info = JSON.parse(localStorage.outlet_info); | |||||
| } | } | ||||
| console.log(this.profile_info); | console.log(this.profile_info); | ||||
| this.menuItems = JSON.parse(JSON.stringify(this.profile_info.menuitems)); | this.menuItems = JSON.parse(JSON.stringify(this.profile_info.menuitems)); | ||||
| console.log(this.menuItems); | console.log(this.menuItems); | ||||
| @@ -62,11 +64,13 @@ export class MenuItemsComponent implements OnInit { | |||||
| updateItem(menuItem) { | updateItem(menuItem) { | ||||
| this.itemService.updateMenuItem(menuItem, this.profile_info.outlet_id).then((data) => { | this.itemService.updateMenuItem(menuItem, this.profile_info.outlet_id).then((data) => { | ||||
| this.profile_info.menuitems = JSON.parse(JSON.stringify(this.menuItems)); | this.profile_info.menuitems = JSON.parse(JSON.stringify(this.menuItems)); | ||||
| if (this.profile_type === 'ROLE_VENDOR') { | if (this.profile_type === 'ROLE_VENDOR') { | ||||
| localStorage.vendor_info = JSON.stringify(this.profile_info); | localStorage.vendor_info = JSON.stringify(this.profile_info); | ||||
| } else if (this.profile_type === 'ROLE_OUTLET') { | } else if (this.profile_type === 'ROLE_OUTLET') { | ||||
| localStorage.outlet_info = JSON.stringify(this.profile_info); | localStorage.outlet_info = JSON.stringify(this.profile_info); | ||||
| } else if (this.profile_type === 'ROLE_ADMIN') { | |||||
| localStorage.outlet_info = JSON.stringify(this.profile_info); | |||||
| } | } | ||||
| }, (err) => { | }, (err) => { | ||||
| @@ -74,12 +78,12 @@ export class MenuItemsComponent implements OnInit { | |||||
| alert("Failed to update"); | alert("Failed to update"); | ||||
| }); | }); | ||||
| } | } | ||||
| searchItems() { | searchItems() { | ||||
| this.menuItems = this.profile_info.menuitems.filter((item) => { | this.menuItems = this.profile_info.menuitems.filter((item) => { | ||||
| return item.menuitem_id.toString().toLowerCase().includes(this.searchTerm.toString().toLowerCase()) || | return item.menuitem_id.toString().toLowerCase().includes(this.searchTerm.toString().toLowerCase()) || | ||||
| item.menu_item_name.toString().toLowerCase().includes(this.searchTerm.toString().toLowerCase()) || | |||||
| item.item_price.toString().toLowerCase().includes(this.searchTerm.toString().toLowerCase()); | |||||
| item.menu_item_name.toString().toLowerCase().includes(this.searchTerm.toString().toLowerCase()) || | |||||
| item.item_price.toString().toLowerCase().includes(this.searchTerm.toString().toLowerCase()); | |||||
| }); | }); | ||||
| } | } | ||||
| @@ -92,11 +96,13 @@ export class MenuItemsComponent implements OnInit { | |||||
| localStorage.vendor_info = JSON.stringify(this.profile_info); | localStorage.vendor_info = JSON.stringify(this.profile_info); | ||||
| } else if (this.profile_type === 'ROLE_OUTLET') { | } else if (this.profile_type === 'ROLE_OUTLET') { | ||||
| localStorage.outlet_info = JSON.stringify(this.profile_info); | localStorage.outlet_info = JSON.stringify(this.profile_info); | ||||
| } else if (this.profile_type === 'ROLE_ADMIN') { | |||||
| localStorage.outlet_info = JSON.stringify(this.profile_info); | |||||
| } | } | ||||
| this.showAddItemModal = false; | this.showAddItemModal = false; | ||||
| this.newItem = { | this.newItem = { | ||||
| image_url: '', | image_url: '', | ||||
| is_available: false, | is_available: false, | ||||
| @@ -106,10 +112,10 @@ export class MenuItemsComponent implements OnInit { | |||||
| item_price: null, | item_price: null, | ||||
| menu_item_name: '', | menu_item_name: '', | ||||
| rating: 3, | rating: 3, | ||||
| soft_delete: false, | |||||
| wait_duration:"00:30:00" | |||||
| soft_delete: false, | |||||
| wait_duration: "00:30:00" | |||||
| }; | }; | ||||
| }, (err) => { | }, (err) => { | ||||
| alert("Failed to create item"); | alert("Failed to create item"); | ||||
| }) | }) | ||||
| @@ -3,12 +3,12 @@ import { OrderService } from '../services/order.service'; | |||||
| import * as moment from 'moment'; | import * as moment from 'moment'; | ||||
| @Component({ | @Component({ | ||||
| selector: 'app-orders', | |||||
| templateUrl: './orders.component.html', | |||||
| styleUrls: ['./orders.component.scss'] | |||||
| selector: 'app-orders', | |||||
| templateUrl: './orders.component.html', | |||||
| styleUrls: ['./orders.component.scss'] | |||||
| }) | }) | ||||
| export class OrdersComponent implements OnInit { | export class OrdersComponent implements OnInit { | ||||
| showRejectionPopup: boolean = false; | |||||
| showRejectionPopup: boolean = false; | |||||
| orderList: any = []; | orderList: any = []; | ||||
| tempOrderList: any = []; | tempOrderList: any = []; | ||||
| orderStatus: any = []; | orderStatus: any = []; | ||||
| @@ -18,22 +18,22 @@ export class OrdersComponent implements OnInit { | |||||
| orderStatus: string, | orderStatus: string, | ||||
| orderstatus_id: number | orderstatus_id: number | ||||
| } = { | } = { | ||||
| orderStatus: 'All', | |||||
| orderstatus_id: 0 | |||||
| }; | |||||
| orderStatus: 'All', | |||||
| orderstatus_id: 0 | |||||
| }; | |||||
| @Input() params: any; | @Input() params: any; | ||||
| profile_type: any; | profile_type: any; | ||||
| profile_info: any; | profile_info: any; | ||||
| constructor( | |||||
| constructor( | |||||
| private orderService: OrderService | private orderService: OrderService | ||||
| ) { } | ) { } | ||||
| ngOnInit() { | |||||
| ngOnInit() { | |||||
| if (this.params) { | if (this.params) { | ||||
| try { | try { | ||||
| switch(this.params) { | |||||
| switch (this.params) { | |||||
| case 'pending': this.filterOption = { | case 'pending': this.filterOption = { | ||||
| orderStatus: 'Pending', | orderStatus: 'Pending', | ||||
| orderstatus_id: 6 | orderstatus_id: 6 | ||||
| @@ -62,12 +62,12 @@ export class OrdersComponent implements OnInit { | |||||
| }; | }; | ||||
| } | } | ||||
| } | } | ||||
| this.calculateOrders(); | this.calculateOrders(); | ||||
| } | } | ||||
| calculateOrders() { | calculateOrders() { | ||||
| this.profile_type = localStorage.current_login_type; | this.profile_type = localStorage.current_login_type; | ||||
| @@ -93,13 +93,13 @@ export class OrdersComponent implements OnInit { | |||||
| orderStatus: 'Ready', | orderStatus: 'Ready', | ||||
| }]; | }]; | ||||
| }); | }); | ||||
| if (this.profile_type === 'ROLE_VENDOR') { | if (this.profile_type === 'ROLE_VENDOR') { | ||||
| this.profile_info = JSON.parse(localStorage.vendor_info); | this.profile_info = JSON.parse(localStorage.vendor_info); | ||||
| this.orderService.getOrders().then((data) => { | this.orderService.getOrders().then((data) => { | ||||
| this.orderList = data; | this.orderList = data; | ||||
| for (let i = 0; i < this.orderList.length; i += 1) { | for (let i = 0; i < this.orderList.length; i += 1) { | ||||
| if (!this.orderList[i].orderstatus) { | if (!this.orderList[i].orderstatus) { | ||||
| this.orderList[i].orderstatus = { | this.orderList[i].orderstatus = { | ||||
| @@ -108,7 +108,29 @@ export class OrdersComponent implements OnInit { | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| this.tempOrderList = JSON.parse(JSON.stringify(this.orderList)); | |||||
| }, () => { | |||||
| alert("Error getting the orders"); | |||||
| }); | |||||
| } | |||||
| if (this.profile_type === 'ROLE_ADMIN') { | |||||
| this.profile_info = JSON.parse(localStorage.vendor_info); | |||||
| this.orderService.getOrders().then((data) => { | |||||
| this.orderList = data; | |||||
| for (let i = 0; i < this.orderList.length; i += 1) { | |||||
| if (!this.orderList[i].orderstatus) { | |||||
| this.orderList[i].orderstatus = { | |||||
| orderStatus: "", | |||||
| orderstatus_id: 6 | |||||
| } | |||||
| } | |||||
| } | |||||
| this.tempOrderList = JSON.parse(JSON.stringify(this.orderList)); | this.tempOrderList = JSON.parse(JSON.stringify(this.orderList)); | ||||
| }, () => { | }, () => { | ||||
| alert("Error getting the orders"); | alert("Error getting the orders"); | ||||
| @@ -120,7 +142,7 @@ export class OrdersComponent implements OnInit { | |||||
| this.orderService.getOrdersForOutlet(this.profile_info.outlet_id).then((data) => { | this.orderService.getOrdersForOutlet(this.profile_info.outlet_id).then((data) => { | ||||
| this.orderList = data; | this.orderList = data; | ||||
| for (let i = 0; i < this.orderList.length; i += 1) { | for (let i = 0; i < this.orderList.length; i += 1) { | ||||
| if (!this.orderList[i].orderstatus) { | if (!this.orderList[i].orderstatus) { | ||||
| this.orderList[i].orderstatus = { | this.orderList[i].orderstatus = { | ||||
| @@ -154,18 +176,19 @@ export class OrdersComponent implements OnInit { | |||||
| getOrderInUsercartFormat(orderedlist: any) { | getOrderInUsercartFormat(orderedlist: any) { | ||||
| let compiledOrderedList: any = []; | let compiledOrderedList: any = []; | ||||
| console.log(orderedlist) | |||||
| for (let i = 0; i < orderedlist.length; i += 1) { | for (let i = 0; i < orderedlist.length; i += 1) { | ||||
| compiledOrderedList.push({ | compiledOrderedList.push({ | ||||
| mall_id: orderedlist[i].mall_id, | |||||
| outlet_id: orderedlist[i].outlet_id, | |||||
| menuitem_id: orderedlist[i].menuitems.menuitem_id, | |||||
| orderedlist_id: orderedlist[i].orderedlist_id, | |||||
| mall: [{ mall_id: orderedlist[i].mall_id }], | |||||
| menuitems: [{ menuitem_id: orderedlist[i].menuitems.menuitem_id }], | |||||
| outlet: [{ outlet_id: orderedlist[i].outlet_id }], | |||||
| quantity: orderedlist[i].quantity, | quantity: orderedlist[i].quantity, | ||||
| pickup_time: moment().add(moment.duration(orderedlist[i].menuitems.wait_duration).asMinutes(), 'minutes').format(), | pickup_time: moment().add(moment.duration(orderedlist[i].menuitems.wait_duration).asMinutes(), 'minutes').format(), | ||||
| take_away: true, | |||||
| order_status: null, | |||||
| take_away: false, | |||||
| order_status: true, | |||||
| total_price: orderedlist[i].total_price, | total_price: orderedlist[i].total_price, | ||||
| soft_delete: false, | |||||
| }); | }); | ||||
| } | } | ||||
| @@ -174,9 +197,10 @@ export class OrdersComponent implements OnInit { | |||||
| updateOrder(order) { | updateOrder(order) { | ||||
| let tempOrder = order; | let tempOrder = order; | ||||
| tempOrder.orderedlist = this.getOrderInUsercartFormat(order.orderedlist); | tempOrder.orderedlist = this.getOrderInUsercartFormat(order.orderedlist); | ||||
| console.log(tempOrder) | |||||
| this.orderService.updateOrder(tempOrder).then((data) => { | this.orderService.updateOrder(tempOrder).then((data) => { | ||||
| console.log(data); | console.log(data); | ||||
| }, (err) => { | }, (err) => { | ||||
| @@ -195,7 +219,7 @@ export class OrdersComponent implements OnInit { | |||||
| } | } | ||||
| } | } | ||||
| searchOrders() { | |||||
| searchOrders() { | |||||
| this.tempOrderList = this.orderList.filter((order: any) => { | this.tempOrderList = this.orderList.filter((order: any) => { | ||||
| return order.orders_id.toString().toLowerCase().includes(this.searchTerm.toLowerCase()); | return order.orders_id.toString().toLowerCase().includes(this.searchTerm.toLowerCase()); | ||||
| }); | }); | ||||
| @@ -73,6 +73,8 @@ export class SchedulesComponent implements OnInit { | |||||
| this.profile_info = JSON.parse(localStorage.vendor_info); | this.profile_info = JSON.parse(localStorage.vendor_info); | ||||
| } else if (this.profile_type === 'ROLE_OUTLET') { | } else if (this.profile_type === 'ROLE_OUTLET') { | ||||
| this.profile_info = JSON.parse(localStorage.outlet_info); | this.profile_info = JSON.parse(localStorage.outlet_info); | ||||
| } else if (this.profile_type === 'ROLE_ADMIN') { | |||||
| this.profile_info = JSON.parse(localStorage.outlet_info); | |||||
| } | } | ||||
| console.log(this.profile_info); | console.log(this.profile_info); | ||||
| @@ -148,10 +150,10 @@ export class SchedulesComponent implements OnInit { | |||||
| this.selectedHolidays = this.selectedDatesForSchedule.map(selectedDates => this.getTodayString(selectedDates.toString())) | this.selectedHolidays = this.selectedDatesForSchedule.map(selectedDates => this.getTodayString(selectedDates.toString())) | ||||
| this.outletTiming.holidays = JSON.stringify(this.selectedHolidays) | this.outletTiming.holidays = JSON.stringify(this.selectedHolidays) | ||||
| console.log(this.outletTiming) | console.log(this.outletTiming) | ||||
| this.outletService.addOutletSchedules(this.outletTiming, this.profile_info.outlet_id).then((data) => { | this.outletService.addOutletSchedules(this.outletTiming, this.profile_info.outlet_id).then((data) => { | ||||
| console.log(data) | console.log(data) | ||||
| }, err=>{ | |||||
| }, err => { | |||||
| console.log("Unable to Update Holidays") | console.log("Unable to Update Holidays") | ||||
| }) | }) | ||||
| } | } | ||||
| @@ -3,27 +3,27 @@ import { Router } from '@angular/router'; | |||||
| import { ActivatedRoute } from '@angular/router'; | import { ActivatedRoute } from '@angular/router'; | ||||
| @Component({ | @Component({ | ||||
| selector: 'app-widgets-holder', | |||||
| templateUrl: './widgets-holder.component.html', | |||||
| styleUrls: ['./widgets-holder.component.scss'] | |||||
| selector: 'app-widgets-holder', | |||||
| templateUrl: './widgets-holder.component.html', | |||||
| styleUrls: ['./widgets-holder.component.scss'] | |||||
| }) | }) | ||||
| export class WidgetsHolderComponent implements OnInit { | export class WidgetsHolderComponent implements OnInit { | ||||
| selected_nav: { | |||||
| selected_nav: { | |||||
| name: string, | name: string, | ||||
| params: any | params: any | ||||
| } = { | } = { | ||||
| name: 'dashboard', | |||||
| params: '' | |||||
| }; | |||||
| name: 'dashboard', | |||||
| params: '' | |||||
| }; | |||||
| profile_info: any; | profile_info: any; | ||||
| profile_type: string; | profile_type: string; | ||||
| constructor( | |||||
| constructor( | |||||
| private router: Router, | private router: Router, | ||||
| private activatedRoute: ActivatedRoute | private activatedRoute: ActivatedRoute | ||||
| ) { } | ) { } | ||||
| ngOnInit() { | |||||
| ngOnInit() { | |||||
| this.activatedRoute.params.subscribe((params) => { | this.activatedRoute.params.subscribe((params) => { | ||||
| if (params.params) { | if (params.params) { | ||||
| this.selected_nav = { | this.selected_nav = { | ||||
| @@ -41,12 +41,13 @@ export class WidgetsHolderComponent implements OnInit { | |||||
| this.profile_info = JSON.parse(localStorage.outlet_info); | this.profile_info = JSON.parse(localStorage.outlet_info); | ||||
| } else if (this.profile_type === 'ROLE_OUTLET') { | } else if (this.profile_type === 'ROLE_OUTLET') { | ||||
| this.profile_info = JSON.parse(localStorage.outlet_info); | this.profile_info = JSON.parse(localStorage.outlet_info); | ||||
| } else if (this.profile_type === 'ROLE_ADMIN') { | |||||
| this.profile_info = JSON.parse(localStorage.outlet_info); | |||||
| } else { | } else { | ||||
| this.router.navigate(['/login']); | this.router.navigate(['/login']); | ||||
| } | } | ||||
| console.log(this.profile_info) | |||||
| } | |||||
| } | |||||
| logout() { | logout() { | ||||
| localStorage.clear(); | localStorage.clear(); | ||||