Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 392e0394ed | |||
| a5d534f364 | |||
| 01416ff42c | |||
| 976b4afbbf |
@@ -1,10 +1,16 @@
|
||||
import React, { useState, useRef } from 'react'
|
||||
import React, { useState } from 'react'
|
||||
import { useNavigate } from 'react-router-dom'
|
||||
|
||||
import ModalCom from '../../Helpers/ModalCom'
|
||||
import LoadingSpinner from '../../Spinners/LoadingSpinner'
|
||||
|
||||
import usersService from '../../../services/UsersService'
|
||||
|
||||
function CurrentTaskAction({jobDetails}) {
|
||||
|
||||
const apiCall = new usersService()
|
||||
const navigate = useNavigate()
|
||||
|
||||
const [checked, setChecked] = useState(false)
|
||||
|
||||
const [reqStatus, setReqStatus] = useState({loading:false, status: false, message: ''})
|
||||
@@ -20,16 +26,37 @@ function CurrentTaskAction({jobDetails}) {
|
||||
|
||||
// FUNCTION TO HANDLE WHEN USER CLICKS ON SEND FOR REVIEW AND ACCEPTANCE
|
||||
const taskCompletedSubmit = () => {
|
||||
setReqStatus({loading:true, status: false, message: ''})
|
||||
if(!checked){
|
||||
setReqStatus({loading:true, status: false, message: ''}) // Sets loading spinner active
|
||||
let reqData = {
|
||||
contract: jobDetails.contract,
|
||||
contract_uid: jobDetails.contract_uid,
|
||||
job_action: 'NOTIFY_COMPLETE',
|
||||
}
|
||||
if(!checked){ // checks that checkbox is selected
|
||||
setReqStatus({loading:false, status: false, message: 'Please check the box above'})
|
||||
return setTimeout(()=>{
|
||||
setReqStatus({loading:false, status: false, message: ''})
|
||||
}, 3000)
|
||||
}
|
||||
setTimeout(()=>{
|
||||
setReqStatus({loading:false, status: false, message: ''})
|
||||
}, 3000)
|
||||
|
||||
// API CALL TO MARK TASK AS COMPLETED BY WORKER
|
||||
apiCall.taskCompleted(reqData).then((res)=>{
|
||||
if(res.status != 200 || res.data.internal_return < 0){
|
||||
setReqStatus({loading:false, status: false, message: 'unable to complete request. Try again'})
|
||||
return
|
||||
}
|
||||
setReqStatus({loading:false, status: true, message: 'Task marked completed successfully'})
|
||||
setTimeout(()=>{ // Sets popout to false and navigates user to /mytask after 3 seconds
|
||||
popUpHandler()
|
||||
navigate('/mytask', {replace: true})
|
||||
}, 3000)
|
||||
}).catch(err => {
|
||||
setReqStatus({loading:false, status: false, message: 'Opps! Network error. Try again'})
|
||||
}).finally(()=>{
|
||||
setTimeout(()=>{
|
||||
setReqStatus({loading:false, status: false, message: ''})
|
||||
}, 3000)
|
||||
})
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
import React,{useState} from 'react'
|
||||
import ModalCom from '../../Helpers/ModalCom'
|
||||
import LoadingSpinner from '../../Spinners/LoadingSpinner'
|
||||
import { useNavigate } from 'react-router-dom'
|
||||
import usersService from '../../../services/UsersService'
|
||||
|
||||
function PastDueJobAction({jobDetails}) {
|
||||
|
||||
const apiCall = new usersService()
|
||||
const navigate = useNavigate()
|
||||
|
||||
const [checked, setChecked] = useState(false)
|
||||
|
||||
const [extendedTime, setExtendedTime] = useState('') // VALUE OF NEW EXTENDED TIME
|
||||
@@ -21,7 +26,7 @@ function PastDueJobAction({jobDetails}) {
|
||||
setPopUp(prev => !prev)
|
||||
}
|
||||
|
||||
// FUNCTION TO HANDLE WHEN USER CLICKS ON SEND FOR REVIEW AND ACCEPTANCE
|
||||
// FUNCTION TO HANDLE WHEN OWNER CANCELS JOB
|
||||
const cancelTask = () => {
|
||||
setAction('cancel')
|
||||
setReqStatus({loading:true, status: false, message: ''})
|
||||
@@ -37,21 +42,41 @@ function PastDueJobAction({jobDetails}) {
|
||||
}, 3000)
|
||||
}
|
||||
|
||||
// FUNCTION TO HANDLE WHEN USER CLICKS ON SEND FOR REVIEW AND ACCEPTANCE
|
||||
// FUNCTION TO HANDLE WHEN USER/OWNER CLICKS ON EXTEND TIMELINE FOR A JOB
|
||||
const extendTime = () => {
|
||||
setAction('extend')
|
||||
setReqStatus({loading:true, status: false, message: ''})
|
||||
|
||||
if(!extendedTime){ // CHECKS IF EXTENDED TIME IS SELECTED
|
||||
setReqStatus({loading:false, status: false, message: 'Please select extension duration'})
|
||||
setReqStatus({loading:true, status: false, message: ''}) // Sets loading spinner active
|
||||
let reqData = {
|
||||
contract: jobDetails.contract,
|
||||
contract_uid: jobDetails.contract_uid,
|
||||
job_action: 'EXTEND_TIMELINE',
|
||||
duration: Number(extendedTime)
|
||||
}
|
||||
if(!extendedTime){ // checks that timeline duration is selected
|
||||
setReqStatus({loading:false, status: false, message: 'Please select timeline duration'})
|
||||
return setTimeout(()=>{
|
||||
setReqStatus({loading:false, status: false, message: ''})
|
||||
}, 3000)
|
||||
}
|
||||
|
||||
setTimeout(()=>{
|
||||
setReqStatus({loading:false, status: false, message: ''})
|
||||
}, 3000)
|
||||
|
||||
// API CALL EXTEND TIMELINE BY OWNER
|
||||
apiCall.extendJobTimeline(reqData).then((res)=>{
|
||||
if(res.status != 200 || res.data.internal_return < 0){
|
||||
setReqStatus({loading:false, status: false, message: 'unable to complete request. Try again'})
|
||||
return
|
||||
}
|
||||
setReqStatus({loading:false, status: true, message: 'Timeline extended successfully'})
|
||||
setTimeout(()=>{ // Sets popout to false and navigates user to /my-pastdue-jobs after 3 seconds
|
||||
popUpHandler()
|
||||
navigate('/my-pastdue-jobs', {replace: true})
|
||||
}, 3000)
|
||||
}).catch(err => {
|
||||
setReqStatus({loading:false, status: false, message: 'Opps! Network error. Try again'})
|
||||
}).finally(()=>{
|
||||
setTimeout(()=>{
|
||||
setReqStatus({loading:false, status: false, message: ''})
|
||||
}, 3000)
|
||||
})
|
||||
}
|
||||
|
||||
return (
|
||||
@@ -149,7 +174,7 @@ function PastDueJobAction({jobDetails}) {
|
||||
<option className='text-slate-500 text-lg' value='2'>1 days</option>
|
||||
<option className='text-slate-500 text-lg' value='3'>3 days</option>
|
||||
<option className='text-slate-500 text-lg' value='5'>5 days</option>
|
||||
<option className='text-slate-500 text-lg' value='1'>1 week</option>
|
||||
<option className='text-slate-500 text-lg' value='7'>1 week</option>
|
||||
</select>
|
||||
</div>
|
||||
{reqStatus.loading && action=='extend' ?
|
||||
|
||||
@@ -653,6 +653,30 @@ class usersService {
|
||||
return this.postAuxEnd("/offersresponse", postData);
|
||||
}
|
||||
|
||||
// END POINT FOR WORKER TO MARK TASK AS COMPLETED
|
||||
taskCompleted(reqData) {
|
||||
var postData = {
|
||||
uid: localStorage.getItem("uid"),
|
||||
member_id: localStorage.getItem("member_id"),
|
||||
sessionid: localStorage.getItem("session_token"),
|
||||
action: 14015,
|
||||
...reqData,
|
||||
};
|
||||
return this.postAuxEnd("/activetaskstatus", postData);
|
||||
}
|
||||
|
||||
// END POINT FOR OWNER TO EXTEND TIMELINE/DURATON OF JOB
|
||||
extendJobTimeline(reqData) {
|
||||
var postData = {
|
||||
uid: localStorage.getItem("uid"),
|
||||
member_id: localStorage.getItem("member_id"),
|
||||
sessionid: localStorage.getItem("session_token"),
|
||||
action: 14015,
|
||||
...reqData,
|
||||
};
|
||||
return this.postAuxEnd("/activejobstatus ", postData);
|
||||
}
|
||||
|
||||
/*
|
||||
- 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(username)
|
||||
- 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(password)
|
||||
|
||||
Reference in New Issue
Block a user