active tasks

This commit is contained in:
CHIEFSOFT\ameye
2023-11-23 20:24:47 -05:00
parent f8a4409789
commit df25b2c59d
8 changed files with 181 additions and 152 deletions
@@ -1,4 +1,4 @@
.lesson {
.task_activity {
margin-top: 20px;
.bold {
@@ -13,6 +13,11 @@
color: grey;
}
.red {
color: red;
font-weight: bolder;
}
.sec {
display: flex;
justify-content: space-between;
@@ -24,12 +29,14 @@
display: flex;
justify-content: space-between;
align-items: center;
background-color: white;
//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;
}
@@ -13,7 +13,12 @@ export class TaskactivitiesComponent implements OnInit {
constructor(
public sessionDataProviderService: SessionDataProviderService,
private wrenchService: WrenchService
) { }
) {
addEventListener('app-taskactivities-refresh', () => {
this.activeJobMsgList();
});
}
ngOnInit() {
console.log("IN COMPO ACT", this.jobData);
+45 -46
View File
@@ -1,7 +1,17 @@
<ion-header mode="ios" class="ion-no-border">
<ion-toolbar>
<ion-buttons slot="start" (click)="onBack()">
<ion-button>
<ion-icon name="arrow-back-outline"></ion-icon>
</ion-button>
</ion-buttons>
<ion-title>{{jobData.title}}</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<div class="boxed_contents">
<div class="bg_image back_image" [style.backgroundImage]="'url(https://www.wrenchboard.com/assets/images/apps/jobs/default.jpg)'">
<div class="bg_image back_image" [style.backgroundImage]="'url('+session_image_server+'/'+curr_session+'/job/'+jobData.job_uid+')'">
<div class="ion-padding">
<ion-icon slot="start" name="arrow-back" class="back" (click)="onBack()"></ion-icon>
</div>
@@ -33,14 +43,14 @@
<!-- </div>-->
</div>
<div *ngIf="status_description == 'ACTIVE'" >
<ion-segment [(ngModel)]="tabs">
<div *ngIf="status_description == 'ACTIVE'" >
<ion-segment class="common_segment" [(ngModel)]="tabs">
<ion-segment-button value="activities">
<ion-label>Send Updates</ion-label>
</ion-segment-button>
<ion-segment-button value="about">
<ion-label>Details</ion-label>
</ion-segment-button>
<ion-segment-button value="lesson">
<ion-label>Send Updates</ion-label>
</ion-segment-button>
<ion-segment-button value="review">
<ion-label>Actions</ion-label>
</ion-segment-button>
@@ -72,45 +82,37 @@
</div>
<div *ngIf="tabs =='lesson'" class="lesson">
<!-- <div class="flex">-->
<!-- <ion-label class="bold">Most Popular Courses</ion-label>-->
<!-- <ion-label class="color">See all</ion-label>-->
<!-- </div>-->
<div *ngIf="tabs =='activities'" class="lesson">
<!-- <div class="sec">-->
<!-- <ion-label class="grey">Due Date:{{jobData.delivery_date}}</ion-label>-->
<!-- <ion-label class="color">{{jobData.contract}}</ion-label>-->
<!-- </div>-->
<ion-card>
<!-- <ion-card-header>-->
<!-- <ion-card-subtitle>Send Updates</ion-card-subtitle>-->
<!-- </ion-card-header>-->
<ion-card-content>
<ion-textarea label="Your Message to Job Owner" placeholder="Type message here" [(ngModel)]='yourmessage' ></ion-textarea>
<ion-card-content style="padding: 1px;">
<ion-textarea
style="background-color: aliceblue; margin: 0px; min-height: 120px"
label="Your Message to Job Owner"
placeholder="Enter your updates message here"
[(ngModel)]='yourmessage' ></ion-textarea>
</ion-card-content>
<ion-grid>
<ion-row>
<ion-col style="text-align: left;">
<ion-button color="secondary">
<ion-icon slot="icon-only" name="camera-reverse-outline"></ion-icon>
</ion-button>
<ion-button style="margin-left: 10px;">
<ion-icon slot="icon-only" name="folder-outline"></ion-icon>
</ion-button>
</ion-col>
<ion-col>
<ion-button color="secondary" expand="block" (click)="sendActiveJobMessage()">Send Updates</ion-button>
</ion-col>
</ion-row>
</ion-grid>
<ion-button color="secondary" expand="block" (click)="sendActiveJobMessage()">Send Updates</ion-button>
<ion-label class="description">{{interest_msg_status}}
</ion-label>
</ion-card>
<!-- <div class="video {{item.who}}" *ngFor="let item of msgListData">-->
<!-- <div class="left">-->
<!-- <div class="bg_image men_image" [style.backgroundImage]="'url(https://www.wrenchboard.com/assets/images/apps/msg/TEXT.svg)'"></div>-->
<!-- <div class="text">-->
<!-- <ion-label class="bold_text">{{item.msg_firstname}}-{{item.msg_date}}</ion-label>-->
<!-- <ion-label class="grey_text">{{item.message}}</ion-label>-->
<!-- </div>-->
<!-- </div>-->
<!-- &lt;!&ndash; <div class="right">&ndash;&gt;-->
<!-- &lt;!&ndash;&lt;!&ndash; <ion-icon name="lock-closed-outline"></ion-icon>&ndash;&gt;&ndash;&gt;-->
<!-- &lt;!&ndash; </div>&ndash;&gt;-->
<!-- </div>-->
</div>
<div *ngIf="tabs =='review'" class="review_tab">
@@ -168,7 +170,6 @@
</ion-card-content>
</ion-card>
</div>
<div *ngIf="status_description == 'REVIEW'" >
<ion-card color="success">
<ion-card-header>
@@ -178,8 +179,6 @@
<ion-card-content> THis task is in review , the owner will give feedback soon. </ion-card-content>
</ion-card>
</div>
<app-taskactivities [jobData]="jobData"></app-taskactivities>
@@ -187,11 +186,11 @@
</div>
</ion-content>
<ion-footer>
<ion-toolbar>
<div class="button" (click)="onBack()">
<ion-label class="text">Return</ion-label>
</div>
</ion-toolbar>
</ion-footer>
<!--<ion-footer>-->
<!-- <ion-toolbar>-->
<!-- <div class="button" (click)="onBack()">-->
<!-- <ion-label class="text">Return</ion-label>-->
<!-- </div>-->
<!-- </ion-toolbar>-->
<!--</ion-footer>-->
+45 -38
View File
@@ -12,9 +12,10 @@ import { WrenchService } from 'src/app/services/wrench.service';
})
export class ActivetaskPage implements OnInit {
@ViewChild('yourmessage') yourmessage;
tabs = 'about';
tabs = 'activities';
status_description:string='';
session_image_server:string='';
curr_session:string='';
jobData: any;
constructor(
@@ -25,16 +26,18 @@ export class ActivetaskPage implements OnInit {
private wrenchService: WrenchService,
public blogDataService: BlogDataService
) {
this.yourmessage='';
this.jobData = this.router.getCurrentNavigation().extras.state;
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);
this.status_description = this.jobData.status_description;
this.status_description = this.jobData?.status_description;
}
ngOnInit() {
this.activeJobMsgList();
this.curr_session = this.sessionDataProviderService.session;
this.session_image_server = this.sessionDataProviderService.session_image_server;
//this.activeJobMsgList();
}
onBack() {
@@ -60,37 +63,37 @@ export class ActivetaskPage implements OnInit {
*/
contrData: {
action:number,
member_id: number,
uid: string,
sessionid: string,
limit:20,
contract:string,
offset: 0
};
msgListTotalData:any;
msgListData: [];
activeJobMsgList(){
this.contrData = {
action:14011,
member_id: this.sessionDataProviderService.member_id,
uid: this.sessionDataProviderService.member_uid,
sessionid: this.sessionDataProviderService.session ,
limit:20,
contract: this.jobData.contract,
offset: 0}
this.wrenchService.activeJobMsgList(this.contrData).subscribe(
msgListTotalData => {
this.msgListTotalData = msgListTotalData;
// console.log("REFER RETURN->", this.referTotalData);
this.msgListData = this.msgListTotalData.result_list;
console.log("REFER RETURN DATA->", this.msgListData);
}
);
}
// contrData: {
// action:number,
// member_id: number,
// uid: string,
// sessionid: string,
// limit:20,
// contract:string,
// offset: 0
// };
// msgListTotalData:any;
// msgListData: [];
// activeJobMsgList(){
// this.contrData = {
// action:14011,
// member_id: this.sessionDataProviderService.member_id,
// uid: this.sessionDataProviderService.member_uid,
// sessionid: this.sessionDataProviderService.session ,
// limit:20,
// contract: this.jobData.contract,
// offset: 0}
//
// this.wrenchService.activeJobMsgList(this.contrData).subscribe(
// msgListTotalData => {
// this.msgListTotalData = msgListTotalData;
// // console.log("REFER RETURN->", this.referTotalData);
// this.msgListData = this.msgListTotalData.result_list;
// console.log("REFER RETURN DATA->", this.msgListData);
// }
// );
//
// }
/*
'member_id' => int 1
@@ -113,7 +116,7 @@ export class ActivetaskPage implements OnInit {
msgReqResult:any;
sendActiveJobMessage(){
if (this.yourmessage.length < 5){
if (this.yourmessage == undefined || this.yourmessage?.length < 5){
alert("Enter Message to send");
return;
}
@@ -132,7 +135,11 @@ export class ActivetaskPage implements OnInit {
this.msgReqResult = reqResult;
console.log("msgReqResult RETURN->", this.msgReqResult);
this.interest_msg_status = this.msgReqResult?.status;
this.activeJobMsgList();
//this.activeJobMsgList();
const event = new Event("app-taskactivities-refresh");
// Dispatch the event.
dispatchEvent(event);
}
);
}
+8 -2
View File
@@ -71,7 +71,7 @@ export class OwnersjobPage implements OnInit {
email: this.job_recipient,
assign_mode: 110033
};
console.log('XXX-> ', this.reqData );
// console.log('XXX-> ', this.reqData );
loading.present();
@@ -82,6 +82,9 @@ export class OwnersjobPage implements OnInit {
if ( this.assigResult != undefined && this.assigResult.internal_return > 0){
this.assign_ind_result = "Task sent to the email - " +this.job_recipient;
this.job_recipient='';
const event = new Event("app-myjob-offers-refresh");
// Dispatch the event.
dispatchEvent(event);
setTimeout(() => {
this.assign_ind_result ='';
}, 3000);
@@ -157,7 +160,10 @@ console.log('XXX-> ', this.reqData );
this.assigResult = assigResult;
console.log("assigResult RETURN->", this.assigResult);
if ( this.assigResult != undefined && this.assigResult.internal_return > 0){
this.assign_mak_result = "Task sent to market;"
this.assign_mak_result = "Task sent to market";
const event = new Event("app-myjob-offers-refresh");
// Dispatch the event.
dispatchEvent(event);
setTimeout(() => {
this.assign_mak_result ='';
}, 3000);
@@ -7,6 +7,7 @@ import { IonicModule } from '@ionic/angular';
import { PendingoffersPageRoutingModule } from './pendingoffers-routing.module';
import { PendingoffersPage } from './pendingoffers.page';
import {MyjobOffersComponent} from "../../components/myjob-offers/myjob-offers.component";
@NgModule({
imports: [
@@ -15,6 +16,6 @@ import { PendingoffersPage } from './pendingoffers.page';
IonicModule,
PendingoffersPageRoutingModule
],
declarations: [PendingoffersPage]
declarations: [PendingoffersPage,MyjobOffersComponent]
})
export class PendingoffersPageModule {}
@@ -14,11 +14,15 @@
<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 class="boxed_contents">
<div class="flex">
<ion-label class="bold_text">Pending Offers</ion-label>
</div>
<app-myjob-offers></app-myjob-offers>
</div>
<!-- <div class="row">-->
<!-- <ion-label class="bg_text">3D Design</ion-label>-->
<!-- <div class="rate">-->
@@ -29,39 +33,39 @@
<!-- <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="items">-->
<!--&lt;!&ndash; <div class="stud">&ndash;&gt;-->
<!--&lt;!&ndash; <ion-icon slot="start" name="people" color="primary"></ion-icon>&ndash;&gt;-->
<!--&lt;!&ndash; <ion-label>9876 Students</ion-label>&ndash;&gt;-->
<!--&lt;!&ndash; </div>&ndash;&gt;-->
<!--&lt;!&ndash; <div class="stud">&ndash;&gt;-->
<!--&lt;!&ndash; <ion-icon slot="start" name="time" color="primary"></ion-icon>&ndash;&gt;-->
<!--&lt;!&ndash; <ion-label>2.5 hours</ion-label>&ndash;&gt;-->
<!--&lt;!&ndash; </div>&ndash;&gt;-->
<!--&lt;!&ndash; <div class="stud">&ndash;&gt;-->
<!--&lt;!&ndash; <ion-icon slot="start" name="document-text" color="primary"></ion-icon>&ndash;&gt;-->
<!--&lt;!&ndash; <ion-label>Certificate</ion-label>&ndash;&gt;-->
<!--&lt;!&ndash; </div>&ndash;&gt;-->
<!-- </div>-->
<div class="lesson">
<div class="video" *ngFor="let item of jobManagerOffersData">
<div class="left">
<div class="bg_image men_image" [style.backgroundImage]="'url('+session_image_server+'/'+curr_session+'/job/'+item.job_uid+')'"></div>
<!-- <div class="lesson">-->
<!-- <div class="video" *ngFor="let item of jobManagerOffersData">-->
<!-- <div class="left">-->
<!-- <div class="bg_image men_image" [style.backgroundImage]="'url('+session_image_server+'/'+curr_session+'/job/'+item.job_uid+')'"></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 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>
@@ -22,7 +22,7 @@ export class PendingoffersPage implements OnInit {
) { }
ngOnInit() {
this.getPendingOffersData();
// this.getPendingOffersData();
}
onBack() {
@@ -30,32 +30,32 @@ export class PendingoffersPage implements OnInit {
}
usrData: {
action:number, member_id: number, uid: string, sessionid: string, limit:20, page:1,offset: 0
};
jobManagerOffersTotalData:any;
jobManagerOffersData: [];
getPendingOffersData(){
this.curr_session = this.sessionDataProviderService.session;
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;
this.session_image_server = this.jobManagerOffersTotalData.session_image_server;
// debugger;
console.log("jobManagerOffersData RETURN DATA->", this.jobManagerOffersTotalData);
}
);
}
// usrData: {
// action:number, member_id: number, uid: string, sessionid: string, limit:20, page:1,offset: 0
// };
//
// jobManagerOffersTotalData:any;
// jobManagerOffersData: [];
// getPendingOffersData(){
// this.curr_session = this.sessionDataProviderService.session;
// 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;
// this.session_image_server = this.jobManagerOffersTotalData.session_image_server;
//
// // debugger;
// console.log("jobManagerOffersData RETURN DATA->", this.jobManagerOffersTotalData);
// }
// );
//
// }
}