This commit is contained in:
CHIEFSOFT\ameye
2023-11-18 06:46:09 -05:00
parent 7187059254
commit dbb404d8eb
15 changed files with 601 additions and 21 deletions
+1
View File
@@ -13,6 +13,7 @@ ionic generate page mytask
ionic generate page jobmanager
ionic generate page jobinterest
ionic generate page jobintprocess
ionic generate page jobreview
ionic generate page jobpastdue
+5
View File
@@ -250,6 +250,11 @@ const routes: Routes = [
path: 'familysettings',
loadChildren: () => import('./pages/familysettings/familysettings.module').then(m => m.FamilysettingsPageModule)
},
{
path: 'jobintprocess',
loadChildren: () => import('./pages/jobintprocess/jobintprocess.module').then(m => m.JobintprocessPageModule)
},
];
+3 -3
View File
@@ -16,9 +16,9 @@
<ion-content>
<div class="boxed_contents">
<div class="bg_image back_image" [style.backgroundImage]="'url('+session_image_server+'/'+curr_session+'/familybanner/'+member_uid+')'">
<div class="ion-padding">
<ion-icon slot="start" name="arrow-back" class="back" (click)="onBack()"></ion-icon>
</div>
<!-- <div class="ion-padding">-->
<!-- <ion-icon slot="start" name="arrow-back" class="back" (click)="onBack()"></ion-icon>-->
<!-- </div>-->
</div>
<div class="ion-padding">
+2 -1
View File
@@ -8,7 +8,8 @@ ion-content {
margin-top: 10px;
width: 100%;
height: 200px;
background-size: contain;
//background-size: contain;
border-radius: 15px;
.back {
font-size: 25px;
@@ -16,7 +16,7 @@
<ion-content>
<ion-content class="ion-padding">
<div class="boxed_contents">
<ion-accordion-group>
<ion-accordion value="first">
@@ -15,6 +15,9 @@ export class JobactivePage implements OnInit {
jobData: any;
tabs = 'activities';
item_banner:string = 'default.jpg';
session_image_server:string='';
curr_session:string='';
constructor(
private navctr: NavController,
private router: Router,
@@ -27,6 +30,7 @@ export class JobactivePage implements OnInit {
ngOnInit() {
this.curr_session = this.sessionDataProviderService.session;
//this.activeJobMsgList();
}
@@ -1,4 +1,15 @@
<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>Jobs Interest</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<div class="bg_image back_image" [style.backgroundImage]="'url(assets/images/jobinterest.jpg)'">
<div class="ion-padding">
@@ -50,9 +61,9 @@
<!-- <ion-label class="color">15 min</ion-label>-->
<!-- </div>-->
<div class="video" *ngFor="let item of jobManagerOffersJobsData">
<div class="video" *ngFor="let item of jobManagerOffersJobsData" (click)="processJobInt(item)">
<div class="left">
<div class="bg_image men_image" [style.backgroundImage]="'url(https://www.wrenchboard.com/assets/images/apps/offerslist/default.jpg)'"></div>
<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>
@@ -111,10 +122,10 @@
</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>-->
@@ -11,6 +11,8 @@ import {SessionDataProviderService} from "../../store/session-data-provider.serv
export class JobinterestPage implements OnInit {
tabs = 'about';
session_image_server:string='';
curr_session:string='';
constructor(
private navctr: NavController,
@@ -19,6 +21,7 @@ export class JobinterestPage implements OnInit {
private wrenchService: WrenchService
) {}
ngOnInit() {
this.curr_session = this.sessionDataProviderService.session;
this.getManagerOffersData();
}
@@ -26,12 +29,8 @@ export class JobinterestPage implements OnInit {
this.navctr.back();
}
onMentor() {
this.router.navigate(['mentor']);
}
onEnroll() {
this.router.navigate(['enroll']);
processJobInt(item) {
this.router.navigate(['jobintprocess'],{state: item});
}
usrData: {
@@ -52,8 +51,10 @@ export class JobinterestPage implements OnInit {
this.wrenchService.getManagerOffersList(this.usrData).subscribe(
jobManagerOffersTotalData => {
this.jobManagerOffersTotalData = jobManagerOffersTotalData;
this.session_image_server = this.jobManagerOffersTotalData.session_image_server;
console.log("jobManagerOffersTotalData RETURN->", this.jobManagerOffersTotalData);
this.jobManagerOffersJobsData = this.jobManagerOffersTotalData.result_list;
// debugger;
console.log("jobManagerOffersJobsData RETURN DATA->", this.jobManagerOffersJobsData);
}
@@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { JobintprocessPage } from './jobintprocess.page';
const routes: Routes = [
{
path: '',
component: JobintprocessPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class JobintprocessPageRoutingModule {}
@@ -0,0 +1,20 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { JobintprocessPageRoutingModule } from './jobintprocess-routing.module';
import { JobintprocessPage } from './jobintprocess.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
JobintprocessPageRoutingModule
],
declarations: [JobintprocessPage]
})
export class JobintprocessPageModule {}
@@ -0,0 +1,67 @@
<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.offer_code}}</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<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>
</div>
<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>
<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>
<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-accordion-group>
<ion-accordion value="first">
<ion-item slot="header" color="light">
<ion-label>First Accordion</ion-label>
</ion-item>
<div class="ion-padding" slot="content">First Content</div>
</ion-accordion>
<ion-accordion value="second">
<ion-item slot="header" color="light">
<ion-label>Second Accordion</ion-label>
</ion-item>
<div class="ion-padding" slot="content">Second Content</div>
</ion-accordion>
<ion-accordion value="third">
<ion-item slot="header" color="light">
<ion-label>Third Accordion</ion-label>
</ion-item>
<div class="ion-padding" slot="content">Third Content</div>
</ion-accordion>
</ion-accordion-group>
</div>
</div>
</ion-content>
@@ -0,0 +1,388 @@
ion-content {
.back_image {
width: 100%;
height: 150px;
background-size: contain;
background-repeat: no-repeat;
border-radius: 20px;
.back {
font-size: 25px;
color: white;
}
}
.flex {
display: flex;
justify-content: space-between;
align-items: center;
ion-icon {
font-size: 22px;
}
}
.row {
display: flex;
align-items: center;
margin-top: 10px;
.bg_text {
color: var(--ion-color-primary);
background: #dfe1f3;
font-size: 12px;
padding: 2px 5px;
border-radius: 5px;
margin-right: 10px;
}
.rate {
display: flex;
align-items: center;
.review {
margin-left: 5px;
}
}
}
.color_text {
margin-top: 10px;
font-size: 22px;
font-family: 'semi-bold';
color: var(--ion-color-primary);
}
.items {
display: flex;
justify-content: space-between;
margin-top: 10px;
margin-bottom: 20px;
border-bottom: 1px solid lightgrey;
padding-bottom: 10px;
.stud {
display: flex;
align-items: center;
ion-icon {
margin-right: 5px;
}
ion-label {
color: grey;
}
}
}
.about {
margin-top: 10px;
.head_text {
font-size: 18px;
font-family: 'semi-bold';
margin-bottom: 10px;
}
.mentor {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
.left {
display: flex;
.men_image {
height: 50px;
width: 50px;
border-radius: 100%;
}
.bold {
font-family: 'semi-bold';
}
.grey {
color: grey;
font-size: 14px;
}
}
ion-icon {
font-size: 25px;
}
}
.description {
color: grey;
margin-bottom: 5px;
}
}
.lesson {
margin-top: 20px;
.bold {
font-family: 'semi-bold';
}
.color {
color: var(--ion-color-primary);
}
.grey {
color: grey;
}
.sec {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 10px;
}
.video {
display: flex;
justify-content: space-between;
align-items: center;
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;
}
.men_image {
height: 40px;
width: 40px;
border-radius: 100%;
}
.text {
margin-left: 10px;
}
.bold_text {
font-size: 16px;
font-family: 'bold';
}
.grey_text {
font-size: 14px;
color: grey;
}
}
}
.review_tab {
margin-top: 20px;
.total {
display: flex;
align-items: center;
justify-content: space-between;
.star-rate {
display: flex;
align-items: center;
.bold {
font-size: 17px;
font-family: 'semi-bold';
margin-left: 5px;
}
}
.color {
color: var(--ion-color-primary);
font-size: 14px;
}
}
.story-item {
overflow: scroll;
display: flex;
flex-direction: row;
margin-top: 20px;
.menu {
width: 100%;
display: flex;
flex-direction: row;
.item {
padding: 5px;
margin: 5px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
ion-thumbnail {
border-radius: 15px;
width: max-content;
height: 60px;
width: 60px;
--border-radius: 50%;
}
ion-label {
font-size: 14px;
font-family: "medium";
color: var(--ion-color-medium);
}
}
.text {
display: flex;
align-items: center;
text-align: center;
.select {
display: flex;
align-items: center;
border: 1px solid var(--ion-color-primary);
border-radius: 20px;
padding: 2px 15px;
margin-right: 10px;
.rate_num {
margin-left: 5px;
color: var(--ion-color-primary);
}
}
.show {
background-color: var(--ion-color-primary);
}
.white {
color: white !important;
}
.choice {
display: flex;
}
}
}
}
.reviw_list {
margin-top: 25px;
.profile {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
.left {
display: flex;
align-items: center;
.men_image {
height: 40px;
width: 40px;
border-radius: 100%;
}
.bold {
font-family: 'semi-bold';
}
.grey {
color: grey;
font-size: 14px;
}
}
.right {
display: flex;
align-items: center;
.select {
display: flex;
align-items: center;
border: 1px solid var(--ion-color-primary);
border-radius: 20px;
padding: 2px 15px;
margin-right: 10px;
.rate_num {
margin-left: 5px;
color: var(--ion-color-primary);
}
}
ion-icon {
font-size: 20px;
}
}
}
.like {
display: flex;
align-items: center;
margin-top: 10px;
.heart {
font-size: 25px;
margin-right: 5px;
}
.count {
margin-right: 10px;
}
.time {
color: grey;
font-size: 14px;
}
}
}
}
.bold_text {
font-size: 20px;
font-family: 'bold';
}
}
ion-footer {
--background: white;
ion-toolbar {
--border-width: 0px;
padding: 10px;
align-items: center;
ion-icon {
color: white;
font-size: 25px;
}
.button {
background-color: var(--ion-color-primary);
display: flex;
align-items: center;
justify-content: space-around;
border-radius: 30px;
padding: 12px 0;
.text {
color: white;
}
}
}
}
@@ -0,0 +1,24 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { JobintprocessPage } from './jobintprocess.page';
describe('JobintprocessPage', () => {
let component: JobintprocessPage;
let fixture: ComponentFixture<JobintprocessPage>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ JobintprocessPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(JobintprocessPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -0,0 +1,39 @@
import { Component, OnInit } from '@angular/core';
import {NavController} from "@ionic/angular";
import {Router} from "@angular/router";
import {SessionDataProviderService} from "../../store/session-data-provider.service";
import {WrenchService} from "../../services/wrench.service";
@Component({
selector: 'app-jobintprocess',
templateUrl: './jobintprocess.page.html',
styleUrls: ['./jobintprocess.page.scss'],
})
export class JobintprocessPage implements OnInit {
session_image_server:string='';
curr_session:string='';
jobData: any;
constructor( private navctr: NavController,
private router: Router,
public sessionDataProviderService: SessionDataProviderService,
private wrenchService: WrenchService) {
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);
if (this.jobData==undefined){
this.onBack();
}
}
ngOnInit() {
this.session_image_server = this.sessionDataProviderService.session_image_server;
this.curr_session=this.sessionDataProviderService.session;
}
onBack() {
this.navctr.back();
}
}
@@ -3,6 +3,7 @@ import { Component, OnInit } from '@angular/core';
import { NavController } from '@ionic/angular';
import { WrenchService } from 'src/app/services/wrench.service';
import {SessionDataProviderService} from "../../store/session-data-provider.service";
import {WaitingInterestService} from "../../store/waiting-interest.service";
@Component({
selector: 'app-pendinterest',
@@ -17,7 +18,8 @@ export class PendinterestPage implements OnInit {
private navctr: NavController,
private router: Router,
public sessionDataProviderService: SessionDataProviderService,
private wrenchService: WrenchService
private wrenchService: WrenchService,
private waitingInterestService:WaitingInterestService
) {
}