Interesrt Stats

This commit is contained in:
CHIEFSOFT\ameye
2024-07-21 07:30:37 -04:00
parent 5a765b5ff8
commit d8e8a1c813
8 changed files with 122 additions and 133 deletions
@@ -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">-->
<!-- &lt;!&ndash; <ion-icon name="star-half-outline" color="warning"></ion-icon>&ndash;&gt;-->
<!-- <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();
}
+4
View File
@@ -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);
}