Pending offers
This commit is contained in:
@@ -198,6 +198,10 @@ const routes: Routes = [
|
|||||||
path: 'joboffers',
|
path: 'joboffers',
|
||||||
loadChildren: () => import('./pages/joboffers/joboffers.module').then(m => m.JoboffersPageModule)
|
loadChildren: () => import('./pages/joboffers/joboffers.module').then(m => m.JoboffersPageModule)
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'pendingoffers',
|
||||||
|
loadChildren: () => import('./pages/pendingoffers/pendingoffers.module').then(m => m.PendingoffersPageModule)
|
||||||
|
},
|
||||||
|
|
||||||
];
|
];
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<ion-label class="bg_text">{{jobData.offer_code}}</ion-label>
|
<ion-label class="bg_text">{{jobData.contract}}</ion-label>
|
||||||
<div class="rate">
|
<div class="rate">
|
||||||
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
||||||
<ion-label class="review"> Due date: {{jobData.delivery_date}} </ion-label>
|
<ion-label class="review"> Due date: {{jobData.delivery_date |date}} </ion-label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -14,14 +14,19 @@
|
|||||||
<!-- <ion-icon slot="end" name="bookmark-outline" color="primary"></ion-icon>-->
|
<!-- <ion-icon slot="end" name="bookmark-outline" color="primary"></ion-icon>-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<!-- <div class="row">-->
|
||||||
<ion-label class="bg_text">.....</ion-label>
|
<!-- <ion-label class="bg_text">.....</ion-label>-->
|
||||||
<div class="rate">
|
<!-- <div class="rate">-->
|
||||||
<ion-button size="small" fill="outline" (click)="onMyJobs()">
|
<!-- <ion-button size="small" fill="outline" (click)="onMyJobs()">-->
|
||||||
<ion-icon name="star-half-outline" color="warning"></ion-icon>
|
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
||||||
My Jobs</ion-button>
|
<!-- My Jobs</ion-button>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- <div class="rate">-->
|
||||||
|
<!-- <ion-button size="small" fill="outline" (click)="onMyJobs()">-->
|
||||||
|
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
||||||
|
<!-- Pending</ion-button>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
|
||||||
<!-- <ion-label class="color_text">$40</ion-label>-->
|
<!-- <ion-label class="color_text">$40</ion-label>-->
|
||||||
|
|
||||||
@@ -31,24 +36,34 @@
|
|||||||
<ion-label>{{total_active}} Active</ion-label>
|
<ion-label>{{total_active}} Active</ion-label>
|
||||||
</div>
|
</div>
|
||||||
<div class="stud">
|
<div class="stud">
|
||||||
<ion-icon slot="start" name="time" color="primary"></ion-icon>
|
<!-- <ion-icon slot="start" name="time" color="primary"></ion-icon>-->
|
||||||
<ion-label>{{total_review}} Review</ion-label>
|
<!-- <ion-label>{{total_review}} Review</ion-label>-->
|
||||||
|
|
||||||
|
<ion-button size="small" fill="outline" (click)="onMyJobs()">
|
||||||
|
<ion-icon name="time" color="warning"></ion-icon>
|
||||||
|
My Jobs</ion-button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="stud">
|
<div class="stud">
|
||||||
<ion-icon slot="start" name="document-text" color="primary"></ion-icon>
|
<!-- <ion-icon slot="start" name="document-text" color="primary"></ion-icon>-->
|
||||||
<ion-label>{{total_pastdue}} Past Due</ion-label>
|
<!-- <ion-label>{{total_pastdue}} Past Due</ion-label>-->
|
||||||
|
|
||||||
|
<ion-button size="small" fill="outline" (click)="onMyPendingJobs()">
|
||||||
|
<ion-icon name="document-text" color="warning"></ion-icon>
|
||||||
|
Pending</ion-button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ion-segment [(ngModel)]="tabs">
|
<ion-segment [(ngModel)]="tabs">
|
||||||
<ion-segment-button value="active">
|
<ion-segment-button value="active">
|
||||||
<ion-label>Active</ion-label>
|
<ion-label>Active ({{total_active}})</ion-label>
|
||||||
</ion-segment-button>
|
</ion-segment-button>
|
||||||
<ion-segment-button value="review">
|
<ion-segment-button value="review">
|
||||||
<ion-label>Review</ion-label>
|
<ion-label>Review ({{total_review}})</ion-label>
|
||||||
</ion-segment-button>
|
</ion-segment-button>
|
||||||
<ion-segment-button value="pastdue">
|
<ion-segment-button value="pastdue">
|
||||||
<ion-label>Past Due</ion-label>
|
<ion-label>Past Due ( {{total_pastdue}} )</ion-label>
|
||||||
</ion-segment-button>
|
</ion-segment-button>
|
||||||
</ion-segment>
|
</ion-segment>
|
||||||
|
|
||||||
|
|||||||
@@ -104,4 +104,8 @@ export class JobmanagerPage implements OnInit {
|
|||||||
jobPastDue(item){
|
jobPastDue(item){
|
||||||
this.router.navigate(['jobpastdue'],{state: item});
|
this.router.navigate(['jobpastdue'],{state: item});
|
||||||
}
|
}
|
||||||
|
onMyPendingJobs(){
|
||||||
|
this.router.navigate(['pendingoffers']);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,17 +10,17 @@
|
|||||||
<div class="boxed_contents">
|
<div class="boxed_contents">
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<ion-label class="bold_text_red">Past Due Task</ion-label>
|
<ion-label class="bold_text_red">Past Due Task</ion-label>
|
||||||
<ion-icon slot="end" name="bookmark-outline" color="primary"></ion-icon>
|
<!-- <ion-icon slot="end" name="bookmark-outline" color="primary"></ion-icon>-->
|
||||||
</div>
|
</div>
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<ion-label class="bold_text">{{jobData.title}}</ion-label>
|
<ion-label class="bold_text">{{jobData.title}}</ion-label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<ion-label class="bg_text">{{jobData.offer_code}}</ion-label>
|
<ion-label class="bg_text">{{jobData.contract}}</ion-label>
|
||||||
<div class="rate">
|
<div class="rate">
|
||||||
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
||||||
<ion-label class="review"> Due date: {{jobData.delivery_date}} </ion-label>
|
<ion-label class="review"> Due date: {{jobData.delivery_date |date}} </ion-label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -38,9 +38,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ion-card>
|
<ion-card>
|
||||||
<ion-card-header>
|
<!-- <ion-card-header>-->
|
||||||
<ion-card-subtitle>Task Actions</ion-card-subtitle>
|
<!-- <ion-card-subtitle>Task Actions</ion-card-subtitle>-->
|
||||||
</ion-card-header>
|
<!-- </ion-card-header>-->
|
||||||
<ion-card-content>
|
<ion-card-content>
|
||||||
This task is already past the due date. You can extend the timeline or cancel the job.
|
This task is already past the due date. You can extend the timeline or cancel the job.
|
||||||
</ion-card-content>
|
</ion-card-content>
|
||||||
|
|||||||
@@ -17,10 +17,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<ion-label class="bg_text">{{jobData.offer_code}}</ion-label>
|
<ion-label class="bg_text">{{jobData.contract}}</ion-label>
|
||||||
<div class="rate">
|
<div class="rate">
|
||||||
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
||||||
<ion-label class="review"> Due date: {{jobData.delivery_date}} </ion-label>
|
<ion-label class="review"> Due date : {{jobData.delivery_date |date}} </ion-label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -38,9 +38,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ion-card>
|
<ion-card>
|
||||||
<ion-card-header>
|
<!-- <ion-card-header>-->
|
||||||
<ion-card-subtitle>Task is Completed </ion-card-subtitle>
|
<!-- <ion-card-subtitle>Task is Completed </ion-card-subtitle>-->
|
||||||
</ion-card-header>
|
<!-- </ion-card-header>-->
|
||||||
<ion-card-content>
|
<ion-card-content>
|
||||||
This job is in review, you can accept or reject completion.
|
This job is in review, you can accept or reject completion.
|
||||||
</ion-card-content>
|
</ion-card-content>
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { Routes, RouterModule } from '@angular/router';
|
||||||
|
|
||||||
|
import { PendingoffersPage } from './pendingoffers.page';
|
||||||
|
|
||||||
|
const routes: Routes = [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
component: PendingoffersPage
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [RouterModule.forChild(routes)],
|
||||||
|
exports: [RouterModule],
|
||||||
|
})
|
||||||
|
export class PendingoffersPageRoutingModule {}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { FormsModule } from '@angular/forms';
|
||||||
|
|
||||||
|
import { IonicModule } from '@ionic/angular';
|
||||||
|
|
||||||
|
import { PendingoffersPageRoutingModule } from './pendingoffers-routing.module';
|
||||||
|
|
||||||
|
import { PendingoffersPage } from './pendingoffers.page';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
CommonModule,
|
||||||
|
FormsModule,
|
||||||
|
IonicModule,
|
||||||
|
PendingoffersPageRoutingModule
|
||||||
|
],
|
||||||
|
declarations: [PendingoffersPage]
|
||||||
|
})
|
||||||
|
export class PendingoffersPageModule {}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
|
||||||
|
<ion-content>
|
||||||
|
<ion-icon slot="start" name="arrow-back" class="back" (click)="onBack()"></ion-icon>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="ion-padding">
|
||||||
|
<div class="flex">
|
||||||
|
<ion-label class="bold_text">Pending Offers</ion-label>
|
||||||
|
<!-- <ion-icon slot="end" name="bookmark-outline" color="primary"></ion-icon>-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <div class="row">-->
|
||||||
|
<!-- <ion-label class="bg_text">3D Design</ion-label>-->
|
||||||
|
<!-- <div class="rate">-->
|
||||||
|
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
||||||
|
<!-- <ion-label class="review">4.8 (4478 reviews)</ion-label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
|
||||||
|
<!-- <ion-label class="color_text">$40</ion-label>-->
|
||||||
|
|
||||||
|
<div class="items">
|
||||||
|
<!-- <div class="stud">-->
|
||||||
|
<!-- <ion-icon slot="start" name="people" color="primary"></ion-icon>-->
|
||||||
|
<!-- <ion-label>9876 Students</ion-label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="stud">-->
|
||||||
|
<!-- <ion-icon slot="start" name="time" color="primary"></ion-icon>-->
|
||||||
|
<!-- <ion-label>2.5 hours</ion-label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="stud">-->
|
||||||
|
<!-- <ion-icon slot="start" name="document-text" color="primary"></ion-icon>-->
|
||||||
|
<!-- <ion-label>Certificate</ion-label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="lesson">
|
||||||
|
<div class="video" *ngFor="let item of jobManagerOffersData">
|
||||||
|
<div class="left">
|
||||||
|
<div class="bg_image men_image" [style.backgroundImage]="'url(assets/images/line.png)'"></div>
|
||||||
|
|
||||||
|
<div class="text">
|
||||||
|
<ion-label class="bold_text">{{item.title}}</ion-label>
|
||||||
|
<ion-label class="grey_text">{{item.description}}</ion-label>
|
||||||
|
<ion-label class="price_line">{{item.offer_code}} {{item.price*0.01}} {{item.currency}} </ion-label>
|
||||||
|
<ion-label class="due_date">Expire: {{item.expire |date}}</ion-label>
|
||||||
|
<ion-label class="grey_text">Send to : {{item.job_to}}</ion-label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<ion-icon name="chevron-forward-outline" color="medium"></ion-icon>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</ion-content>
|
||||||
|
|
||||||
|
<ion-footer>
|
||||||
|
<ion-toolbar>
|
||||||
|
<div class="button" (click)="onBack()">
|
||||||
|
<ion-label class="text">Return</ion-label>
|
||||||
|
</div>
|
||||||
|
</ion-toolbar>
|
||||||
|
</ion-footer>
|
||||||
@@ -0,0 +1,385 @@
|
|||||||
|
|
||||||
|
ion-content {
|
||||||
|
.back_image {
|
||||||
|
width: 100%;
|
||||||
|
height: 230px;
|
||||||
|
|
||||||
|
.back {
|
||||||
|
font-size: 25px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
ion-icon {
|
||||||
|
font-size: 22px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.row {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
.bg_text {
|
||||||
|
color: var(--ion-color-primary);
|
||||||
|
background: #dfe1f3;
|
||||||
|
font-size: 12px;
|
||||||
|
padding: 2px 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rate {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.review {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_text {
|
||||||
|
margin-top: 10px;
|
||||||
|
font-size: 22px;
|
||||||
|
font-family: 'semi-bold';
|
||||||
|
color: var(--ion-color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.items {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
border-bottom: 1px solid lightgrey;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
|
||||||
|
.stud {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
ion-icon {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ion-label {
|
||||||
|
color: grey;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.about {
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
.head_text {
|
||||||
|
font-size: 18px;
|
||||||
|
font-family: 'semi-bold';
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mentor {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.men_image {
|
||||||
|
height: 50px;
|
||||||
|
width: 50px;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bold {
|
||||||
|
font-family: 'semi-bold';
|
||||||
|
}
|
||||||
|
|
||||||
|
.grey {
|
||||||
|
color: grey;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ion-icon {
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
color: grey;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.lesson {
|
||||||
|
margin-top: 20px;
|
||||||
|
|
||||||
|
.bold {
|
||||||
|
font-family: 'semi-bold';
|
||||||
|
}
|
||||||
|
|
||||||
|
.color {
|
||||||
|
color: var(--ion-color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.grey {
|
||||||
|
color: grey;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sec {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.video {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
background-color: white;
|
||||||
|
padding: 15px;
|
||||||
|
box-shadow: 0px 0px 20px 1px rgba(0, 0, 0, 0.1);
|
||||||
|
border-radius: 10px;
|
||||||
|
margin-top: 20px;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.men_image {
|
||||||
|
height: 40px;
|
||||||
|
width: 40px;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bold_text {
|
||||||
|
font-size: 16px;
|
||||||
|
font-family: 'bold';
|
||||||
|
}
|
||||||
|
|
||||||
|
.grey_text {
|
||||||
|
font-size: 14px;
|
||||||
|
color: grey;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.review_tab {
|
||||||
|
margin-top: 20px;
|
||||||
|
|
||||||
|
.total {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.star-rate {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.bold {
|
||||||
|
font-size: 17px;
|
||||||
|
font-family: 'semi-bold';
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.color {
|
||||||
|
color: var(--ion-color-primary);
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.story-item {
|
||||||
|
overflow: scroll;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
margin-top: 20px;
|
||||||
|
|
||||||
|
.menu {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
|
||||||
|
.item {
|
||||||
|
padding: 5px;
|
||||||
|
margin: 5px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
ion-thumbnail {
|
||||||
|
border-radius: 15px;
|
||||||
|
width: max-content;
|
||||||
|
height: 60px;
|
||||||
|
width: 60px;
|
||||||
|
--border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
ion-label {
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: "medium";
|
||||||
|
color: var(--ion-color-medium);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.select {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
border: 1px solid var(--ion-color-primary);
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 2px 15px;
|
||||||
|
margin-right: 10px;
|
||||||
|
|
||||||
|
.rate_num {
|
||||||
|
margin-left: 5px;
|
||||||
|
color: var(--ion-color-primary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.show {
|
||||||
|
background-color: var(--ion-color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.white {
|
||||||
|
color: white !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.choice {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.reviw_list {
|
||||||
|
margin-top: 25px;
|
||||||
|
|
||||||
|
.profile {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.men_image {
|
||||||
|
height: 40px;
|
||||||
|
width: 40px;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.bold {
|
||||||
|
font-family: 'semi-bold';
|
||||||
|
}
|
||||||
|
|
||||||
|
.grey {
|
||||||
|
color: grey;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.select {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
border: 1px solid var(--ion-color-primary);
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 2px 15px;
|
||||||
|
margin-right: 10px;
|
||||||
|
|
||||||
|
.rate_num {
|
||||||
|
margin-left: 5px;
|
||||||
|
color: var(--ion-color-primary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ion-icon {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.like {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
.heart {
|
||||||
|
font-size: 25px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.count {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time {
|
||||||
|
color: grey;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.bold_text {
|
||||||
|
font-size: 20px;
|
||||||
|
font-family: 'bold';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ion-footer {
|
||||||
|
--background: white;
|
||||||
|
|
||||||
|
ion-toolbar {
|
||||||
|
--border-width: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
ion-icon {
|
||||||
|
color: white;
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
background-color: var(--ion-color-primary);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
border-radius: 30px;
|
||||||
|
padding: 12px 0;
|
||||||
|
|
||||||
|
.text {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||||
|
import { IonicModule } from '@ionic/angular';
|
||||||
|
|
||||||
|
import { PendingoffersPage } from './pendingoffers.page';
|
||||||
|
|
||||||
|
describe('PendingoffersPage', () => {
|
||||||
|
let component: PendingoffersPage;
|
||||||
|
let fixture: ComponentFixture<PendingoffersPage>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ PendingoffersPage ],
|
||||||
|
imports: [IonicModule.forRoot()]
|
||||||
|
}).compileComponents();
|
||||||
|
|
||||||
|
fixture = TestBed.createComponent(PendingoffersPage);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
}));
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
import { Router } from '@angular/router';
|
||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import { NavController } from '@ionic/angular';
|
||||||
|
import {SessionDataProviderService} from "../../store/session-data-provider.service";
|
||||||
|
import {WrenchService} from "../../services/wrench.service";
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-pendingoffers',
|
||||||
|
templateUrl: './pendingoffers.page.html',
|
||||||
|
styleUrls: ['./pendingoffers.page.scss'],
|
||||||
|
})
|
||||||
|
export class PendingoffersPage implements OnInit {
|
||||||
|
|
||||||
|
tabs = 'about';
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
private navctr: NavController,
|
||||||
|
private router: Router,
|
||||||
|
public sessionDataProviderService: SessionDataProviderService,
|
||||||
|
private wrenchService: WrenchService
|
||||||
|
) { }
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
this.getPendingOffersData();
|
||||||
|
}
|
||||||
|
|
||||||
|
onBack() {
|
||||||
|
this.navctr.back();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
usrData: {
|
||||||
|
action:number, member_id: number, uid: string, sessionid: string, limit:20, page:1,offset: 0
|
||||||
|
};
|
||||||
|
|
||||||
|
jobManagerOffersTotalData:any;
|
||||||
|
jobManagerOffersData: [];
|
||||||
|
getPendingOffersData(){
|
||||||
|
this.usrData = {action:11309,
|
||||||
|
member_id: this.sessionDataProviderService.member_id,
|
||||||
|
uid: this.sessionDataProviderService.member_uid,
|
||||||
|
sessionid: this.sessionDataProviderService.session ,
|
||||||
|
limit:20, page:1,offset: 0}
|
||||||
|
|
||||||
|
this.wrenchService.jobmanageroffers(this.usrData).subscribe(
|
||||||
|
jobManagerOffersTotalData => {
|
||||||
|
this.jobManagerOffersTotalData = jobManagerOffersTotalData;
|
||||||
|
console.log("jobManagerOffersTotalData RETURN->", this.jobManagerOffersTotalData);
|
||||||
|
this.jobManagerOffersData = this.jobManagerOffersTotalData.result_list;
|
||||||
|
// debugger;
|
||||||
|
console.log("jobManagerOffersData RETURN DATA->", this.jobManagerOffersTotalData);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -85,11 +85,11 @@
|
|||||||
<ion-grid>
|
<ion-grid>
|
||||||
<ion-row>
|
<ion-row>
|
||||||
<ion-col size-md="3">Country</ion-col>
|
<ion-col size-md="3">Country</ion-col>
|
||||||
<ion-col size-md="9">{{country}}</ion-col>
|
<ion-col size-md="9">{{signup_country}}</ion-col>
|
||||||
</ion-row>
|
</ion-row>
|
||||||
<ion-row>
|
<ion-row>
|
||||||
<ion-col size-md="3">Username</ion-col>
|
<ion-col size-md="3">Username</ion-col>
|
||||||
<ion-col size-md="9">{{username}}</ion-col>
|
<ion-col size-md="9">{{signup_username}}</ion-col>
|
||||||
</ion-row>
|
</ion-row>
|
||||||
</ion-grid>
|
</ion-grid>
|
||||||
<ion-label class="or">Enter Confirmation Received In Email</ion-label>
|
<ion-label class="or">Enter Confirmation Received In Email</ion-label>
|
||||||
|
|||||||
@@ -69,6 +69,9 @@ export class RegisterPage implements OnInit {
|
|||||||
signUpResult:any;
|
signUpResult:any;
|
||||||
signUpData: [];
|
signUpData: [];
|
||||||
|
|
||||||
|
signup_country :string='';
|
||||||
|
signup_username :string='';
|
||||||
|
|
||||||
onFillProfile() {
|
onFillProfile() {
|
||||||
if (this.username == null || this.username == '' || this.validateEmail(this.username) == false
|
if (this.username == null || this.username == '' || this.validateEmail(this.username) == false
|
||||||
|| this.password == null || this.password == ''
|
|| this.password == null || this.password == ''
|
||||||
@@ -101,7 +104,40 @@ export class RegisterPage implements OnInit {
|
|||||||
|
|
||||||
if (this.signUpResult.internal_return > 0 && this.signUpResult?.uid != ''){
|
if (this.signUpResult.internal_return > 0 && this.signUpResult?.uid != ''){
|
||||||
this.pending_uid = this.signUpResult.uid;
|
this.pending_uid = this.signUpResult.uid;
|
||||||
|
this.signup_country = this.signUpResult.country;
|
||||||
|
this.signup_username = this.signUpResult.username;
|
||||||
|
this.random_text = '';
|
||||||
this.signup_state =2;
|
this.signup_state =2;
|
||||||
|
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"action": "11010",
|
||||||
|
"added": "2023-08-22 19:28:05.991937",
|
||||||
|
"country": "NG",
|
||||||
|
"email": "ses66181+x1234@gmail.com",
|
||||||
|
"expire": "2023-09-21 19:28:05.991937",
|
||||||
|
"firstname": "Olu",
|
||||||
|
"id": "610",
|
||||||
|
"lastname": "Ameye",
|
||||||
|
"loc": "10.10.33.15",
|
||||||
|
"mobile": "MOBILE",
|
||||||
|
"news": "1",
|
||||||
|
"password": "d0fbea2563b377ea7074bced45c88dcb",
|
||||||
|
"pending_id": "610",
|
||||||
|
"phone": "",
|
||||||
|
"pid": "100",
|
||||||
|
"sessionid": "SSSSS-SSSSSS-SSSSSS",
|
||||||
|
"signup_random": "13635",
|
||||||
|
"status": "1",
|
||||||
|
"street1": "",
|
||||||
|
"terms": "1",
|
||||||
|
"uid": "07529070-79a6-4e34-835d-a3a50283e93d",
|
||||||
|
"username": "ses66181+x1234@gmail.com",
|
||||||
|
"verify_link": "WRENCHB-1176229640-1742094704-417159648",
|
||||||
|
"zipcode": "",
|
||||||
|
"internal_return": 610
|
||||||
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
this.presentToast('Unable to continue with this params', 'middle');
|
this.presentToast('Unable to continue with this params', 'middle');
|
||||||
@@ -123,7 +159,7 @@ export class RegisterPage implements OnInit {
|
|||||||
onCompleteProfile(){
|
onCompleteProfile(){
|
||||||
this.completeSignupData = {
|
this.completeSignupData = {
|
||||||
action:11010,
|
action:11010,
|
||||||
username: this.username,
|
username: this.signup_username,
|
||||||
random_text: this.random_text,
|
random_text: this.random_text,
|
||||||
password: this.password,
|
password: this.password,
|
||||||
pending_uid: this.pending_uid,
|
pending_uid: this.pending_uid,
|
||||||
@@ -147,7 +183,7 @@ export class RegisterPage implements OnInit {
|
|||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
alert(100);
|
// alert(100);
|
||||||
}
|
}
|
||||||
showAlert(mtitle: string, amessage: string) {
|
showAlert(mtitle: string, amessage: string) {
|
||||||
/* let alert = this.alertCtrl.create({
|
/* let alert = this.alertCtrl.create({
|
||||||
|
|||||||
@@ -149,6 +149,9 @@ export class WrenchService {
|
|||||||
return this.getPostData("profilepasschange", reqData);
|
return this.getPostData("profilepasschange", reqData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jobmanageroffers(usrData){
|
||||||
|
return this.getPostData("jobmanageroffers", usrData);
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user