tambah form edit tom

This commit is contained in:
2024-12-18 15:59:15 +07:00
parent 7dcc816af1
commit a94972d14d
7 changed files with 98 additions and 40 deletions

View File

@@ -489,7 +489,11 @@ class RequestLogController extends Controller
if (!empty($request->reason)) {
$requestLog->reason_final = $request->reason;
}
if (!empty($request->type_of_member)){
$requestLog->type_of_member = $request->type_of_member;
}
$requestLog->final_log = 1;
$requestLog->approved_final_log_by = auth()->user()->id;
$requestLog->approved_final_log_at = Carbon::now();

View File

@@ -1,5 +1,5 @@
import MuiDialog from "@/components/MuiDialog";
import { Autocomplete, Button, Card, DialogActions, Grid, TextField, Typography } from "@mui/material";
import { Autocomplete, Button, Card, DialogActions, Grid, MenuItem, Select, TextField, Typography } from "@mui/material";
import { Stack } from '@mui/material';
import React, { useEffect, useState } from 'react';
import { DetailFinalLogType } from "../Model/Types";
@@ -25,9 +25,12 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo
id: requestLog?.id,
status: approve || '',
catatan: '',
type_of_member: '' ,
icdCodes: requestLog?.diagnosis.length ? requestLog.diagnosis.map(diagnosis => ({ value: diagnosis.id, label: diagnosis.name })) : []
});
const [error, setError] = useState(false);
const [icdOptions, setIcdOptions] = useState([
{ value: '-', label: '-' }
]);
@@ -69,20 +72,26 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo
}
const handleSubmit = () => {
axios
.post(`customer-service/request/final-log`, formData)
.then((response) => {
enqueueSnackbar('Verification Request LOG Success', { variant: 'success' });
setOpenDialog(false);
if (requestLog?.service_type === 'Inpatient') {
navigate('/case_management/inpatient_monitoring');
} else {
navigate('/custormer-service/final-log');
}
})
.catch(({ response }) => {
enqueueSnackbar(response.data.message ?? 'Something went wrong!', { variant: 'error' });
});
if (formData.type_of_member === "" && requestLog?.corporate_id === 5) { // corporate vale
setError(true);
alert('Silakan pilih Type Of Member sebelum mengirimkan data.');
}
else {
axios
.post(`customer-service/request/final-log`, formData)
.then((response) => {
enqueueSnackbar('Verification Request LOG Success', { variant: 'success' });
setOpenDialog(false);
if (requestLog?.service_type === 'Inpatient') {
navigate('/case_management/inpatient_monitoring');
} else {
navigate('/custormer-service/final-log');
}
})
.catch(({ response }) => {
enqueueSnackbar(response.data.message ?? 'Something went wrong!', { variant: 'error' });
});
}
}
const style1 = {
@@ -179,6 +188,24 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo
)}
/>
</Stack>
<Stack direction='row' spacing={2} sx={marginBottom2}>
<Typography variant='subtitle2' sx={style1} gutterBottom>Type Of Member*</Typography>
<Select
fullWidth
value={formData.type_of_member}
onChange={(e) => handleChange('type_of_member', e.target.value)}
variant="outlined"
displayEmpty
required
error={error}
>
<MenuItem value="" disabled>
Type Member
</MenuItem>
<MenuItem value="OMT">OMT</MenuItem>
<MenuItem value="Non OMT">Non OMT</MenuItem>
</Select>
</Stack>
</Card>
</Grid>
<DialogActions>

View File

@@ -1,7 +1,7 @@
import MuiDialog from "@/components/MuiDialog";
import { Autocomplete, Button, Card, Checkbox, DialogActions, Grid, TextField, Typography } from "@mui/material";
import { Autocomplete, Button, Card, Checkbox, DialogActions, Grid, TextField, Typography, Select } from "@mui/material";
import { Paper } from "@mui/material";
import { Stack } from '@mui/material';
import { Stack, MenuItem } from '@mui/material';
import React, { useEffect, useState } from 'react';
import { DetailFinalLogType } from "../Model/Types";
import { fDateOnly, fDateTimesecond, toTitleCase } from "@/utils/formatTime";
@@ -27,8 +27,11 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
id: requestLog?.id,
catatan: requestLog?.catatan,
icdCodes: requestLog?.diagnosis,
reason: requestLog?.reason
reason: requestLog?.reason,
type_of_member: requestLog?.type_of_member
});
const [error, setError] = useState(false);
const [icdOptions, setIcdOptions] = useState([
{ value: '-', label: '-' }
@@ -49,17 +52,16 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
}, []); // useEffect dijalankan hanya sekali saat komponen dimount
useEffect(() => {
if (requestLog) {
setFormData({
discharge_date: requestLog.discharge_date,
billing_no: requestLog.billing_no,
invoice_no: requestLog.invoice_no,
id: requestLog.id,
catatan: requestLog.catatan,
icdCodes: requestLog.diagnosis,
reason: requestLog.reason
discharge_date: requestLog?.discharge_date|| '',
billing_no: requestLog?.billing_no|| '',
invoice_no: requestLog?.invoice_no|| '',
id: requestLog?.id|| 0,
catatan: requestLog?.catatan|| '',
icdCodes: requestLog?.diagnosis|| [],
reason: requestLog?.reason|| '',
type_of_member: requestLog?.type_of_member|| '',
});
}
}, [requestLog]);
@@ -94,7 +96,11 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
const handleSubmit = () => {
if (isReasonSelected && formData.reason !== '') {
if (formData.type_of_member === "" && requestLog?.corporate_id === 4) {
setError(true);
alert('Silakan pilih Type Of Member sebelum mengirimkan data.');
}
else if (isReasonSelected && formData.reason !== '') {
axios
.post(`customer-service/request/final-log`, formData)
.then((response) => {
@@ -128,13 +134,14 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
const resetForm = () => {
setFormData({
discharge_date: requestLog?.discharge_date,
id: requestLog?.id,
billing_no: requestLog?.billing_no,
invoice_no: requestLog?.invoice_no,
catatan: requestLog?.catatan,
icdCodes: requestLog?.diagnosis,
reason: requestLog?.reason
discharge_date: requestLog?.discharge_date ?? '',
id: requestLog?.id ?? 0,
billing_no: requestLog?.billing_no ?? '',
invoice_no: requestLog?.invoice_no ?? '',
catatan: requestLog?.catatan ?? '',
icdCodes: requestLog?.diagnosis ?? [],
reason: requestLog?.reason ?? '',
type_of_member: requestLog?.type_of_member ?? '',
});
};
const [isReasonSelected, setIsReasonSelected] = useState(true);
@@ -152,7 +159,7 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
// Add more options as needed
];
console.log(formData.type_of_member)
const getContent = () => (
<Stack spacing={1} marginTop={2}>
@@ -206,6 +213,24 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
onChange={(e) => handleChange('billing_no', e.target.value)}
/>
</Stack>
<Stack direction='row' spacing={2} sx={marginBottom2}>
<Typography variant='subtitle2' sx={style1} gutterBottom>Type Of Member*</Typography>
<Select
fullWidth
value={formData.type_of_member}
onChange={(e) => handleChange('type_of_member', e.target.value)}
variant="outlined"
displayEmpty
required
error={error}
>
<MenuItem value="" disabled>
Type Member
</MenuItem>
<MenuItem value="OMT">OMT</MenuItem>
<MenuItem value="Non OMT">Non OMT</MenuItem>
</Select>
</Stack>
<Stack direction='row' spacing={2} sx={marginBottom2}>
<Typography variant='subtitle2' sx={style1} gutterBottom>Discharge Date</Typography>
<TextField

View File

@@ -61,7 +61,8 @@ export type DetailFinalLogType = {
exclusion : Exclusion[],
medicine : Medicine[],
files : file[],
member_usage_benefit : number
member_usage_benefit : number,
corporate_id : number
}
export type Diagnosis = {

View File

@@ -58,7 +58,7 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo
const handleSubmit = () => {
if (formData.type_of_member === "" && requestLog?.corporate_id === 4) {
if (formData.type_of_member === "" && requestLog?.corporate_id === 5) {
setError(true);
alert('Silakan pilih Type Of Member sebelum mengirimkan data.');
} else {

View File

@@ -68,7 +68,7 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
const handleSubmit = () => {
if (formData.type_of_member === "" && requestLog?.corporate_id === 4) {
if (formData.type_of_member === "" && requestLog?.corporate_id === 5) {
setError(true);
alert('Silakan pilih Type Of Member sebelum mengirimkan data.');
} else if (isReasonSelected && formData.reason !== '') {

View File

@@ -57,6 +57,7 @@ export type DetailRequestLogType = {
benefit : Benefit[],
reason : string,
type_of_member : string,
corporate_id : number
}
export type Benefit = {