diff --git a/src/app/components/familyhome/familyhome.component.ts b/src/app/components/familyhome/familyhome.component.ts
index d7fd754..14ad699 100644
--- a/src/app/components/familyhome/familyhome.component.ts
+++ b/src/app/components/familyhome/familyhome.component.ts
@@ -47,7 +47,7 @@ export class FamilyhomeComponent implements OnInit {
pageToNavigate = '/tabs/mytasks';
break;
case "pastdue":
- pageToNavigate = 'joboffers';
+ pageToNavigate = '/tabs/mytasks';
break;
case "pending":
pageToNavigate = 'joboffers';
diff --git a/src/app/pages/activetask/activetask.page.ts b/src/app/pages/activetask/activetask.page.ts
index 00c875e..32f9b0e 100644
--- a/src/app/pages/activetask/activetask.page.ts
+++ b/src/app/pages/activetask/activetask.page.ts
@@ -8,6 +8,7 @@ import {Camera, CameraResultType, CameraSource} from "@capacitor/camera";
import {TasksDataService} from "../../store/tasks-data.service";
import {FilePicker} from "@capawesome/capacitor-file-picker";
import {MediaConnectService} from "../../services/media-connect.service";
+import {SocketToolsService} from "../../services/socket-tools.service";
@Component({
selector: 'app-activetask',
@@ -20,6 +21,7 @@ export class ActivetaskPage implements OnInit {
status_description:string='';
session_image_server:string='';
curr_session:string='';
+ socket_room:string='';
jobData: any;
constructor(
@@ -31,7 +33,8 @@ export class ActivetaskPage implements OnInit {
public tasksDataService:TasksDataService,
public blogDataService: BlogDataService,
private loadingCtrl: LoadingController,
- private mediaConnectService: MediaConnectService
+ private mediaConnectService: MediaConnectService,
+ private socketToolsService: SocketToolsService
) {
this.yourmessage='';
this.jobData = this.router.getCurrentNavigation().extras.state;
@@ -42,6 +45,8 @@ export class ActivetaskPage implements OnInit {
if ( this.jobData == undefined || this.jobData.status_description==''){
this.onBack();
}
+ this.socket_room = `${this.jobData.contract}-${this.jobData.contract_uid}`;
+ this.socketToolsService.joinSocketRoom(this.socket_room );
}
ngOnInit() {
@@ -157,6 +162,8 @@ export class ActivetaskPage implements OnInit {
},5000);
this.yourmessage ='';
const event = new Event("app-taskactivities-refresh");
+ this.yourmessage = '';
+ this.socketToolsService.emmitSocketEvent("send_message",this.yourmessage, this.socket_room);
// Dispatch the event.
dispatchEvent(event);
diff --git a/src/app/pages/familylogin/familylogin.page.ts b/src/app/pages/familylogin/familylogin.page.ts
index 68e8f80..09ca14a 100644
--- a/src/app/pages/familylogin/familylogin.page.ts
+++ b/src/app/pages/familylogin/familylogin.page.ts
@@ -61,7 +61,7 @@ export class FamilyloginPage implements OnInit {
this.socketToolsService.stop();
setTimeout(()=>{
this.socketToolsService.setupSocket("NO-NEED-SEND");
- this.socketToolsService.joinSocketRoom("full-market-jobs" );
+ this.socketToolsService.joinSocketRoom("full-markets-jobs" );
}, 5000);
}
diff --git a/src/app/pages/jobactive/jobactive.page.ts b/src/app/pages/jobactive/jobactive.page.ts
index b37f271..be098af 100644
--- a/src/app/pages/jobactive/jobactive.page.ts
+++ b/src/app/pages/jobactive/jobactive.page.ts
@@ -34,10 +34,12 @@ export class JobactivePage implements OnInit {
) {
this.jobData = this.router.getCurrentNavigation().extras.state;
this.item_banner = this.jobData.banner;
- this.socket_room = `${this.jobData.contract}-${this.jobData.contract_uid}`;
- // debugger;
- // joinRoom(`${props.details.contract}-${props.details.contract_uid}`)
+ if ( this.jobData == undefined){
+ this.onBack();
+ }
+ debugger;
+ this.socket_room = `${this.jobData.contract}-${this.jobData.contract_uid}`;
this.socketToolsService.joinSocketRoom(this.socket_room );
}
diff --git a/src/app/pages/jobpastdue/jobpastdue.page.html b/src/app/pages/jobpastdue/jobpastdue.page.html
index 10719c5..269911d 100644
--- a/src/app/pages/jobpastdue/jobpastdue.page.html
+++ b/src/app/pages/jobpastdue/jobpastdue.page.html
@@ -153,19 +153,49 @@
-
-
- Send Message to task owner
-
+
+
+
+
+
+
+
+
+ Send File
+
+
+
+ Send Updates
+
+
+
-
-
-
+ {{interest_msg_status}}
+
+
- Send Message
- {{interest_msg_status}}
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/pages/jobpastdue/jobpastdue.page.ts b/src/app/pages/jobpastdue/jobpastdue.page.ts
index 955546c..963906f 100644
--- a/src/app/pages/jobpastdue/jobpastdue.page.ts
+++ b/src/app/pages/jobpastdue/jobpastdue.page.ts
@@ -1,8 +1,11 @@
-import { Component, OnInit } from '@angular/core';
+import {Component, OnInit, ViewChild} from '@angular/core';
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";
+import {SocketToolsService} from "../../services/socket-tools.service";
+import {FilePicker} from "@capawesome/capacitor-file-picker";
+import {MediaConnectService} from "../../services/media-connect.service";
@Component({
selector: 'app-jobpastdue',
@@ -10,21 +13,31 @@ import {WrenchService} from "../../services/wrench.service";
styleUrls: ['./jobpastdue.page.scss'],
})
export class JobpastduePage implements OnInit {
+ @ViewChild('yourmessage') yourmessage;
jobData: any;
tabs = 'activities';
item_banner:string = 'default.jpg';
session_image_server:string='';
curr_session:string='';
+ socketRoom: string ='';
constructor(
private navctr: NavController,
private router: Router,
private alertController:AlertController,
private loadingCtrl: LoadingController,
public sessionDataProviderService: SessionDataProviderService,
- private wrenchService: WrenchService
+ private wrenchService: WrenchService,
+ private socketToolsService: SocketToolsService,
+ private mediaConnectService: MediaConnectService
) {
this.jobData = this.router.getCurrentNavigation().extras.state;
this.item_banner = this.jobData.banner;
+
+ if ( this.jobData == undefined){
+ this.onBack();
+ }
+ this.socketRoom = this.jobData.contract+'-'+this.jobData.contract_uid;
+ this.socketToolsService.joinSocketRoom(this.socketRoom);
}
@@ -153,4 +166,104 @@ export class JobpastduePage implements OnInit {
});
await alert.present();
}
+
+ reqDataMessage: {
+ action:number, member_id: number, uid: string, sessionid: string, msg_type:string,
+ contract:string,
+ message:string
+ };
+
+ interest_status:string = "";
+ interest_msg_status:string = "";
+
+ msgReqResult:any;
+ async sendActiveJobMessage(){
+ if (this.yourmessage == undefined || this.yourmessage?.length < 5){
+ alert("Enter Message to send");
+ return;
+ }
+
+ const loading = await this.loadingCtrl.create({
+ message: 'Sending...',
+ duration: 2500,
+ });
+ this.reqDataMessage = {action:14010,
+ member_id: this.sessionDataProviderService.member_id,
+ uid: this.sessionDataProviderService.member_uid,
+ sessionid: this.sessionDataProviderService.session ,
+ msg_type: "TEXT",
+ contract:this.jobData.contract,
+ message: this.yourmessage
+ }
+
+ await loading.present();
+ this.wrenchService.sendTaskMessage(this.reqDataMessage).subscribe(
+ reqResult => {
+ this.msgReqResult = reqResult;
+ console.log("msgReqResult RETURN->", this.msgReqResult);
+ this.interest_msg_status = this.msgReqResult?.status;
+ this.yourmessage = '';
+ const event = new Event("app-taskactivities-refresh");
+ // Dispatch the event.
+ dispatchEvent(event);
+ this.socketToolsService.emmitSocketEvent("send_message",this.yourmessage, this.socketRoom);
+ }
+ );
+ }
+
+ uploadResult:any;
+ uploadFormData: {
+ action:number,
+ member_id: number,
+ uid: string,
+ contract: string,
+ sessionid: string,
+ msg_type:'FILE'
+ };
+
+ async pickFiles (fileMode) {
+ const result = await FilePicker.pickFiles({
+ types: ['image/png','image/jpeg','video/mp4'],
+ multiple: false,
+ readData:true
+ });
+
+ const loading = await this.loadingCtrl.create({
+ message: 'Uploading...',
+ duration: 5000,
+ });
+
+ if(result){
+ console.log(result);
+ // debugger;
+ this.uploadFormData={
+ action:14010,
+ member_id: this.sessionDataProviderService.member_id,
+ uid: this.sessionDataProviderService.member_uid,
+ contract: this.jobData.contract,
+ sessionid: this.sessionDataProviderService.session ,
+ msg_type:'FILE'
+ };
+
+ console.log(this.uploadFormData);
+ for (const [key, value] of Object.entries( this.uploadFormData )) {
+ console.log(`${key}: ${value}`);
+ }
+
+ var blob = new Blob([ result.files[0].data ], { type: result.files[0].mimeType });
+ var file = new File([blob], result.files[0].name, {type: result.files[0].mimeType });
+//return;
+ await loading.present();
+ this.mediaConnectService.uploadtaskFile(this.uploadFormData, file).subscribe(
+ uploadResult => {
+ loading.dismiss();
+ this.uploadResult = uploadResult;
+ console.log("this.mediaConnectService.uploadFile RETURN DATA->", this.uploadFormData);
+ const event = new Event("app-taskactivities-refresh");
+ // Dispatch the event.
+ dispatchEvent(event);
+ }
+ );
+ }
+ }
}
diff --git a/src/app/pages/jobreview/jobreview.page.ts b/src/app/pages/jobreview/jobreview.page.ts
index 14e1308..24c8981 100644
--- a/src/app/pages/jobreview/jobreview.page.ts
+++ b/src/app/pages/jobreview/jobreview.page.ts
@@ -6,7 +6,7 @@ import {WrenchService} from "../../services/wrench.service";
import {Camera, CameraResultType, CameraSource} from "@capacitor/camera";
import { FilePicker } from '@capawesome/capacitor-file-picker';
import {MediaConnectService} from "../../services/media-connect.service";
-
+import {SocketToolsService} from "../../services/socket-tools.service";
@Component({
selector: 'app-jobreview',
templateUrl: './jobreview.page.html',
@@ -19,6 +19,7 @@ export class JobreviewPage implements OnInit {
item_banner:string = 'default.jpg';
session_image_server:string='';
curr_session:string='';
+ socketRoom: string ='';
constructor(
private navctr: NavController,
private router: Router,
@@ -26,7 +27,8 @@ export class JobreviewPage implements OnInit {
private wrenchService: WrenchService,
private alertController:AlertController,
private loadingCtrl: LoadingController,
- private mediaConnectService: MediaConnectService
+ private mediaConnectService: MediaConnectService,
+ private socketToolsService: SocketToolsService
) {
this.jobData = this.router.getCurrentNavigation().extras.state;
this.item_banner = this.jobData.banner;
@@ -34,6 +36,8 @@ export class JobreviewPage implements OnInit {
if ( this.jobData == undefined){
this.onBack();
}
+ this.socketRoom = this.jobData.contract+'-'+this.jobData.contract_uid;
+ this.socketToolsService.joinSocketRoom(this.socketRoom);
}
diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts
index 26666c0..0741f03 100644
--- a/src/app/pages/login/login.page.ts
+++ b/src/app/pages/login/login.page.ts
@@ -591,7 +591,7 @@ getBlogData(){
this.socketToolsService.stop();
setTimeout(()=>{
this.socketToolsService.setupSocket("NO-NEED-SEND");
- this.socketToolsService.joinSocketRoom("full-market-jobs" );
+ this.socketToolsService.joinSocketRoom("full-markets-jobs" );
}, 5000);
}
/*
diff --git a/src/app/pages/ownersjob/ownersjob.page.html b/src/app/pages/ownersjob/ownersjob.page.html
index e29936d..259ace1 100644
--- a/src/app/pages/ownersjob/ownersjob.page.html
+++ b/src/app/pages/ownersjob/ownersjob.page.html
@@ -77,6 +77,8 @@
6 Days
1 Week
2 Weeks
+
3 Weeks
+
4 Weeks
@@ -153,35 +155,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/app/pages/ownersjob/ownersjob.page.ts b/src/app/pages/ownersjob/ownersjob.page.ts
index 1696b72..a32feaf 100644
--- a/src/app/pages/ownersjob/ownersjob.page.ts
+++ b/src/app/pages/ownersjob/ownersjob.page.ts
@@ -34,7 +34,8 @@ export class OwnersjobPage implements OnInit {
if (this.jobData== undefined){
this.onBack();
}
- //this.socketToolsService.joinSocketRoom("full-market-jobs" );
+ this.socketToolsService.joinSocketRoom("full-markets-jobs" );
+ this.socketToolsService.joinSocketRoom("market" );
//debugger;
}
onBack() {
@@ -151,7 +152,7 @@ if ( this.job_duration== undefined || this.job_duration < 1){
assign_mode: 110022
};
// console.log('XXX-> ', this.reqData );
- // debugger;
+ //debugger;
const loading = await this.loadingCtrl.create({
message: 'Sending...',
@@ -169,7 +170,9 @@ if ( this.job_duration== undefined || this.job_duration < 1){
const event = new Event("app-myjob-offers-refresh");
// Dispatch the event.
dispatchEvent(event);
- this.socketToolsService.emmitSocketEvent("send_message","market", "full-market-jobs");
+ // debugger;
+ // this.socketToolsService.emmitSocketEvent("send_message","market", "full-market-jobs"); //
+ this.socketToolsService.emmitSocketEvent("marketjob_added","market", "full-markets-jobs");
setTimeout(() => {
this.assign_mak_result ='';
}, 3000);
diff --git a/src/app/services/socket-tools.service.ts b/src/app/services/socket-tools.service.ts
index 4e8e8d5..4989129 100644
--- a/src/app/services/socket-tools.service.ts
+++ b/src/app/services/socket-tools.service.ts
@@ -2,13 +2,13 @@ import { Injectable } from '@angular/core';
import { io, Socket } from 'socket.io-client';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { environment } from 'src/environments/environment';
-
+import { MarketDataService } from '../store/market-data.service'
@Injectable({
providedIn: 'root'
})
export class SocketToolsService {
- constructor() {
+ constructor(public marketDataService: MarketDataService ) {
// this.setup('NO-NEED-FOR-NOW');
}
private socket: Socket;
@@ -18,50 +18,33 @@ export class SocketToolsService {
private connectionSubject: Subject