added new condition for audit base calling api

This commit is contained in:
Pramod Mahajan 2025-06-17 20:42:19 +05:30
parent c722117108
commit 5ac9022be0

View File

@ -15,11 +15,15 @@ const ReportTaskComments = ({
commentsData,
closeModal,
actionAllow = false,
handleCloseAction,
}) => {
const schema = actionAllow
? z.object({
comment: z.string().min(1, "Comment cannot be empty"),
workStatus: z.string().nonempty({ message: "Audit status is required" }).default(''),
workStatus: z
.string()
.nonempty({ message: "Audit status is required" })
.default(""),
approvedTask: z.preprocess(
(val) =>
val === "" || val === null || Number.isNaN(val)
@ -42,7 +46,8 @@ const ReportTaskComments = ({
const [loading, setloading] = useState(false);
const [comments, setComment] = useState([]);
const { status, loading: auditStatusLoading } = useAuditStatus();
const {status, loading: auditStatusLoading} = useAuditStatus();
const [IsNeededSubTask,setIsNeededSubTask] = useState(false)
const {
watch,
@ -96,35 +101,32 @@ const ReportTaskComments = ({
? await TasksRepository.auditTask(payload)
: await TasksRepository.taskComments(payload);
setComment((prevItems) => [...prevItems, resp.data]);
const taskList = getCachedData("taskList");
if ( actionAllow )
{
} else
{
if (taskList && taskList.data) {
const updatedTaskList = taskList.data.map((task) => {
if (task.id === resp.data.taskAllocationId) {
const existingComments = Array.isArray(task.comments)
? task.comments
: [];
return {
...task,
comments: [...existingComments, resp.data],
};
}
return task;
});
cacheData("taskList", {
data: updatedTaskList,
projectId: taskList.projectId,
});
}
if (actionAllow) {
handleCloseAction(IsNeededSubTask);
} else {
if (taskList && taskList.data) {
const updatedTaskList = taskList.data.map((task) => {
if (task.id === resp.data.taskAllocationId) {
const existingComments = Array.isArray(task.comments)
? task.comments
: [];
return {
...task,
comments: [...existingComments, resp.data],
};
}
return task;
});
cacheData("taskList", {
data: updatedTaskList,
projectId: taskList.projectId,
});
}
}
reset();
@ -232,7 +234,6 @@ const ReportTaskComments = ({
)}
<form onSubmit={handleSubmit(onSubmit)} className="text-start">
{/* Taking Action Reported Task */}
{actionAllow && (
<div className="row align-items-end my-1">
<div className="col-6 col-sm-4 text-start">
@ -249,7 +250,7 @@ const ReportTaskComments = ({
)}
</div>
<div className="col-6 col-sm-8 text-end align-items-end m-0">
<div class="btn-group dropdown">
<div className="btn-group dropdown">
<button
type="button"
className="btn btn-sm btn-primary dropdown-toggle"
@ -276,9 +277,10 @@ const ReportTaskComments = ({
</li>
))}
</ul>
</div>
{errors.workStatus && ( <p className="m-0 danger-text">{ errors.workStatus.message}</p>)}
{errors.workStatus && (
<p className="m-0 danger-text">{errors.workStatus.message}</p>
)}
</div>
</div>
)}
@ -288,33 +290,47 @@ const ReportTaskComments = ({
{...register("comment")}
className="form-control"
id="exampleFormControlTextarea1"
placeholder="Enter comment"
placeholder="Leave comment"
/>
{errors.comment && (
<div className="danger-text">{errors.comment.message}</div>
)}
<div className="text-end mt-2">
<button
type="button"
className="btn btn-sm btn-secondary"
onClick={closeModal}
data-bs-dismiss="modal"
>
Close
</button>
<button
type="submit"
className="btn btn-sm btn-primary ms-2"
disabled={loading}
>
{loading
? actionAllow
? "Please Wait..."
: "Send..."
: actionAllow
? "Submit"
: "Comment"}
</button>
<div className="d-flex justify-content-between mt-2">
<div class="form-check ">
<input
className="form-check-input"
type="checkbox"
onChange={(e)=>setIsNeededSubTask((e)=>!e)}
value={IsNeededSubTask}
id="defaultCheck1"
/>
<label className="form-check-label" for="defaultCheck1">
Create Subtask
</label>
</div>
<span>
<button
type="button"
className="btn btn-sm btn-secondary"
onClick={closeModal}
data-bs-dismiss="modal"
>
Close
</button>
<button
type="submit"
className="btn btn-sm btn-primary ms-2"
disabled={loading}
>
{loading
? actionAllow
? "Please Wait..."
: "Send..."
: actionAllow
? "Submit"
: "Comment"}
</button>
</span>
</div>
</form>