Job linked design
This commit is contained in:
@@ -23,14 +23,7 @@
|
||||
<!-- <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">
|
||||
@@ -68,6 +61,30 @@
|
||||
<!-- <ion-label class="color">15 min</ion-label>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <ion-list>-->
|
||||
<!-- <ion-item-sliding *ngFor="let item of jobManagerJobsData" (click)="jobOwnerJobDetails(item)">-->
|
||||
<!-- <div class="video" (click)="jobOwnerJobDetails(item)">-->
|
||||
<!-- <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.length > 30) ? item.title.substring(0,29)+"...": item.title }}</ion-label>-->
|
||||
<!-- <ion-label class="grey_text">{{(item.description.length > 60) ? item.description.substring(0,59): item.description}}</ion-label>-->
|
||||
<!-- <ion-label class="price_line">Reward : {{item.price*0.01 | number : '1.2-2' }} {{item.currency}} </ion-label>-->
|
||||
<!-- <ion-label class="due_date">Timeline: {{item.timeline_days}} days</ion-label>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="right">-->
|
||||
<!-- <ion-icon name="chevron-forward-outline" color="medium"></ion-icon>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <ion-item-options>-->
|
||||
<!-- <ion-item-option>Favorite</ion-item-option>-->
|
||||
<!-- <ion-item-option color="danger">Delete</ion-item-option>-->
|
||||
<!-- </ion-item-options>-->
|
||||
<!-- </ion-item-sliding>-->
|
||||
<!-- </ion-list>-->
|
||||
|
||||
|
||||
<div class="video" *ngFor="let item of jobManagerJobsData" (click)="jobOwnerJobDetails(item)">
|
||||
<div class="left">
|
||||
<div class="bg_image men_image" [style.backgroundImage]="'url('+session_image_server+'/'+curr_session+'/job/'+item.job_uid+')'"></div>
|
||||
@@ -82,6 +99,8 @@
|
||||
<ion-icon name="chevron-forward-outline" color="medium"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -6,9 +6,6 @@
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<!-- <ion-button>-->
|
||||
<!-- <ion-icon name="ellipsis-horizontal-circle-outline"></ion-icon>-->
|
||||
<!-- </ion-button>-->
|
||||
</ion-buttons>
|
||||
<ion-title>{{jobData?.title}}</ion-title>
|
||||
</ion-toolbar>
|
||||
@@ -22,19 +19,11 @@
|
||||
|
||||
<div class="ion-padding">
|
||||
<div class="boxed_contents">
|
||||
<div class="flex">
|
||||
<ion-label class="bold_text">{{jobData?.title}}</ion-label>
|
||||
<!-- <ion-icon slot="end" name="bookmark-outline" color="primary"></ion-icon>-->
|
||||
<div style="display: flex;">
|
||||
<div *ngIf="jobData.offer_depend_uid?.length > 0 " style="max-width:20px; padding: 5px 5px; 0px 0px "><ion-icon color="danger" name="lock-closed"></ion-icon></div>
|
||||
<div><ion-label class="bold_text">{{jobData?.title}}</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 ?? 0 }} interest count)</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">
|
||||
@@ -48,6 +37,23 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="jobOpen == false && linkedJob?.job_uid?.length> 0">
|
||||
<div style="background-color: aliceblue; border-radius: 10px; min-height: 80px; margin: 0px 0px 15px 0px;">
|
||||
<div style="font-weight: bolder; color:red; font-size: 14px; width: 100%; padding: 5px 10px 10px 10px; text-align: center">This task depends on the task below</div>
|
||||
<ion-label style="margin-left: 10px; font-weight: bolder; ">{{linkedJob.title}}</ion-label>
|
||||
<ion-label style="margin-left: 10px; font-weight: bolder; ">Description</ion-label>
|
||||
<ion-label class="description" style="margin-left: 15px;">{{linkedJob.description}}</ion-label>
|
||||
<ion-label style="margin-left: 10px; font-weight: bolder; ">Delivery Details</ion-label>
|
||||
<ion-label class="description" style="margin-left: 15px;">{{linkedJob.description}}
|
||||
</ion-label>
|
||||
<div style="padding: 5px;">
|
||||
<ion-button color="danger" shape="round" size ="small" (click)="onBack()" expand="full" >Return</ion-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SEPARATE NO SHO-->
|
||||
<div *ngIf="jobOpen == true">
|
||||
<ion-card *ngIf="interestStatus==false;" style="margin: 0px 0px 15px 0px; background-color: aliceblue;">
|
||||
<ion-card-header>
|
||||
<div style="font-weight: bolder;">Are you interested in the task?</div>
|
||||
@@ -61,9 +67,6 @@
|
||||
</ion-card>
|
||||
|
||||
<ion-segment class="common_segment" [(ngModel)]="tabs">
|
||||
<!-- <ion-segment-button value="lesson">-->
|
||||
<!-- <ion-label>Show Interest</ion-label>-->
|
||||
<!-- </ion-segment-button>-->
|
||||
|
||||
<ion-segment-button value="about">
|
||||
<ion-label>Task Details</ion-label>
|
||||
@@ -73,7 +76,6 @@
|
||||
<ion-label>Have questions ?</ion-label>
|
||||
</ion-segment-button>
|
||||
</ion-segment>
|
||||
|
||||
<div *ngIf="interestStatus==true;">
|
||||
<div style=" display: inline-flex; width: 100%; margin-top: 10px; border-radius: 10px; background-color: #f8fcff">
|
||||
<div style="border-radius: 10px; max-width: 150px; height: auto;">
|
||||
@@ -138,64 +140,39 @@
|
||||
</div>
|
||||
|
||||
<div *ngIf="tabs =='message'" class="lesson">
|
||||
<ion-card style="background-color: aliceblue; margin: 0px;">
|
||||
<ion-card-header>
|
||||
<div style="font-weight: bolder; color: #1e2023;">Send Message to Task Owner?</div>
|
||||
</ion-card-header>
|
||||
<ion-card style="background-color: aliceblue; margin: 0px;">
|
||||
<ion-card-header>
|
||||
<div style="font-weight: bolder; color: #1e2023;">Send Message to Task Owner?</div>
|
||||
</ion-card-header>
|
||||
|
||||
<ion-card-content>
|
||||
<ion-card-content>
|
||||
|
||||
<div style="padding: 0px;">
|
||||
<ion-textarea
|
||||
style="background-color: white; margin: 1px; height: 120px;"
|
||||
label="Your Message to Job Owner" placeholder="Type something here" [(ngModel)]='yourmessage' ></ion-textarea>
|
||||
</div>
|
||||
<div style="padding: 0px; ">
|
||||
<ion-grid>
|
||||
<ion-row>
|
||||
<ion-col></ion-col>
|
||||
<ion-col>
|
||||
<ion-button color="secondary" shape="round" size="small" style="font-weight: bolder" expand="block" (click)="sendJobmarketMessage()">Send Message</ion-button>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
</div>
|
||||
<div *ngIf="interest_msg_status!='';" style="text-align: center; font-weight: bolder; color: #3dc2ff;">
|
||||
<ion-label class="description">{{interest_msg_status}}</ion-label>
|
||||
</div>
|
||||
<div style="padding: 0px;">
|
||||
<ion-textarea
|
||||
style="background-color: white; margin: 1px; height: 120px;"
|
||||
label="Your Message to Job Owner" placeholder="Type something here" [(ngModel)]='yourmessage' ></ion-textarea>
|
||||
</div>
|
||||
<div style="padding: 0px; ">
|
||||
<ion-grid>
|
||||
<ion-row>
|
||||
<ion-col></ion-col>
|
||||
<ion-col>
|
||||
<ion-button color="secondary" shape="round" size="small" style="font-weight: bolder" expand="block" (click)="sendJobmarketMessage()">Send Message</ion-button>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
</div>
|
||||
<div *ngIf="interest_msg_status!='';" style="text-align: center; font-weight: bolder; color: #3dc2ff;">
|
||||
<ion-label class="description">{{interest_msg_status}}</ion-label>
|
||||
</div>
|
||||
|
||||
</ion-card-content>
|
||||
</ion-card>
|
||||
</ion-card-content>
|
||||
</ion-card>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- <div style="padding: 13px; width: 100%;">-->
|
||||
<!-- <div style="background-color: aliceblue; width: 100%; border-radius: 10px; ">-->
|
||||
<!-- <div style="font-size: 16px; font-weight: bolder; margin: 5px;">-->
|
||||
<!-- Send Message to Task Owner-->
|
||||
<!-- </div>-->
|
||||
<!-- <div style="padding: 5px;">-->
|
||||
<!-- <ion-textarea-->
|
||||
<!-- style="background-color: white; margin: 5px; height: 140px;"-->
|
||||
<!-- label="Your Message to Job Owner" placeholder="Type something here" [(ngModel)]='yourmessage' ></ion-textarea>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div style="padding: 5px 20px 10px 20px; ">-->
|
||||
<!-- <ion-grid>-->
|
||||
<!-- <ion-row>-->
|
||||
<!-- <ion-col></ion-col>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <ion-button color="secondary" shape="round" size="small" style="font-weight: bolder" expand="block" (click)="sendJobmarketMessage()">Send Message</ion-button>-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- </ion-row>-->
|
||||
<!-- </ion-grid>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div *ngIf="interest_msg_status!='';" style="text-align: center; font-weight: bolder; color: #3dc2ff;">-->
|
||||
<!-- <ion-label class="description">{{interest_msg_status}}</ion-label>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- END SEPARATE NO SHO-->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@@ -4,6 +4,7 @@ import {Router} from "@angular/router";
|
||||
import { WrenchService } from 'src/app/services/wrench.service';
|
||||
import {SessionDataProviderService} from "../../store/session-data-provider.service";
|
||||
import {WaitingInterestService} from "../../store/waiting-interest.service";
|
||||
import {MarketDataService} from "../../store/market-data.service";
|
||||
|
||||
|
||||
@Component({
|
||||
@@ -17,26 +18,40 @@ export class MarketdetailPage implements OnInit {
|
||||
session_image_server:string='';
|
||||
curr_session:string='';
|
||||
offer_code:string='';
|
||||
|
||||
offer_depend_uid:string="";
|
||||
linkedJob:[];
|
||||
jobData: any;
|
||||
jobOpen:boolean =false;
|
||||
constructor(
|
||||
private navctr: NavController,
|
||||
private router: Router,
|
||||
public sessionDataProviderService: SessionDataProviderService,
|
||||
private wrenchService: WrenchService,
|
||||
public marketDataService:MarketDataService,
|
||||
private waitingInterestService:WaitingInterestService,
|
||||
private loadingCtrl: LoadingController
|
||||
) {
|
||||
|
||||
this.jobData = this.router.getCurrentNavigation().extras.state;
|
||||
//debugger;
|
||||
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.offer_depend_uid="";
|
||||
if (this.jobData==undefined){
|
||||
this.onBack();
|
||||
}
|
||||
this.offer_code = this.jobData.offer_code;
|
||||
this.offer_depend_uid = this.jobData.offer_depend_uid;
|
||||
|
||||
if ( this.offer_depend_uid !=''){
|
||||
const linkedJobList = this.marketDataService.filterDependJob(this.offer_depend_uid);
|
||||
if (linkedJobList?.length> 0){
|
||||
this.linkedJob = linkedJobList[0];
|
||||
}
|
||||
}
|
||||
else{
|
||||
this.jobOpen= true;
|
||||
}
|
||||
}
|
||||
|
||||
interestStatus: boolean= false;
|
||||
|
||||
@@ -30,7 +30,11 @@
|
||||
<div class="bg_image icon_image" [style.backgroundImage]="'url('+session_image_server+''+curr_session+'/job/'+item.job_uid+')'"></div>
|
||||
|
||||
<div class="text">
|
||||
<div class="bold_text" [innerHTML]="item.title"></div>
|
||||
<div style="display: flex">
|
||||
<div *ngIf="item.offer_depend_uid?.length > 0 " style="max-width:20px; padding-right: 5px; "><ion-icon color="danger" name="lock-closed"></ion-icon></div>
|
||||
<div class="bold_text" [innerHTML]="item.title"></div>
|
||||
</div>
|
||||
|
||||
<ion-label class="price_line"> {{item.price*0.01| number : '1.2-2'}} {{item.currency_code}} </ion-label>
|
||||
<ion-label class="due_date">Timeline: {{item.timeline_days}} days</ion-label>
|
||||
</div>
|
||||
|
||||
@@ -18,6 +18,7 @@ ion-content {
|
||||
width: 50px;
|
||||
border-radius: 100%;
|
||||
min-width: 50px;
|
||||
background-color: aliceblue;
|
||||
}
|
||||
.content {
|
||||
background-color: white;
|
||||
|
||||
@@ -43,6 +43,7 @@ export class MyCoursePage implements OnInit {
|
||||
this.jobsData = this.marketDataService.jobsData;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
getJobsData - refresh from central call - not direct call to API
|
||||
*/
|
||||
|
||||
@@ -66,15 +66,15 @@
|
||||
<ion-col size="4" class="side_lb">Depends on</ion-col>
|
||||
<ion-col size="8">
|
||||
<ion-select
|
||||
value= {{depend_uid}}
|
||||
interface="popover"
|
||||
(ionChange)="verifyEntry()"
|
||||
style="height: 35px"
|
||||
class="inp_lb"
|
||||
[(ngModel)]='depend_uid'
|
||||
label="Depends on task">
|
||||
label="Depends on task"
|
||||
value="{{depend_uid}}">
|
||||
<ion-select-option value="">None</ion-select-option>
|
||||
<ion-select-option *ngFor="let item of ownersJobsList;" value="{{item.job_uid}}" >{{item.title}}</ion-select-option>
|
||||
<ion-select-option *ngFor="let item of ownersJobsList;" value="{{item.job_uid}}" [selected]="true" >{{item.title}}</ion-select-option>
|
||||
</ion-select>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
|
||||
@@ -41,6 +41,7 @@ export class OwnersjobPage implements OnInit {
|
||||
this.onBack();
|
||||
}
|
||||
this.depend_uid = this.jobData.depend_uid;
|
||||
console.log("DEPEND UID == > " ,this.depend_uid)
|
||||
// debugger;
|
||||
this.socketToolsService.joinSocketRoom("full-markets-jobs" );
|
||||
this.socketToolsService.joinSocketRoom("market" );
|
||||
|
||||
@@ -15,6 +15,12 @@ export class MarketDataService {
|
||||
action:11200, member_id: number, uid: string, sessionid: string, limit: number, page:1
|
||||
};
|
||||
|
||||
filterDependJob(offer_depend_uid){
|
||||
return this.jobsData.filter(
|
||||
(item:any) => (item.job_uid == offer_depend_uid)
|
||||
);
|
||||
}
|
||||
|
||||
jobsTotalData:any;
|
||||
jobsData: [];
|
||||
getJobsData(){
|
||||
|
||||
Reference in New Issue
Block a user