From 7693e3012d10e1640f4a3ec7b85175696e282a4f Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Wed, 22 Nov 2023 06:51:17 -0500 Subject: [PATCH] tesk data --- REMEMBER.txt | 1 + src/app/pages/login/login.page.ts | 3 + src/app/pages/mytasks/mytasks.page.ts | 108 +++++++++++++--------- src/app/store/interval-refresh.service.ts | 5 +- src/app/store/tasks-data.service.spec.ts | 16 ++++ src/app/store/tasks-data.service.ts | 74 +++++++++++++++ 6 files changed, 164 insertions(+), 43 deletions(-) create mode 100644 src/app/store/tasks-data.service.spec.ts create mode 100644 src/app/store/tasks-data.service.ts diff --git a/REMEMBER.txt b/REMEMBER.txt index dbcf3f4..48649da 100644 --- a/REMEMBER.txt +++ b/REMEMBER.txt @@ -65,6 +65,7 @@ ionic generate page addcredit ionic generate component latest-market +ionic generate service tasks-data diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index 2256afa..01d5704 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -21,6 +21,7 @@ import { GoogleAuth, User } from '@codetrix-studio/capacitor-google-auth'; import {UserWalletService} from "../../store/user-wallet.service"; import {IntervalRefreshService} from "../../store/interval-refresh.service"; import {MarketDataService} from "../../store/market-data.service"; +import {TasksDataService} from "../../store/tasks-data.service"; @Component({ selector: 'app-login', @@ -61,6 +62,7 @@ export class LoginPage implements OnInit { public platform: Platform, private loadingCtrl: LoadingController, public marketDataService:MarketDataService, + public tasksDataService:TasksDataService ) { this.sessionDataProviderService.DestroySessionOnLogout(); // https://ionicframework.com/docs/angular/platform @@ -173,6 +175,7 @@ getBlogData(){ this.intervalRefreshService.startIntervalCalls(); // anything with interval call this.marketDataService.getJobsData(); this.getBlogData(); + this.tasksDataService.getJobsData(); this.userWalletService.getWalletData(); } onForgot() { diff --git a/src/app/pages/mytasks/mytasks.page.ts b/src/app/pages/mytasks/mytasks.page.ts index d142681..0824edc 100644 --- a/src/app/pages/mytasks/mytasks.page.ts +++ b/src/app/pages/mytasks/mytasks.page.ts @@ -2,6 +2,7 @@ import { Router } from '@angular/router'; import { Component, OnInit } from '@angular/core'; import { WrenchService } from 'src/app/services/wrench.service'; import {SessionDataProviderService} from "../../store/session-data-provider.service"; +import {TasksDataService} from "../../store/tasks-data.service"; @Component({ selector: 'app-mytasks', @@ -22,23 +23,25 @@ export class MytasksPage implements OnInit { constructor( private router: Router, public sessionDataProviderService: SessionDataProviderService, - private wrenchService: WrenchService + private wrenchService: WrenchService, + public tasksDataService:TasksDataService ) { } ngOnInit() { // debugger; + this.refreshJobsData(); this.getJobsData(); // this.getPastDueJobsData(); // this.getInReviewJobsData(); } - onCall() { - this.router.navigate(['call']); - } - - onMessage() { - this.router.navigate(['message']); - } + // onCall() { + // this.router.navigate(['call']); + // } + // + // onMessage() { + // this.router.navigate(['message']); + // } activeSeleted(item) { this.router.navigate(['activetask'],{state: item}); } @@ -54,42 +57,64 @@ export class MytasksPage implements OnInit { allstatus: number }; - jobsTotalData:any; - jobsData: []; - getJobsData(){ + jobsTotalInReviewData:any; + jobsInReviewData: []; - this.usrData = { - action:11200, - member_id: this.sessionDataProviderService.member_id, - uid: this.sessionDataProviderService.member_uid, - sessionid: this.sessionDataProviderService.session , - limit:20, - page:0, - offset:0, - job_mode: 'ACTIVE', - allstatus: 100 - }; - this.curr_session = this.sessionDataProviderService.session; - this.wrenchService.getMyActiveJobsData(this.usrData).subscribe( - jobsTotalData => { - this.jobsTotalData = jobsTotalData; - console.log("getMyActiveJobsData RETURN->", this.jobsTotalData); - this.session_image_server = this.jobsTotalData.session_image_server; + jobsTotalPastDueData:any; + jobsPastDueData: []; - let AllResult = this.jobsTotalData.result_list;; - this.jobsData = AllResult.filter((item) => item.status_description == 'ACTIVE') - this.jobsPastDueData =AllResult.filter((item) => item.status_description == 'PASTDUE') - this.jobsInReviewData =AllResult.filter((item) => item.status_description == 'REVIEW') - this.active_job_count = this.jobsData.length; - this.review_job_count = this.jobsInReviewData.length; - this.pastdue_job_count = this.jobsPastDueData.length; - // debugger; - } - ); + jobsTotalData:any; + jobsData: []; + + async refreshJobsData(){ + this.jobsData = this.tasksDataService.jobsData; + this.jobsPastDueData = this.tasksDataService.jobsPastDueData; + this.jobsInReviewData = this.tasksDataService.jobsInReviewData; + this.session_image_server = this.tasksDataService.session_image_server; + + this.active_job_count = this.tasksDataService.active_job_count; + this.pastdue_job_count = this.tasksDataService.pastdue_job_count; + this.review_job_count = this.tasksDataService.review_job_count; + + } + async getJobsData(){ + + this.curr_session = this.sessionDataProviderService.session; + var interval = setInterval( ()=> { + this.refreshJobsData(); + }, 5000); + + // this.usrData = { + // action:11200, + // member_id: this.sessionDataProviderService.member_id, + // uid: this.sessionDataProviderService.member_uid, + // sessionid: this.sessionDataProviderService.session , + // limit:20, + // page:0, + // offset:0, + // job_mode: 'ACTIVE', + // allstatus: 100 + // }; + // this.curr_session = this.sessionDataProviderService.session; + // this.wrenchService.getMyActiveJobsData(this.usrData).subscribe( + // jobsTotalData => { + // this.jobsTotalData = jobsTotalData; + // console.log("getMyActiveJobsData RETURN->", this.jobsTotalData); + // this.session_image_server = this.jobsTotalData.session_image_server; + // + // let AllResult = this.jobsTotalData.result_list;; + // this.jobsData = AllResult.filter((item) => item.status_description == 'ACTIVE') + // this.jobsPastDueData =AllResult.filter((item) => item.status_description == 'PASTDUE') + // this.jobsInReviewData =AllResult.filter((item) => item.status_description == 'REVIEW') + // this.active_job_count = this.jobsData.length; + // this.review_job_count = this.jobsInReviewData.length; + // this.pastdue_job_count = this.jobsPastDueData.length; + // // debugger; + // } + // ); } - jobsTotalPastDueData:any; - jobsPastDueData: []; + // getPastDueJobsData(){ // // this.usrData = {action:11200, member_id: this.sessionDataProviderService.member_id, uid: this.sessionDataProviderService.member_uid, @@ -107,8 +132,7 @@ export class MytasksPage implements OnInit { // // } - jobsTotalInReviewData:any; - jobsInReviewData: []; + // getInReviewJobsData(){ // // this.usrData = {action:11200, diff --git a/src/app/store/interval-refresh.service.ts b/src/app/store/interval-refresh.service.ts index f5337e9..d422d77 100644 --- a/src/app/store/interval-refresh.service.ts +++ b/src/app/store/interval-refresh.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; import {SessionDataProviderService} from "./session-data-provider.service"; import {MarketDataService} from "./market-data.service"; +import {TasksDataService} from "./tasks-data.service"; @Injectable({ providedIn: 'root' @@ -8,7 +9,8 @@ import {MarketDataService} from "./market-data.service"; export class IntervalRefreshService { constructor( public sessionDataProviderService:SessionDataProviderService, - public marketDataService:MarketDataService) { + public marketDataService:MarketDataService, + public tasksDataService:TasksDataService) { this.marketDataService.getJobsData(); } @@ -22,6 +24,7 @@ export class IntervalRefreshService { } console.log("Interval Function ",this.sessionDataProviderService.session ); this.marketDataService.getJobsData(); + this.tasksDataService.getJobsData(); }, this.sessionDataProviderService.refresh*2); } diff --git a/src/app/store/tasks-data.service.spec.ts b/src/app/store/tasks-data.service.spec.ts new file mode 100644 index 0000000..4c37c2b --- /dev/null +++ b/src/app/store/tasks-data.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { TasksDataService } from './tasks-data.service'; + +describe('TasksDataService', () => { + let service: TasksDataService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(TasksDataService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/store/tasks-data.service.ts b/src/app/store/tasks-data.service.ts new file mode 100644 index 0000000..6d3714e --- /dev/null +++ b/src/app/store/tasks-data.service.ts @@ -0,0 +1,74 @@ +import { Injectable } from '@angular/core'; +import {Router} from "@angular/router"; +import {SessionDataProviderService} from "./session-data-provider.service"; +import {WrenchService} from "../services/wrench.service"; + +@Injectable({ + providedIn: 'root' +}) +export class TasksDataService { + + active_job_count:number =0; + pastdue_job_count:number =0; + review_job_count:number =0; + session_image_server:string=''; + curr_session:string=''; + + constructor( + private router: Router, + public sessionDataProviderService: SessionDataProviderService, + private wrenchService: WrenchService + ) { } + + + usrData: { + action:number, + member_id: number, + uid: string, sessionid: string, + limit:20, + page:0, + offset: 0, + job_mode: string, + allstatus: number + }; + + jobsTotalInReviewData:any; + jobsInReviewData: []; + + jobsTotalPastDueData:any; + jobsPastDueData: []; + + jobsTotalData:any; + jobsData: []; + async getJobsData(){ + + this.usrData = { + action:11200, + member_id: this.sessionDataProviderService.member_id, + uid: this.sessionDataProviderService.member_uid, + sessionid: this.sessionDataProviderService.session , + limit:20, + page:0, + offset:0, + job_mode: 'ACTIVE', + allstatus: 100 + }; + this.curr_session = this.sessionDataProviderService.session; + this.wrenchService.getMyActiveJobsData(this.usrData).subscribe( + jobsTotalData => { + this.jobsTotalData = jobsTotalData; + console.log("getMyActiveJobsData RETURN->", this.jobsTotalData); + this.session_image_server = this.jobsTotalData.session_image_server; + + let AllResult = this.jobsTotalData.result_list;; + this.jobsData = AllResult.filter((item) => item.status_description == 'ACTIVE') + this.jobsPastDueData =AllResult.filter((item) => item.status_description == 'PASTDUE') + this.jobsInReviewData =AllResult.filter((item) => item.status_description == 'REVIEW') + this.active_job_count = this.jobsData.length; + this.review_job_count = this.jobsInReviewData.length; + this.pastdue_job_count = this.jobsPastDueData.length; + // debugger; + } + ); + } +}