diff --git a/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php b/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php index df8fdd1e..20826fb7 100755 --- a/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php +++ b/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php @@ -146,29 +146,34 @@ class DailyMonitoringController extends Controller { $detail = RequestDailyMonitoring::where('id', $id) - ->orderBy("created_at", "desc") - ->first(); + ->orderBy("created_at", "desc") + ->first(); + + if ($detail) { + // Ubah menjadi array agar bisa dimodifikasi + $detailArray = $detail->toArray(); + + // Ubah nama key dari request_log_id menjadi log_id + $detailArray['log_code'] = $detailArray['request_log_id']; + unset($detailArray['request_log_id']); + } else { + $detailArray = null; + } + return response()->json([ 'error' => false, 'message' => "success", - 'data' => $detail, - ],200); + 'data' => $detailArray, + ], 200); + } public function UpdateDetailMonitoringbyID(Request $request) { // validation rule $validator = Validator::make($request->all(),[ - 'subject' => 'required', - 'submission_date' => 'required', - 'body_temperature' => 'required', - 'sistole' => 'required', - 'diastole' => 'required', - 'respiration_rate' => 'required', - 'analysis' => 'required', - 'medical_plan' => 'required', + 'log_code' => 'required', 'reason' => 'required', - 'non_medikamentosa_plan' => 'required', ],$this->messages()); // validation error @@ -182,6 +187,7 @@ class DailyMonitoringController extends Controller // insert claim daily monitoring $db_response = RequestDailyMonitoring::where('id', $request->id) ->update([ + 'request_log_id' => $request->log_code, 'submission_date' => $request->submission_date, 'subject' => $request->subject, 'object' => $request->objective, @@ -193,6 +199,13 @@ class DailyMonitoringController extends Controller 'lab_date' => $request->lab_date, 'provider' => $request->provider, 'examination' => $request->examination, + 'doctor_1' => $request->doctor_1, + 'doctor_2' => $request->doctor_2, + 'temp_diagnosis' => $request->temp_diagnosis, + 'final_diagnosis' => $request->final_diagnosis, + 'approval_pendamping' => $request->approval_pendamping, + 'description' => $request->keterangan, + 'note' => $request->catatan, 'reason' => $request->reason, 'created_by' => auth()->user()->id, ]); diff --git a/Modules/Internal/Transformers/DailyMonitoringResource.php b/Modules/Internal/Transformers/DailyMonitoringResource.php index 422bd144..5c53a31c 100755 --- a/Modules/Internal/Transformers/DailyMonitoringResource.php +++ b/Modules/Internal/Transformers/DailyMonitoringResource.php @@ -24,6 +24,7 @@ class DailyMonitoringResource extends JsonResource 'start_date' => $this->startdate, 'end_date' => $this->enddate, 'addmision_date' => $this->addmision_date, + 'submission_date' => $this->submission_date, 'provider' => $this->provider, 'organization_id' => $this->organization_id, 'doctor_1' => $this->doctor_1, diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DailyMonitoringList.tsx b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DailyMonitoringList.tsx index 6b3a49c3..a95dd202 100755 --- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DailyMonitoringList.tsx +++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DailyMonitoringList.tsx @@ -409,19 +409,12 @@ export default function DailyMonitoringList() { + Code Admission Date Member ID Name Tanggal Lahir Member Type - Dokter 1 - Dokter 2 - Temp Diagnosa - Diagnosa Akhir - Approval Pendamping - Keterangan - Penjaminan - Catatan diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DailyMonitoringListRow.tsx b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DailyMonitoringListRow.tsx index 9272ecc5..cbeb6643 100755 --- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DailyMonitoringListRow.tsx +++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DailyMonitoringListRow.tsx @@ -36,6 +36,7 @@ export default function DailyMonitoringListRow ({ ...props }: Props) { td': { borderBottom: '1' } }}> + {props.row.code} - {props.row.doctor_1} - {props.row.doctor_2} - {props.row.temp_diagnosis} - {props.row.final_diagnosis} - {props.row.approval_pendamping} - - {props.row.description - ? props.row.description.length > 130 - ? props.row.description.substring(0, 130) + "..." - : props.row.description - : "-"} - - {props.row.provider || "-"} - - {props.row.note - ? props.row.note.length > 130 - ? props.row.note.substring(0, 130) + "..." - : props.row.note - : "-"} - + e.stopPropagation()}> View - navigate(`/case_management/daily_monitoring/${props.row.member_id}/claims/${props.row.code}/${props.row.id}`)}> + navigate(`/case_management/daily_monitoring/${props.row.id}/edit`)}> Edit diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringForm.tsx b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringForm.tsx index fa7f3bd2..8c660f6f 100755 --- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringForm.tsx +++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringForm.tsx @@ -57,7 +57,7 @@ export default function DetailMonitoringList() { // setOrganizationId(organization_id); // } const loadDetailDailyMonitoring = async () => { - const monitoring = await getMonitoringDetailById('') + const monitoring = await getMonitoringDetailById(id) setData(monitoring) } @@ -74,41 +74,41 @@ export default function DetailMonitoringList() { // ==================================== const defaultValues = useMemo( () => ({ - id : data?.id ??'', - // claim_code : data?.claim_code ?? '', - log_code : data?.log_code ?? '', - doctor_1 : data?.doctor_1 ?? '', - doctor_2 : data?.doctor_2 ?? '', - temp_diagnosis : data?.temp_diagnosis ?? '', - final_diagnosis : data?.final_diagnosis ?? '', - approval_pendamping : data?.approval_pendamping ?? '', - keterangan : data?.keterangan ?? '', - catatan : data?.catatan ?? '', - claim_id : data?.claim_id ?? '', - subject : data?.subject ?? '', - objective : data?.object ?? '', - submission_date : data?.submission_date ?? '', - body_temperature: data?.body_temperature ?? '', - sistole : data?.sistole ?? '', - diastole : data?.diastole ??'', - respiration_rate: data?.respiration_rate ??'', - complaints : data?.complaints ?? '', - analysis : data?.analysis ?? '', - medical_plan : data?.medical_plan ?? [{ - medical_plan_str: '' - }], - non_medikamentosa_plan : data?.non_medikamentosa_plan ?? [{ - non_medikamentosa_plan_str: '' - }], - confirmation_medical_leter : [], - medical_action_letter : [], - // result : data?.laboratorium_result ?? [], - result : [], - created_at : data?.created_at ?? '', - lab_date : data?.lab_date ?? '', - provider : data?.provider ?? '', - examination : data?.examination ?? '', - reason : '', + id : data?.id ??'', + // claim_code : data?.claim_code ?? '', + log_code : data?.log_code ?? '', + doctor_1 : data?.doctor_1 ?? '', + doctor_2 : data?.doctor_2 ?? '', + temp_diagnosis : data?.temp_diagnosis ?? '', + final_diagnosis : data?.final_diagnosis ?? '', + approval_pendamping : data?.approval_pendamping ?? '', + keterangan : data?.keterangan ?? '', + catatan : data?.catatan ?? '', + claim_id : data?.claim_id ?? '', + subject : data?.subject ?? '', + objective : data?.object ?? '', + submission_date : data?.submission_date ?? '', + body_temperature: data?.body_temperature ?? '', + sistole : data?.sistole ?? '', + diastole : data?.diastole ??'', + respiration_rate: data?.respiration_rate ??'', + complaints : data?.complaints ?? '', + analysis : data?.analysis ?? '', + medical_plan : data?.medical_plan ?? [{ + medical_plan_str: '' + }], + non_medikamentosa_plan : data?.non_medikamentosa_plan ?? [{ + non_medikamentosa_plan_str: '' + }], + confirmation_medical_leter : [], + medical_action_letter : [], + // result : data?.laboratorium_result ?? [], + result : [], + created_at : data?.created_at ?? '', + lab_date : data?.lab_date ?? '', + provider : data?.provider ?? '', + examination : data?.examination ?? '', + reason : '', }), [data] ); @@ -262,19 +262,26 @@ export default function DetailMonitoringList() { useEffect(() => { - // Ambil data dari API dan atur opsi ICD - axios.get('codeLog') - .then((response) => { - setCodes(response.data.data); - }) - .catch((error) => { - console.error('Error fetching Code LOG options:', error); - }); - - }, []); // useEffect dijalankan hanya sekali saat komponen dimount + axios.get('codeLog') + .then((response) => { + const fetchedCodes = response.data.data; + setCodes(fetchedCodes); + // Set nilai default jika data tersedia + console.log(defaultValues, 'test') + if (defaultValues?.log_code) { + const defaultValueLOG = fetchedCodes.find((item) => item.value === defaultValues?.log_code); + setSelectedCode(defaultValueLOG || null); + } + }) + .catch((error) => { + console.error('Error fetching Code LOG options:', error); + }); + }, [isEdit, defaultValues]); // Tambahkan dependency agar dijalankan ulang jika log_code berubah + + useEffect(() => { const fetchCodes = async () => { - if (searchTerm.length > 2) { // Hanya fetch jika input lebih dari 2 karakter + if (searchTerm.length > 3) { // Hanya fetch jika input lebih dari 2 karakter try { const response = await axios.get(`codeLog?search=${searchTerm}`); setCodes(response.data.data); @@ -300,7 +307,7 @@ export default function DetailMonitoringList() { - Tambah Daily Monitoring + {isEdit ? "Update " : "Tambah "} Daily Monitoring @@ -317,36 +324,36 @@ export default function DetailMonitoringList() { - option.label} - fullWidth - value={selectedCode} - onChange={(event, newValue) => { - setSelectedCode(newValue); - setValue('log_code',newValue?.value) - // Validasi jika newValue adalah null - if (!newValue) { - setError('Please select a code'); - } else { - setError(''); - } - }} - onInputChange={(event, newInputValue) => { - setSearchTerm(newInputValue); // Set nilai pencarian untuk fetch data - }} - renderInput={(params) => ( - - )} + option.label} + fullWidth + value={selectedCode} + onChange={(event, newValue) => { + setSelectedCode(newValue); + setValue('log_code', newValue?.value); + if (!newValue) { + setError('Please select a code'); + } else { + setError(''); + } + }} + onInputChange={(event, newInputValue) => { + setSearchTerm(newInputValue); // Set nilai pencarian untuk fetch data + }} + renderInput={(params) => ( + + )} /> + @@ -365,7 +372,7 @@ export default function DetailMonitoringList() { {/* Doctor 1 */} - + {/* @@ -428,10 +435,10 @@ export default function DetailMonitoringList() { /> - + */} - {/* Subject */} - + {/* Subject */} + @@ -707,8 +714,8 @@ export default function DetailMonitoringList() { - {/* Keterangan dan Catatan */} - + {/* Keterangan dan Catatan */} + @@ -728,9 +735,9 @@ export default function DetailMonitoringList() { - - {/* Confirmation Medical Letter */} - + + {/* Confirmation Medical Letter */} + diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringList.tsx b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringList.tsx index c75e8815..382c356a 100755 --- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringList.tsx +++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringList.tsx @@ -56,7 +56,7 @@ export default function DetailMonitoringList() { // Use Effect // -------------------- useEffect(() => { - // loadDataTableData(); + loadDataTableData(); }, []) // Dialog @@ -165,19 +165,18 @@ export default function DetailMonitoringList() { // Load Data // ------------------- - // const loadDataTableData = async () => { - // const response = await getMonitoringDetailList(claim_code??''); - // const organization_id = await getOrganizationId(claim_code??''); + const loadDataTableData = async () => { + const response = await getMonitoringDetailList(claim_code??''); + const organization_id = await getOrganizationId(claim_code??''); - // setDetailMonitoringList(response); - // setOrganizationId(organization_id); - // } + setDetailMonitoringList(response); + setOrganizationId(organization_id); + } - const renderHTML = (data:string) => { + function renderHTML(data: string) { return ( -
+
); } @@ -187,7 +186,7 @@ export default function DetailMonitoringList() { {/* back button */} - navigate(`/case_management/daily_monitoring/${member_id}/${organizationId}/claims`)} > + navigate(`/case_management/daily_monitoring`)} > @@ -241,10 +240,10 @@ export default function DetailMonitoringList() { {/* Menempatkan TableMoreMenu di sebelah kanan */} - {handleEdit(row.id);}}> + {/* {handleEdit(row.id);}}> Edit - + */} {setOpenDialog(true); setId(row.id); setIdFile(null)}}> Delete diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Types.ts b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Types.ts index e8543e26..51654232 100755 --- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Types.ts +++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Types.ts @@ -60,6 +60,7 @@ export type DetailMonitoringListType = { id : number|null, claim_id : string|null, log_code : string|null, + request_log_id : string|null, claim_code : string|undefined, doctor_1 : string|undefined, doctor_2 : string|undefined, @@ -68,6 +69,8 @@ export type DetailMonitoringListType = { approval_pendamping : string|undefined, keterangan : string|undefined, catatan : string|undefined, + description : string|undefined, + note : string|undefined, subject : string|undefined, object : string|undefined, objective : string|undefined, diff --git a/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogEditFinalLOG.tsx b/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogEditFinalLOG.tsx index 6b87f2c9..ab8e60fd 100755 --- a/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogEditFinalLOG.tsx +++ b/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogEditFinalLOG.tsx @@ -194,9 +194,9 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo - Invoice Number + Invoice Provider }, + { + path: 'daily_monitoring/:id/edit', + element: + }, { path: 'daily_monitoring/:member_id/claims/:claim_code/list_monitoring', element: