This commit is contained in:
2025-02-20 08:26:40 +07:00
parent cb2a335989
commit e56910e0c1
9 changed files with 146 additions and 144 deletions

View File

@@ -148,27 +148,32 @@ class DailyMonitoringController extends Controller
$detail = RequestDailyMonitoring::where('id', $id) $detail = RequestDailyMonitoring::where('id', $id)
->orderBy("created_at", "desc") ->orderBy("created_at", "desc")
->first(); ->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([ return response()->json([
'error' => false, 'error' => false,
'message' => "success", 'message' => "success",
'data' => $detail, 'data' => $detailArray,
],200); ], 200);
} }
public function UpdateDetailMonitoringbyID(Request $request) public function UpdateDetailMonitoringbyID(Request $request)
{ {
// validation rule // validation rule
$validator = Validator::make($request->all(),[ $validator = Validator::make($request->all(),[
'subject' => 'required', 'log_code' => 'required',
'submission_date' => 'required',
'body_temperature' => 'required',
'sistole' => 'required',
'diastole' => 'required',
'respiration_rate' => 'required',
'analysis' => 'required',
'medical_plan' => 'required',
'reason' => 'required', 'reason' => 'required',
'non_medikamentosa_plan' => 'required',
],$this->messages()); ],$this->messages());
// validation error // validation error
@@ -182,6 +187,7 @@ class DailyMonitoringController extends Controller
// insert claim daily monitoring // insert claim daily monitoring
$db_response = RequestDailyMonitoring::where('id', $request->id) $db_response = RequestDailyMonitoring::where('id', $request->id)
->update([ ->update([
'request_log_id' => $request->log_code,
'submission_date' => $request->submission_date, 'submission_date' => $request->submission_date,
'subject' => $request->subject, 'subject' => $request->subject,
'object' => $request->objective, 'object' => $request->objective,
@@ -193,6 +199,13 @@ class DailyMonitoringController extends Controller
'lab_date' => $request->lab_date, 'lab_date' => $request->lab_date,
'provider' => $request->provider, 'provider' => $request->provider,
'examination' => $request->examination, '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, 'reason' => $request->reason,
'created_by' => auth()->user()->id, 'created_by' => auth()->user()->id,
]); ]);

View File

@@ -24,6 +24,7 @@ class DailyMonitoringResource extends JsonResource
'start_date' => $this->startdate, 'start_date' => $this->startdate,
'end_date' => $this->enddate, 'end_date' => $this->enddate,
'addmision_date' => $this->addmision_date, 'addmision_date' => $this->addmision_date,
'submission_date' => $this->submission_date,
'provider' => $this->provider, 'provider' => $this->provider,
'organization_id' => $this->organization_id, 'organization_id' => $this->organization_id,
'doctor_1' => $this->doctor_1, 'doctor_1' => $this->doctor_1,

View File

@@ -409,19 +409,12 @@ export default function DailyMonitoringList() {
<TableHead> <TableHead>
<TableRow> <TableRow>
<TableCell style={TableHeadStyle} align="left" width={50} /> <TableCell style={TableHeadStyle} align="left" width={50} />
<TableCell style={TableHeadStyle} align="left" width={160}>Code</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Admission Date</TableCell> <TableCell style={TableHeadStyle} align="left" width={160}>Admission Date</TableCell>
<TableCell style={TableHeadStyle} align="left" width={150}>Member ID</TableCell> <TableCell style={TableHeadStyle} align="left" width={150}>Member ID</TableCell>
<TableCell style={TableHeadStyle} align="left" width={'*'}>Name</TableCell> <TableCell style={TableHeadStyle} align="left" width={'*'}>Name</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Tanggal Lahir</TableCell> <TableCell style={TableHeadStyle} align="left" width={160}>Tanggal Lahir</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Member Type</TableCell> <TableCell style={TableHeadStyle} align="left" width={160}>Member Type</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Dokter 1</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Dokter 2</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Temp Diagnosa</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Diagnosa Akhir</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Approval Pendamping</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Keterangan</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Penjaminan</TableCell>
<TableCell style={TableHeadStyle} align="left" width={160}>Catatan</TableCell>
<TableCell align="left" width={"10"} /> <TableCell align="left" width={"10"} />
</TableRow> </TableRow>
</TableHead> </TableHead>

View File

@@ -36,6 +36,7 @@ export default function DailyMonitoringListRow ({ ...props }: Props) {
<TableRow hover sx={{ '& > td': { borderBottom: '1' } }}> <TableRow hover sx={{ '& > td': { borderBottom: '1' } }}>
<TableCell align="left" /> <TableCell align="left" />
<TableCell align="left">{props.row.code}</TableCell>
<TableCell align="left"> <TableCell align="left">
<Label <Label
variant="ghost" variant="ghost"
@@ -57,26 +58,7 @@ export default function DailyMonitoringListRow ({ ...props }: Props) {
<TableCell align="left"> <TableCell align="left">
{props.row.member_type} {props.row.member_type}
</TableCell> </TableCell>
<TableCell align="left">{props.row.doctor_1}</TableCell>
<TableCell align="left">{props.row.doctor_2}</TableCell>
<TableCell align="left">{props.row.temp_diagnosis}</TableCell>
<TableCell align="left">{props.row.final_diagnosis}</TableCell>
<TableCell align="left">{props.row.approval_pendamping}</TableCell>
<TableCell align="left">
{props.row.description
? props.row.description.length > 130
? props.row.description.substring(0, 130) + "..."
: props.row.description
: "-"}
</TableCell>
<TableCell align="left">{props.row.provider || "-"}</TableCell>
<TableCell align="left">
{props.row.note
? props.row.note.length > 130
? props.row.note.substring(0, 130) + "..."
: props.row.note
: "-"}
</TableCell>
<TableCell align="right" onClick={(e) => e.stopPropagation()}> <TableCell align="right" onClick={(e) => e.stopPropagation()}>
<Stack direction="row" justifyContent="flex-end" spacing={1}> <Stack direction="row" justifyContent="flex-end" spacing={1}>
<TableMoreMenu actions={ <TableMoreMenu actions={
@@ -85,7 +67,7 @@ export default function DailyMonitoringListRow ({ ...props }: Props) {
<Visibility /> <Visibility />
View View
</MenuItem> </MenuItem>
<MenuItem onClick={() => navigate(`/case_management/daily_monitoring/${props.row.member_id}/claims/${props.row.code}/${props.row.id}`)}> <MenuItem onClick={() => navigate(`/case_management/daily_monitoring/${props.row.id}/edit`)}>
<Edit /> <Edit />
Edit Edit
</MenuItem> </MenuItem>

View File

@@ -57,7 +57,7 @@ export default function DetailMonitoringList() {
// setOrganizationId(organization_id); // setOrganizationId(organization_id);
// } // }
const loadDetailDailyMonitoring = async () => { const loadDetailDailyMonitoring = async () => {
const monitoring = await getMonitoringDetailById('') const monitoring = await getMonitoringDetailById(id)
setData(monitoring) setData(monitoring)
} }
@@ -262,19 +262,26 @@ export default function DetailMonitoringList() {
useEffect(() => { useEffect(() => {
// Ambil data dari API dan atur opsi ICD
axios.get('codeLog') axios.get('codeLog')
.then((response) => { .then((response) => {
setCodes(response.data.data); 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) => { .catch((error) => {
console.error('Error fetching Code LOG options:', error); console.error('Error fetching Code LOG options:', error);
}); });
}, [isEdit, defaultValues]); // Tambahkan dependency agar dijalankan ulang jika log_code berubah
}, []); // useEffect dijalankan hanya sekali saat komponen dimount
useEffect(() => { useEffect(() => {
const fetchCodes = async () => { 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 { try {
const response = await axios.get(`codeLog?search=${searchTerm}`); const response = await axios.get(`codeLog?search=${searchTerm}`);
setCodes(response.data.data); setCodes(response.data.data);
@@ -300,7 +307,7 @@ export default function DetailMonitoringList() {
</IconButton> </IconButton>
<Typography variant="h5" sx={{ marginLeft: '24px' }}> <Typography variant="h5" sx={{ marginLeft: '24px' }}>
Tambah Daily Monitoring {isEdit ? "Update " : "Tambah "} Daily Monitoring
</Typography> </Typography>
</Box> </Box>
@@ -324,8 +331,7 @@ export default function DetailMonitoringList() {
value={selectedCode} value={selectedCode}
onChange={(event, newValue) => { onChange={(event, newValue) => {
setSelectedCode(newValue); setSelectedCode(newValue);
setValue('log_code',newValue?.value) setValue('log_code', newValue?.value);
// Validasi jika newValue adalah null
if (!newValue) { if (!newValue) {
setError('Please select a code'); setError('Please select a code');
} else { } else {
@@ -341,12 +347,13 @@ export default function DetailMonitoringList() {
label="Code LOG" label="Code LOG"
variant="outlined" variant="outlined"
id="log_code" id="log_code"
name='log_code' name="log_code"
error={false} // Menampilkan error jika ada error={false} // Menampilkan error jika ada
helperText={error} // Menampilkan pesan kesalahan helperText={error} // Menampilkan pesan kesalahan
/> />
)} )}
/> />
</Grid> </Grid>
<Grid item xs={12}> <Grid item xs={12}>
<Typography variant="body1" component="div"> <Typography variant="body1" component="div">
@@ -365,7 +372,7 @@ export default function DetailMonitoringList() {
</Grid> </Grid>
{/* Doctor 1 */} {/* Doctor 1 */}
<Grid item xs={12}> {/* <Grid item xs={12}>
<Grid container spacing={3}> <Grid container spacing={3}>
<Grid item xs={12}> <Grid item xs={12}>
<Typography variant="body1" component="div"> <Typography variant="body1" component="div">
@@ -428,7 +435,7 @@ export default function DetailMonitoringList() {
/> />
</Grid> </Grid>
</Grid> </Grid>
</Grid> </Grid> */}
{/* Subject */} {/* Subject */}
<Grid item xs={12}> <Grid item xs={12}>

View File

@@ -56,7 +56,7 @@ export default function DetailMonitoringList() {
// Use Effect // Use Effect
// -------------------- // --------------------
useEffect(() => { useEffect(() => {
// loadDataTableData(); loadDataTableData();
}, []) }, [])
// Dialog // Dialog
@@ -165,19 +165,18 @@ export default function DetailMonitoringList() {
// Load Data // Load Data
// ------------------- // -------------------
// const loadDataTableData = async () => { const loadDataTableData = async () => {
// const response = await getMonitoringDetailList(claim_code??''); const response = await getMonitoringDetailList(claim_code??'');
// const organization_id = await getOrganizationId(claim_code??''); const organization_id = await getOrganizationId(claim_code??'');
// setDetailMonitoringList(response); setDetailMonitoringList(response);
// setOrganizationId(organization_id); setOrganizationId(organization_id);
// } }
const renderHTML = (data:string) => { function renderHTML(data: string) {
return ( return (
<div style={{marginLeft: 20}} <div style={{ marginLeft: 20 }}
dangerouslySetInnerHTML={{__html: data}} dangerouslySetInnerHTML={{ __html: data }} />
/>
); );
} }
@@ -187,7 +186,7 @@ export default function DetailMonitoringList() {
{/* back button */} {/* back button */}
<Grid item xs={12}> <Grid item xs={12}>
<Box sx={{ display: 'flex', alignItems: 'center' }}> <Box sx={{ display: 'flex', alignItems: 'center' }}>
<IconButton size='large' color='inherit' onClick={() => navigate(`/case_management/daily_monitoring/${member_id}/${organizationId}/claims`)} > <IconButton size='large' color='inherit' onClick={() => navigate(`/case_management/daily_monitoring`)} >
<ArrowBackIosNew/> <ArrowBackIosNew/>
</IconButton> </IconButton>
@@ -241,10 +240,10 @@ export default function DetailMonitoringList() {
<Box sx={{ marginLeft: 'auto' }}> {/* Menempatkan TableMoreMenu di sebelah kanan */} <Box sx={{ marginLeft: 'auto' }}> {/* Menempatkan TableMoreMenu di sebelah kanan */}
<TableMoreMenu actions={ <TableMoreMenu actions={
<> <>
<MenuItem onClick={() => {handleEdit(row.id);}}> {/* <MenuItem onClick={() => {handleEdit(row.id);}}>
<Edit /> <Edit />
Edit Edit
</MenuItem> </MenuItem> */}
<MenuItem onClick={() => {setOpenDialog(true); setId(row.id); setIdFile(null)}}> <MenuItem onClick={() => {setOpenDialog(true); setId(row.id); setIdFile(null)}}>
<Delete color='error' /> <Delete color='error' />
Delete Delete

View File

@@ -60,6 +60,7 @@ export type DetailMonitoringListType = {
id : number|null, id : number|null,
claim_id : string|null, claim_id : string|null,
log_code : string|null, log_code : string|null,
request_log_id : string|null,
claim_code : string|undefined, claim_code : string|undefined,
doctor_1 : string|undefined, doctor_1 : string|undefined,
doctor_2 : string|undefined, doctor_2 : string|undefined,
@@ -68,6 +69,8 @@ export type DetailMonitoringListType = {
approval_pendamping : string|undefined, approval_pendamping : string|undefined,
keterangan : string|undefined, keterangan : string|undefined,
catatan : string|undefined, catatan : string|undefined,
description : string|undefined,
note : string|undefined,
subject : string|undefined, subject : string|undefined,
object : string|undefined, object : string|undefined,
objective : string|undefined, objective : string|undefined,

View File

@@ -194,9 +194,9 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
<Card sx={{padding:2, marginTop:2}} > <Card sx={{padding:2, marginTop:2}} >
<Stack direction='row' spacing={2} sx={marginBottom2}> <Stack direction='row' spacing={2} sx={marginBottom2}>
<Typography variant='subtitle2' sx={style1} gutterBottom>Invoice Number</Typography> <Typography variant='subtitle2' sx={style1} gutterBottom>Invoice Provider</Typography>
<TextField <TextField
label="Invoice Number" label="Invoice Provider"
variant="outlined" variant="outlined"
fullWidth fullWidth
value={formData.invoice_no} value={formData.invoice_no}

View File

@@ -241,6 +241,10 @@ export default function Router() {
path: 'daily_monitoring/:member_id/claims/:claim_code/:id', path: 'daily_monitoring/:member_id/claims/:claim_code/:id',
element: <DetailMonitoringForm /> element: <DetailMonitoringForm />
}, },
{
path: 'daily_monitoring/:id/edit',
element: <DetailMonitoringForm />
},
{ {
path: 'daily_monitoring/:member_id/claims/:claim_code/list_monitoring', path: 'daily_monitoring/:member_id/claims/:claim_code/list_monitoring',
element: <DetailMonitoringList /> element: <DetailMonitoringList />