assign task

This commit is contained in:
CHIEFSOFT\ameye
2024-02-14 10:57:10 -05:00
parent 23197ea805
commit a2aa430f9a
4 changed files with 738 additions and 16 deletions
@@ -14,6 +14,90 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content class="ion-padding">
<div class="boxed_contents">
<div
class="bg_image back_image"
[style.backgroundImage]="'url('+session_image_server+'/'+curr_session+'/family/'+family_uid+'?'+etag+')'"
></div>
<ion-label class="bold_text"
>{{member_firstname}} {{member_lastname}}</ion-label
>
<div style="margin-top: 20px;">
<!-- <ion-label class="bold_text">Select Task</ion-label>-->
<div
style="
width: 100%;
background-color: aliceblue;
border-radius: 10px;
padding: 5px;
"
>
<ion-select
label="Select Task"
placeholder="Select Task"
(ionChange)="jobSelected()"
[(ngModel)]="selected_task"
>
<ion-select-option
*ngFor="let item of jobManagerJobsData"
value="{{item.job_uid}}"
>{{item.title}}</ion-select-option
>
</ion-select>
</div>
</div>
<div *ngIf="job_select_id > 0; ">
<div style="padding: 13px; width: 100%;" class="job-detail">
<ion-label class="head_text">{{jobData.offer_code}}</ion-label>
<div class="mentor">
<div class="left">
<div class="bg_image men_image" [style.backgroundImage]="'url('+session_image_server+'/'+curr_session+'/job/'+jobData.job_uid+')'"></div>
<div style="margin-left: 10px;">
<ion-label class="bold" style="color: #4a0b4c; font-size: 20px;">{{jobData.title}}</ion-label>
<ion-label class="grey">Duration : {{jobData.timeline_days}} day(s)</ion-label>
<ion-label class="grey">Reward : {{jobData.price*0.01| number : '1.2-2'}} {{jobData.currency_code}}</ion-label>
</div>
</div>
</div>
<ion-label class="head_text">Description</ion-label>
<ion-label class="description">{{jobData.description}}
</ion-label>
<ion-label class="head_text">Delivery Details</ion-label>
<ion-label class="description">{{jobData.job_detail}}
</ion-label>
</div>
</div>
<!-- <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>-->
<!-- <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.price*0.01}} {{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>-->
</div>
</ion-content>
@@ -0,0 +1,536 @@
ion-content {
.back_image {
margin-top: 10px;
width: auto;
height: 130px;
background-size: contain;
background-repeat: no-repeat;
.back {
font-size: 25px;
color: white;
}
}
.send-grid{
background-color: #eff2f4;
border-radius: 10px;
padding: 10px;
font-size: 16px;
font-weight: bolder;
ion-select, ion-input{
border-radius: 10px;
border-color: #383a3e;
background-color: white;
text-align: right;
}
.intr{
text-align: right;
margin-top: 10px;
}
.txta{
background-color: white;
border-radius: 10px;
}
.sendpart{
text-align: right;
}
}
.flex {
display: flex;
justify-content: space-between;
align-items: center;
ion-icon {
font-size: 22px;
}
qr-div{
width: 100%;
text-align: center;
margin: 0px auto 0px auto;
}
}
.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%;
color: #3dc2ff;
}
.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%;
}
.wallet-tools{
// background-color: white;
// background-image: linear-gradient(to right, aliceblue, #ecf0f3,aliceblue);
ion-toolbar{
--ion-background-color: white;
border-radius: 10px;
.actions{
ion-button{
font-size: 14px;
margin-left: 10px;
margin-right: 10px;
font-weight: bolder;
}
}
}
}
.text {
margin-left: 10px;
width: 100%;
}
.bold_text {
font-size: 16px;
font-family: 'bold';
}
.grey_text {
font-size: 14px;
color: grey;
}
}
}
.item_line {
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;
.media_but{
margin: 0px 5px 0px 5px;
}
.left {
display: flex;
}
.men_image {
height: 40px;
width: 40px;
border-radius: 100%;
}
.wallet-tools{
background-color: white;
ion-toolbar{
--ion-background-color: white;
border-radius: 10px;
.actions{
ion-button{
font-size: 14px;
margin-left: 10px;
margin-right: 10px;
font-weight: bolder;
}
}
}
}
.text {
margin-left: 10px;
width: 100%;
}
.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';
}
}
.job-detail {
background-color: #f2f6fa;
border-radius: 10px;
margin-top: 10px;
.head_text {
font-size: 16px;
font-family: 'semi-bold';
margin-bottom: 10px;
}
.mentor {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
.left {
display: flex;
font-size: 14px;
.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;
margin-left: 10px;
}
}
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;
}
}
}
}
+106 -13
View File
@@ -1,26 +1,119 @@
import { Component, OnInit } from '@angular/core';
import {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 {Component, Input, OnInit} from "@angular/core";
import { LoadingController, 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-familyaddtask',
templateUrl: './familyaddtask.page.html',
styleUrls: ['./familyaddtask.page.scss'],
selector: "app-familyaddtask",
templateUrl: "./familyaddtask.page.html",
styleUrls: ["./familyaddtask.page.scss"],
})
export class FamilyaddtaskPage implements OnInit {
familyMemberData: any;
session_image_server: string = "";
curr_session: string = "";
member_firstname: string = "";
member_lastname: string = "";
member_username: string = "";
family_uid: string = "";
jobManagerActiveData: any;
member_qr_string = "0000000";
etag: string = "";
total_active: number = 0;
constructor( private navctr: NavController,
private router: Router,
public sessionDataProviderService: SessionDataProviderService,
private wrenchService: WrenchService,
private loadingCtrl: LoadingController,) { }
constructor(
private navctr: NavController,
private router: Router,
public sessionDataProviderService: SessionDataProviderService,
private wrenchService: WrenchService,
private loadingCtrl: LoadingController
) {
// debugger;
this.familyMemberData = this.router.getCurrentNavigation().extras.state;
if (
this.familyMemberData != undefined &&
this.familyMemberData.itemData != undefined
) {
this.member_firstname = this.familyMemberData.itemData.firstname;
this.member_lastname = this.familyMemberData.itemData.lastname;
this.family_uid = this.familyMemberData.itemData.family_uid;
this.jobManagerActiveData = this.familyMemberData.jobManagerActiveData;
this.total_active = this.jobManagerActiveData.length;
} else {
this.onBack();
}
}
ngOnInit() {
this.getJobManagerList();
this.session_image_server =
this.sessionDataProviderService.session_image_server;
this.curr_session = this.sessionDataProviderService.session;
}
onBack() {
this.navctr.back();
}
usrData: {
action: 13005;
member_id: number;
uid: string;
sessionid: string;
limit: 20;
page: 1;
offset: 0;
};
jobManagerJobsTotalData: any;
jobManagerJobsData: any;
total_jobs: number = 0;
getJobManagerList() {
this.curr_session = this.sessionDataProviderService.session;
this.usrData = {
action: 13005,
member_id: this.sessionDataProviderService.member_id,
uid: this.sessionDataProviderService.member_uid,
sessionid: this.sessionDataProviderService.session,
limit: 20,
page: 1,
offset: 0,
};
this.wrenchService
.getJobManagerList(this.usrData)
.subscribe((jobManagerJobsTotalData) => {
this.jobManagerJobsTotalData = jobManagerJobsTotalData;
console.log(
"jobManagerJobsTotalData RETURN->",
this.jobManagerJobsTotalData
);
this.jobManagerJobsData = this.jobManagerJobsTotalData.result_list;
// debugger;
this.session_image_server =
this.jobManagerJobsTotalData.session_image_server;
this.total_jobs = this.jobManagerJobsData.length;
console.log(
"jobManagerJobsData RETURN DATA->",
this.jobManagerJobsData
);
});
}
selected_task: any;
jobData:any;
job_select_id:number= 0;
jobSelected() {
//selected_task
console.log(this.selected_task);
this.job_select_id = 0;
let locJobData = this.jobManagerJobsData.filter((item) => item.job_uid == this.selected_task);
if ( locJobData != undefined && locJobData.length == 1 && locJobData[0].id> 0){
this.jobData = locJobData[0];
this.job_select_id = this.jobData.id;
console.log("this.jobData --- > ", this.jobData);
}
}
}
@@ -62,7 +62,7 @@ export class FamilymemberPage implements OnInit {
// this.familyMemberWalletData = this.userWalletService.walletData;
this.session_image_server =
this.sessionDataProviderService.session_image_server;
this.sessionDataProviderService.session_image_server;
this.curr_session = this.sessionDataProviderService.session;
this.getThisFamilyAccount();
this.getFamilyWalletsData();
@@ -372,6 +372,15 @@ familyTransfer(reqData){
startWalletPlan() {}
addFamilyMemeberTask() {
this.router.navigate(["familyaddtask"]);
var famItem = {
jobManagerActiveData: this.jobManagerActiveData,
familyPendingData: this.familyMemberData,
itemData: this.familyMemberData.itemData,
startPage: "TASK",
};
//debugger;
// console.log(famItem);
this.router.navigate(["familyaddtask"], { state: famItem });
// this.router.navigate(["familyaddtask"]);
}
}