diff --git a/Modules/Internal/Http/Controllers/Api/RequestLogController.php b/Modules/Internal/Http/Controllers/Api/RequestLogController.php index 1dcc8e55..bf66f5ac 100644 --- a/Modules/Internal/Http/Controllers/Api/RequestLogController.php +++ b/Modules/Internal/Http/Controllers/Api/RequestLogController.php @@ -172,8 +172,10 @@ class RequestLogController extends Controller 'member.currentPlan' => function($memberPlan) { $memberPlan->join('request_logs', 'request_logs.service_code', '=', 'plans.service_code'); }, + // 'member.current_policy', 'claim', 'organization', + ]); return Helper::responseJson(data: RequestLogShowResource::make($claimRequest)); @@ -198,6 +200,12 @@ class RequestLogController extends Controller public function update(Request $request, $id) { $requestLog = RequestLog::findOrFail($id); + $requestLog->keterangan = $request->keterangan; + $requestLog->hak_kamar_pasien = $request->hak_kamar_pasien; + $requestLog->penempatan_kamar = $request->penempatan_kamar; + $requestLog->catatan = $request->catatan; + $requestLog->no_identitas = $request->no_identitas; + $requestLog->status = $request->status; $requestLog->approved_by = auth()->user()->id; $requestLog->approved_at = Carbon::now(); @@ -313,6 +321,7 @@ class RequestLogController extends Controller // Update Request LOG untuk lanjut ke Final LOG + $requestLog->catatan = $request->catatan; $requestLog->final_log = 1; $requestLog->status_final_log = $status; $requestLog->approved_final_log_by = auth()->user()->id; diff --git a/Modules/Internal/Transformers/RequestLogShowResource.php b/Modules/Internal/Transformers/RequestLogShowResource.php index 480eb3f1..4bb86bce 100644 --- a/Modules/Internal/Transformers/RequestLogShowResource.php +++ b/Modules/Internal/Transformers/RequestLogShowResource.php @@ -85,6 +85,11 @@ class RequestLogShowResource extends JsonResource 'medicine' => $medicineData, 'files' => $requestLog['files'], + 'no_identitas' => $requestLog['no_identitas'], + 'keterangan' => $requestLog['keterangan'], + 'hak_kamar_pasien' => $requestLog['hak_kamar_pasien'], + 'penempatan_kamar' => $requestLog['penempatan_kamar'], + ]; diff --git a/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogConfirmation.tsx b/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogConfirmation.tsx index fe3a734b..96e467da 100644 --- a/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogConfirmation.tsx +++ b/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogConfirmation.tsx @@ -1,13 +1,14 @@ import MuiDialog from "@/components/MuiDialog"; -import { Button, Card, Checkbox, DialogActions, Grid, Typography } from "@mui/material"; +import { Button, Card, Checkbox, DialogActions, Grid, TextField, Typography } from "@mui/material"; import { Paper } from "@mui/material"; import { Stack } from '@mui/material'; -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { DetailRequestLogType } from "../Model/Types"; import { fDateTimesecond, toTitleCase } from "@/utils/formatTime"; import axios from "@/utils/axios"; import { enqueueSnackbar } from "notistack"; import { useNavigate } from "react-router"; +import { RHFTextField } from "@/components/hook-form"; type DialogConfirmationType = { @@ -19,12 +20,42 @@ type DialogConfirmationType = { } export default function DialogConfirmation({requestLog, setOpenDialog, openDialog, approve, onSubmit} : DialogConfirmationType ) { - const navigate = useNavigate(); + + const [formData, setFormData] = useState({ + status: approve || '', + no_identitas: '', + keterangan: '', + hak_kamar_pasien: '', + penempatan_kamar: '', + }); + + useEffect(() => { + // Update formData setiap kali approve berubah + setFormData(prevData => ({ + ...prevData, + status: approve || '', + })); + }, [approve]); + + const handleChange = (field, value) => { + setFormData((prevData) => ({ + ...prevData, + [field]: value, + })); + + }; + + const handleApprove = () => { + setFormData((prevData) => ({ + ...prevData, + status: approve, + })); + handleSubmit(); + }; + + const handleSubmit = () => { - const formData = { - status : approve - } axios .put(`customer-service/request/${requestLog?.id}`, formData) .then((response) => { @@ -48,10 +79,31 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo marginBottom: 1, } + const marginBottom2 = { + marginBottom: 2, + } + + const resetForm = () => { + setFormData({ + status: approve, + no_identitas: '', + keterangan: '', + hak_kamar_pasien: '', + penempatan_kamar: '', + }); + }; + const handleCloseDialog = () => { setOpenDialog(false); + resetForm(); } + const handleNumericInput = (input: any) => { + const numericInput = input.replace(/\D/g, ''); + return numericInput; + }; + + const getContent = () => ( Are you sure to {approve == 'approved' ? 'approve' : 'deciline'} this request ? @@ -82,14 +134,56 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo {requestLog?.service_type} + + + No Identitas + handleChange('no_identitas', handleNumericInput(e.target.value))} + /> + + + Keterangan + handleChange('keterangan', e.target.value)} + /> + + + Hak Kamar Pasien + handleChange('hak_kamar_pasien', e.target.value)} + /> + + + Penempatan Kamar + handleChange('penempatan_kamar', e.target.value)} + /> + + - {approve == 'approved' ? ( - + ) : ( - + + ) } diff --git a/frontend/dashboard/src/pages/CustomerService/Request/Detail.tsx b/frontend/dashboard/src/pages/CustomerService/Request/Detail.tsx index db8cc17d..3cec05cd 100644 --- a/frontend/dashboard/src/pages/CustomerService/Request/Detail.tsx +++ b/frontend/dashboard/src/pages/CustomerService/Request/Detail.tsx @@ -104,6 +104,23 @@ export default function Detail() { Submission Date {requestLog?.submission_date ? fDateTimesecond(requestLog?.submission_date) : '-'} + + + No KTP + {requestLog?.no_identitas ? requestLog?.no_identitas : '-'} + + + Keterangan + {requestLog?.keterangan ? requestLog?.keterangan : '-'} + + + Hak Kamar Pasien + {requestLog?.hak_kamar_pasien ? requestLog?.hak_kamar_pasien : '-'} + + + Penempatan Kamar + {requestLog?.penempatan_kamar ? requestLog?.penempatan_kamar : '-'} + diff --git a/frontend/dashboard/src/pages/CustomerService/Request/Model/Types.tsx b/frontend/dashboard/src/pages/CustomerService/Request/Model/Types.tsx index 0091c213..44bdbec7 100644 --- a/frontend/dashboard/src/pages/CustomerService/Request/Model/Types.tsx +++ b/frontend/dashboard/src/pages/CustomerService/Request/Model/Types.tsx @@ -42,9 +42,13 @@ export type DetailRequestLogType = { date_of_birth : string, gender : string, marital_status : string, - submission_date : string, + submission_date : string, service_type : string, claim_method : string, + no_identitas : string, + keterangan : string, + hak_kamar_pasien : string, + penempatan_kamar : string, status : string, benefit : Benefit[], }