diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 83eec0b..ea27988 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -270,6 +270,11 @@ const routes: Routes = [ path: 'history', loadChildren: () => import('./pages/history/history.module').then(m => m.HistoryPageModule) }, + { + path: 'addjob', + loadChildren: () => import('./pages/addjob/addjob.module').then(m => m.AddjobPageModule) + }, + diff --git a/src/app/components/job-group/job-group.component.html b/src/app/components/job-group/job-group.component.html index 9554384..070f0ce 100644 --- a/src/app/components/job-group/job-group.component.html +++ b/src/app/components/job-group/job-group.component.html @@ -34,7 +34,7 @@ {{item.group_name}} + >{{item.group_name}} ({{item.member_count}})
diff --git a/src/app/pages/addjob/addjob-routing.module.ts b/src/app/pages/addjob/addjob-routing.module.ts new file mode 100644 index 0000000..37a2c87 --- /dev/null +++ b/src/app/pages/addjob/addjob-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { AddjobPage } from './addjob.page'; + +const routes: Routes = [ + { + path: '', + component: AddjobPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class AddjobPageRoutingModule {} diff --git a/src/app/pages/addjob/addjob.module.ts b/src/app/pages/addjob/addjob.module.ts new file mode 100644 index 0000000..d947503 --- /dev/null +++ b/src/app/pages/addjob/addjob.module.ts @@ -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 { AddjobPageRoutingModule } from './addjob-routing.module'; + +import { AddjobPage } from './addjob.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + AddjobPageRoutingModule + ], + declarations: [AddjobPage] +}) +export class AddjobPageModule {} diff --git a/src/app/pages/addjob/addjob.page.html b/src/app/pages/addjob/addjob.page.html new file mode 100644 index 0000000..34d59cf --- /dev/null +++ b/src/app/pages/addjob/addjob.page.html @@ -0,0 +1,93 @@ + + + + + + + + Add Job + + + + +
+
+ + + + + + + + + + + + + + {{item.name}} + + + + + + + + + + + {{item.code}} + + + + + + + + + + +
+ {{result_message}} +
+
+ + + Create Job + +
+
+
+
+
diff --git a/src/app/pages/addjob/addjob.page.scss b/src/app/pages/addjob/addjob.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/addjob/addjob.page.spec.ts b/src/app/pages/addjob/addjob.page.spec.ts new file mode 100644 index 0000000..ef239f0 --- /dev/null +++ b/src/app/pages/addjob/addjob.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { AddjobPage } from './addjob.page'; + +describe('AddjobPage', () => { + let component: AddjobPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ AddjobPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(AddjobPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/addjob/addjob.page.ts b/src/app/pages/addjob/addjob.page.ts new file mode 100644 index 0000000..849b088 --- /dev/null +++ b/src/app/pages/addjob/addjob.page.ts @@ -0,0 +1,122 @@ +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 {TasksDataService} from "../../store/tasks-data.service"; +import {UserWalletService} from "../../store/user-wallet.service"; +import {apiConst} from "../../../constants/constant"; + +@Component({ + selector: 'app-addjob', + templateUrl: './addjob.page.html', + styleUrls: ['./addjob.page.scss'], +}) +export class AddjobPage implements OnInit { + @ViewChild('title') title:any; + @ViewChild('description') description: any; + @ViewChild('job_detail') job_detail: any; + @ViewChild('timeline_days') timeline_days: any; + @ViewChild('currency') currency:any; + @ViewChild('price') price:any; + @ViewChild('country') country:any; + durationArray:any; + curr_session:string=''; + result_message:string=''; + walletResult:any; + walletData: []; + isDisabled:boolean=true; + constructor(private navctr: NavController, + private router: Router, + public sessionDataProviderService: SessionDataProviderService, + private alertController:AlertController, + private wrenchService: WrenchService, + private loadingCtrl: LoadingController, + public userWalletService: UserWalletService, + public tasksDataService:TasksDataService,) { + + this.durationArray = this.sessionDataProviderService.durationArray; + this.walletResult = this.userWalletService.walletResult.result_list; + } + + ngOnInit() { + } + onBack() { + this.navctr.back(); + } + + + verifyEntry() { + this.isDisabled = !(this.title.length > 5 && + this.description.length > 5 && + this.job_detail.length > 10 && + this.timeline_days > 0 && + this.price > 0 && + this.country.length > 1); + } + + async processCreateJob(){ + const loading = await this.loadingCtrl.create({ + message: 'Creating Job...', + duration: 5000, + }); + + + + this.reqData = { + action: apiConst.WRENCHBOARD_JOB_CREATEJOB, + member_id: this.sessionDataProviderService.member_id, + uid: this.sessionDataProviderService.member_uid, + sessionid: this.sessionDataProviderService.session , + country: this.country, + price:this.price*100, + timeline_days:this.timeline_days, + banner:'default.jpg', + title:this.title, + description:this.description, + job_detail:this.job_detail, + category:'' + } + + loading.present(); + this.isDisabled = true; + + this.wrenchService.jobManagerCreateJob(this.reqData).subscribe( + jobManagerCreateResult => { + loading.dismiss(); + this.jobManagerCreateResult = jobManagerCreateResult; + console.log("jobManagerCreateResult RETURN->", this.jobManagerCreateResult); + if (this.jobManagerCreateResult !=null && this.jobManagerCreateResult.job_uid != '' ){ + this.result_message = "Job Added"; + setTimeout(()=>{ + dispatchEvent(new Event("app_add_jobs")); + this.onBack(); + }, 3000); + } + else{ + this.result_message ="Error - Unable to Create Job"; + setTimeout(()=>{ + this.result_message =""; + }, 3000); + } + } + ); + } + + reqData: { + action:number, + member_id: number, + uid: string, sessionid: string, + country:string, + price:number, + timeline_days:number, + banner:string, + title:string, + description:string, + job_detail:string, + category:string + }; + jobManagerCreateResult:any; + + +} diff --git a/src/app/pages/home/home.page.html b/src/app/pages/home/home.page.html index 184d703..5b45b7c 100644 --- a/src/app/pages/home/home.page.html +++ b/src/app/pages/home/home.page.html @@ -120,7 +120,7 @@
{{item.short_title}} - {{item.short_description}} diff --git a/src/app/pages/home/home.page.scss b/src/app/pages/home/home.page.scss index 40e12a1..2ad344f 100644 --- a/src/app/pages/home/home.page.scss +++ b/src/app/pages/home/home.page.scss @@ -340,7 +340,7 @@ ion-content { border-radius: 10px; margin-bottom: 20px; &.OFFERS{ - background-color: #400741; + background-color: #186875; .name{ color: white; } diff --git a/src/app/pages/joblist/joblist.page.ts b/src/app/pages/joblist/joblist.page.ts index 92ae40b..635cade 100644 --- a/src/app/pages/joblist/joblist.page.ts +++ b/src/app/pages/joblist/joblist.page.ts @@ -88,10 +88,21 @@ export class JoblistPage implements OnInit { },1000); } addNewJob(){ - this.isModalOpen = true; - this.isModalOpenBackdrop= true; + this.router.navigate(['addjob']); + //this.isModalOpen = true; + // this.isModalOpenBackdrop= true; } + + //ionViewDidEnter(){ debugger } + ionViewWillLeave(){ + this.isModalOpen = false; + this.isModalOpenBackdrop= false; + this.setCloseModal(); + } + ionViewDidLeave(){ this.setCloseModal(); } + // ngOnDestroy(){ debugger } + processCreateJob(){