Interesrt Stats
This commit is contained in:
@@ -14,55 +14,39 @@
|
||||
<ion-icon aria-hidden="true" name="chatbox-ellipses" slot="start"></ion-icon>
|
||||
<ion-label>Interest Date : {{intData.sent | date}}</ion-label>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<!-- <ion-icon aria-hidden="true" name="chatbox-ellipses" slot="start"></ion-icon>-->
|
||||
<ion-button fill="clear" size ="small" shape="round" (click)="jobHx(intData)">{{job_hx_button}}</ion-button>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
<ion-row>
|
||||
|
||||
<ion-row *ngIf="job_hx_open==true;">
|
||||
<ion-col>
|
||||
|
||||
<div class="job-hx" >
|
||||
<div style="padding: 5px;">Job History</div>
|
||||
<ion-label>Completed : {{intData.client_jobs_completed}}</ion-label>
|
||||
<ion-label>Active : {{intData.client_jobs_active}}</ion-label>
|
||||
<ion-label>Pending : {{intData.client_offers_pending}}</ion-label>
|
||||
<ion-label>Uncompleted : {{intData.client_jobs_missed}} </ion-label>
|
||||
<div class="job-hx">
|
||||
<ion-label>Completed : {{job_completed}}</ion-label>
|
||||
<ion-label>Active : {{job_active}}</ion-label>
|
||||
<ion-label>% Completed : {{job_percent_complete}}</ion-label>
|
||||
</div>
|
||||
|
||||
<!-- <ion-list lines="none">-->
|
||||
<!-- <ion-item>-->
|
||||
<!-- <ion-label>Job</ion-label>-->
|
||||
<!-- </ion-item>-->
|
||||
<!-- <ion-item>-->
|
||||
<!-- <ion-label>Completed: {{intData.client_jobs_completed}}</ion-label>-->
|
||||
<!-- </ion-item>-->
|
||||
<!-- <ion-item>-->
|
||||
<!-- <ion-label>Active: {{intData.client_jobs_active}}</ion-label>-->
|
||||
<!-- </ion-item>-->
|
||||
<!-- <ion-item>-->
|
||||
<!-- <ion-label>Pening: {{intData.client_offers_pending}}</ion-label>-->
|
||||
<!-- </ion-item>-->
|
||||
<!-- <ion-item>-->
|
||||
<!-- <ion-label>Uncompleted: {{intData.client_jobs_missed}} </ion-label>-->
|
||||
<!-- </ion-item>-->
|
||||
<!-- </ion-list>-->
|
||||
</ion-col>
|
||||
<ion-col>
|
||||
<div class="job-hx">
|
||||
<ion-label>Last Complt. : {{job_last_date}}</ion-label>
|
||||
<ion-label>Uncompleted : {{job_uncompleted}}</ion-label>
|
||||
<ion-label>Pending : {{job_pending}}</ion-label>
|
||||
</div>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
|
||||
<ion-grid>
|
||||
<ion-row>
|
||||
<ion-col style="padding: 10px">
|
||||
<ion-button expand="block" size ="small" shape="round" (click)="approveStart(intData)">Approve Start</ion-button>
|
||||
</ion-col>
|
||||
|
||||
<ion-col style="padding: 10px">
|
||||
<ion-button expand="block" color="danger" size ="small" shape="round" (click)="rejectStart(intData)">Reject</ion-button>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
|
||||
|
||||
|
||||
|
||||
</ion-grid>
|
||||
<ion-grid [fixed]="true">
|
||||
<ion-row>
|
||||
<ion-col>
|
||||
<ion-button expand="block" color="danger" size ="small" shape="round" (click)="rejectStart(intData)">Reject</ion-button>
|
||||
</ion-col>
|
||||
<ion-col>
|
||||
<ion-button expand="block" size ="small" shape="round" (click)="approveStart(intData)">Approve Start</ion-button>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
@@ -18,12 +18,12 @@
|
||||
.job-hx{
|
||||
background-color: white;
|
||||
border-radius: 10px;
|
||||
font-size: 14px;
|
||||
font-size: 12px;
|
||||
font-weight: bolder;
|
||||
color:black;
|
||||
ion-label{
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
font-size: 12px;
|
||||
margin-left: 20px;
|
||||
color:rebeccapurple;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import {Component, Input, OnInit} from '@angular/core';
|
||||
import {NavController} from "@ionic/angular";
|
||||
import {AlertController, LoadingController, NavController} from "@ionic/angular";
|
||||
import {Router} from "@angular/router";
|
||||
import {SessionDataProviderService} from "../../store/session-data-provider.service";
|
||||
import {WrenchService} from "../../services/wrench.service";
|
||||
@@ -17,7 +17,9 @@ currData:any;
|
||||
constructor( private navctr: NavController,
|
||||
private router: Router,
|
||||
public sessionDataProviderService: SessionDataProviderService,
|
||||
private wrenchService: WrenchService) {
|
||||
private wrenchService: WrenchService,
|
||||
private alertController: AlertController,
|
||||
private loadingCtrl: LoadingController) {
|
||||
|
||||
}
|
||||
|
||||
@@ -28,6 +30,67 @@ currData:any;
|
||||
|
||||
}
|
||||
|
||||
job_active: string= "0"; // 1 (length=1)
|
||||
job_completed: string= "0"; // 7 (length=1)
|
||||
job_last_date: string= "0"; // 2023-11-28 (length=10)
|
||||
job_pending: string= "0"; // 1 (length=1)
|
||||
job_percent_complete: string= "0"; // 58 (length=3)
|
||||
job_rejected: string= "0"; // 0 (length=1)
|
||||
job_uncompleted: string= "0"; // 0 (length=1)
|
||||
|
||||
job_hx_button :string = "Open Job History";
|
||||
job_hx_open:boolean = false;
|
||||
statsResult:any;
|
||||
|
||||
reqStatsData: {
|
||||
action:number,
|
||||
uid: string,
|
||||
sessionid: string,
|
||||
interest_uid: string,
|
||||
client_uid: number
|
||||
};
|
||||
async jobHx(intDataR){
|
||||
|
||||
if ( this.job_hx_open==true) {
|
||||
this.job_hx_open = false;
|
||||
this.job_hx_button = "Open Job History";
|
||||
return 0;
|
||||
}
|
||||
|
||||
const loading = await this.loadingCtrl.create({
|
||||
message: 'Loading...',
|
||||
duration: 5000,
|
||||
});
|
||||
|
||||
this.reqStatsData = {
|
||||
action:13024,
|
||||
uid: this.sessionDataProviderService.member_uid,
|
||||
sessionid: this.sessionDataProviderService.session,
|
||||
interest_uid: this.intData.interest_uid,
|
||||
client_uid: this.intData.client_uid,
|
||||
};
|
||||
await loading.present();
|
||||
this.wrenchService.interestStats(this.reqStatsData).subscribe(
|
||||
statsResult => {
|
||||
loading.dismiss();
|
||||
this.statsResult = statsResult;
|
||||
console.log("assigResult RETURN->", this.statsResult);
|
||||
if ( this.statsResult != undefined ){
|
||||
this.job_hx_button = "Close Job History";
|
||||
this.job_hx_open = true;
|
||||
this.job_active= this.statsResult.job_active; // 1 (length=1)
|
||||
this.job_completed= this.statsResult.job_completed; // 7 (length=1)
|
||||
this.job_last_date= this.statsResult.job_last_date; // 2023-11-28 (length=10)
|
||||
this.job_pending= this.statsResult.job_pending; // 1 (length=1)
|
||||
this.job_percent_complete= this.statsResult.job_percent_complete; // 58 (length=3)
|
||||
this.job_rejected= this.statsResult.job_rejected; // 0 (length=1)
|
||||
this.job_uncompleted= this.statsResult.job_uncompleted; // 0 (length=1)
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
async approveStart(intDataR){
|
||||
|
||||
var reqData = {
|
||||
|
||||
@@ -20,46 +20,9 @@
|
||||
<div class="ion-padding">
|
||||
<div class="flex">
|
||||
<ion-label class="bold_text">Jobs Interest</ion-label>
|
||||
<!-- <ion-icon slot="end" name="bookmark-outline" color="primary"></ion-icon>-->
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<ion-label class="bg_text">....</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="flex">
|
||||
<!-- <ion-label class="bold">Most Popular Courses</ion-label>-->
|
||||
<!-- <ion-label class="color">See all</ion-label>-->
|
||||
</div>
|
||||
|
||||
<!-- <div class="sec">-->
|
||||
<!-- <ion-label class="grey">Section 1 - Introduction</ion-label>-->
|
||||
<!-- <ion-label class="color">15 min</ion-label>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div class="video" *ngFor="let item of jobManagerOffersJobsData" (click)="processJobInt(item)">
|
||||
<div class="left">
|
||||
@@ -68,7 +31,7 @@
|
||||
<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.client_name}} : {{item.offer_code}} {{item.price*0.01}} {{item.currency}} </ion-label>
|
||||
<ion-label class="price_line">{{item.client_name}} : {{item.price*0.01 | number : '1.2-2'}} {{item.currency}} </ion-label>
|
||||
<ion-label class="due_date">Expire: {{item.expire}}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -76,49 +39,8 @@
|
||||
<ion-icon name="chevron-forward-outline" color="medium"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="sec">-->
|
||||
<!-- <ion-label class="grey">Section 2 - Figma Basic</ion-label>-->
|
||||
<!-- <ion-label class="color">60 min</ion-label>-->
|
||||
<!-- </div>-->
|
||||
|
||||
|
||||
<!-- <div class="video" *ngFor="let item of [1,2,3,4,5,6]">-->
|
||||
<!-- <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">Why Using Figma ?</ion-label>-->
|
||||
<!-- <ion-label class="grey_text">10 mins</ion-label>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="right">-->
|
||||
<!-- <ion-icon name="lock-closed-outline"></ion-icon>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <div class="sec">-->
|
||||
<!-- <ion-label class="grey">Section 3 - Let's Practice</ion-label>-->
|
||||
<!-- <ion-label class="color">75 min</ion-label>-->
|
||||
<!-- </div>-->
|
||||
|
||||
|
||||
<!-- <div class="video" *ngFor="let item of [1,2,3,4,5,6]">-->
|
||||
<!-- <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">Why Using Figma ?</ion-label>-->
|
||||
<!-- <ion-label class="grey_text">10 mins</ion-label>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="right">-->
|
||||
<!-- <ion-icon name="lock-closed-outline"></ion-icon>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
@@ -23,25 +23,36 @@
|
||||
<!-- <ion-icon slot="end" name="bookmark-outline" color="primary"></ion-icon>-->
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<ion-label class="bg_text">{{jobData.offer_code}}</ion-label>
|
||||
<div class="rate">
|
||||
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
||||
<ion-label class="review"> ({{jobData.interest_count}} interest)</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="row">-->
|
||||
<!-- <ion-label class="bg_text">{{jobData.offer_code}}</ion-label>-->
|
||||
<!-- <div class="rate">-->
|
||||
<!-- <!– <ion-icon name="star-half-outline" color="warning"></ion-icon>–>-->
|
||||
<!-- <ion-label class="review"> ({{jobData.interest_count}} interest)</ion-label>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<ion-label class="color_text">Price: {{jobData.price*0.01| number : '1.2-2'}} {{jobData.currency}}</ion-label>
|
||||
<!-- <ion-label class="color_text">Price: {{jobData.price*0.01| number : '1.2-2'}} {{jobData.currency}}</ion-label>-->
|
||||
|
||||
<!-- <div class="items">-->
|
||||
<!-- <div class="stud">-->
|
||||
<!-- <ion-icon slot="start" name="time" color="primary"></ion-icon>-->
|
||||
<!-- <ion-label>Timeline: {{jobData.timeline_days}} days</ion-label>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<ion-label style="font-size: 16px; color: #0b5e86; font-weight: bolder;">Reward : {{jobData.price*0.01| number : '1.2-2'}} {{jobData.currency_code}}</ion-label>
|
||||
<div class="items">
|
||||
<div class="stud">
|
||||
<ion-icon slot="start" name="time" color="primary"></ion-icon>
|
||||
<ion-label>Timeline: {{jobData.timeline_days}} days</ion-label>
|
||||
</div>
|
||||
<div class="stud">
|
||||
<ion-icon slot="start" name="document-text" color="primary"></ion-icon>
|
||||
<ion-label>Interest:{{jobData.interest_count}}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<ion-accordion-group>
|
||||
<ion-accordion *ngFor="let item of filterIntList" value="{{item.interest_uid}}" >
|
||||
<ion-item class="arcord_head" slot="header" color="secondary">
|
||||
|
||||
@@ -13,6 +13,10 @@ ion-content {
|
||||
}
|
||||
}
|
||||
|
||||
.job-hx-part{
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
}
|
||||
.flex {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
@@ -28,6 +28,7 @@ export class JobintprocessPage implements OnInit {
|
||||
console.log("XXXXX 1", this.router.getCurrentNavigation().extras);
|
||||
console.log("XXXXX 2", this.router.getCurrentNavigation().extras.state);
|
||||
//console.log("XXXXX 3", this.router.getCurrentNavigation().extras.state.ID);
|
||||
// debugger;
|
||||
if (this.jobData==undefined){
|
||||
this.onBack();
|
||||
}
|
||||
|
||||
@@ -179,6 +179,10 @@ export class WrenchService {
|
||||
return this.getPostData("assigntask", reqData);
|
||||
}
|
||||
|
||||
interestStats(reqData){
|
||||
return this.getPostData("intereststats", reqData);
|
||||
}
|
||||
|
||||
marketMessages(reqData){
|
||||
return this.getPostData("message", reqData);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user