Edit Final LOG

This commit is contained in:
ivan-sim
2026-04-09 14:20:29 +07:00
parent e4a6a58e17
commit 63de17a98f
6 changed files with 89 additions and 19 deletions

View File

@@ -29,6 +29,7 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
icdCodes: requestLog?.diagnosis,
reason: requestLog?.reason,
type_of_member: requestLog?.type_of_member,
organization_id: requestLog?.organization_id || 0,
status: 'requested',
});
@@ -62,8 +63,10 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
icdCodes: requestLog?.diagnosis|| [],
reason: requestLog?.reason|| '',
type_of_member: requestLog?.type_of_member|| '',
organization_id: requestLog?.organization_id || 0,
status: 'requested',
});
setIdProvider(requestLog?.organization_id || 0); // ✅ sekalian sync UI
}, [requestLog]);
@@ -144,6 +147,7 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
icdCodes: requestLog?.diagnosis ?? [],
reason: requestLog?.reason ?? '',
type_of_member: requestLog?.type_of_member ?? '',
organization_id: requestLog?.organization_id || 0,
status: 'requested'
});
};
@@ -162,6 +166,24 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
// Add more options as needed
];
const [providers, setProviders] = useState([]);
const [idProvider, setIdProvider] = useState(0);
useEffect(() => {
axios
.get('/organizations')
.then((res) => {
setProviders(res.data.data || []);
})
.catch((err) => console.error(err));
}, []);
useEffect(() => {
if (requestLog?.organization_id) {
setIdProvider(requestLog.organization_id);
}
}, [requestLog]);
// console.log(formData.type_of_member)
const getContent = () => (
@@ -196,6 +218,26 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo
</Card>
<Card sx={{padding:2, marginTop:2}} >
<Stack direction="row" spacing={2} sx={marginBottom2}>
<Typography variant="subtitle2" sx={style1} gutterBottom>
Provider
</Typography>
<Autocomplete
options={providers}
getOptionLabel={(option) => option.name?.trim() || '-'}
value={providers.find((item) => item.id == idProvider) || null}
onChange={(event, newValue) => {
const id = newValue?.id || 0;
setIdProvider(id);
handleChange('organization_id', id);
}}
renderInput={(params) => (
<TextField {...params} label="Provider" fullWidth />
)}
fullWidth
/>
</Stack>
<Stack direction='row' spacing={2} sx={marginBottom2}>
<Typography variant='subtitle2' sx={style1} gutterBottom>Invoice Provider</Typography>
<TextField

View File

@@ -356,7 +356,7 @@ export default function DetailRequestFinalLog() {
}
setSubmitLoading(true);
const formData = makeFormData({
request_logs_id: Log_id,
request_logs_id: requestLog?.id,
// result_files: fileHasilPenunjangs,
// diagnosa_files: fileDiagnosas,
// kondisi_files: fileKondisis,
@@ -424,7 +424,7 @@ export default function DetailRequestFinalLog() {
Detail
</Typography>
</Grid>
{requestLog?.status_final_log != 'requested' ? (
{requestLog?.status_final_log != 'approved' ? (
<Grid item xs={6} sx={{ display: 'flex', placeContent: 'end' }}>
<MoreMenu
actions={
@@ -1316,7 +1316,7 @@ export default function DetailRequestFinalLog() {
setOpenDialogSubmit(true);
}}
>
Request Final LOG
{requestLog?.status_final_log == 'requested' ? 'Edit' : ''} Request Final LOG
</Button>
</div>
@@ -1330,7 +1330,6 @@ export default function DetailRequestFinalLog() {
</Stack>
</Grid>
) : null}
</Grid>
</Container>
</Page>

View File

@@ -188,7 +188,7 @@ export default function TableListFinalLog() {
// enqueueSnackbar('Mohon isi alasan', { variant: 'warning' });
// return false;
// }
axios.post('/submit-claims', {
axios.post('/submit-claims', {
selectedRows: selectedRows
})
.then((response) => {
@@ -202,7 +202,7 @@ export default function TableListFinalLog() {
enqueueSnackbar(response.data.meta.message, {variant : "error"});
}
getData();
setSelectedRows([]);
setSelectedRows([]);
})
.catch(({response}) => {
enqueueSnackbar(response.data.errors ? response.data.errors[0] : (response.data ? response.data.meta.message : 'Opps, Something went Wrong!'), {variant : "error"})
@@ -365,8 +365,8 @@ export default function TableListFinalLog() {
];
function handleSearchMember(noPolis:any, birthDate:any) {
setLoadingClaim(false)
axios.post('/search-member', {
no_polis: noPolis,
axios.post('/search-member', {
no_polis: noPolis,
birth_date: birthDate ? fPostFormat(birthDate, 'yyyy-MM-dd') : null,
type: 'view'
})
@@ -466,6 +466,27 @@ export default function TableListFinalLog() {
<Iconify icon="eva:eye-fill" />
View
</MenuItem>
{obj.status !== 'approved' ? (
<MenuItem
onClick={() =>
navigate('/detail-request-final-log/'+obj.id, {
state: {
Log_id: obj.id,
full_name: obj.full_name,
no_polis: obj.no_polis,
submission_date: obj.submission_date,
service_code: obj.service_code,
member_id: obj.member_id,
specialities_id: obj.specialities_id,
dppj: obj.dppj,
},
})
}
>
<Iconify icon="fa:file-text" />
Edit Request Final LOG
</MenuItem>
):''}
{obj.status === 'approved' ? (
<MenuItem onClick={() => handleDownloadLog(obj.id, obj.service_code, obj.no_polis, obj.full_name, obj.provider, obj.approved_final_log_at)}>
<Iconify icon="eva:download-fill" />
@@ -542,7 +563,7 @@ export default function TableListFinalLog() {
DialogMember(currentMember, () => setOpenDialogBenefit(false))
}
maxWidth="sm"
/>
/>
<MuiDialog
title={{name: dataViewClaimSubmit?.full_name}}
openDialog={openDialogClaimSubmit}
@@ -573,7 +594,7 @@ export default function TableListFinalLog() {
</Stack>
</DialogTitle>
<DialogContent>
<Stack spacing={2} padding={2}>
<Typography variant='body1'>{localeData.txtDialogConfirmation}</Typography>
{valDialog == "decline" ? (
@@ -596,7 +617,7 @@ export default function TableListFinalLog() {
<Button variant="outlined" sx={{color: '#212B36', borderColor: '#919EAB52'}} onClick={handleCloseDialogSubmit}>{localeData.txtCancel}</Button>
<Button sx={{backgroundColor: (valDialog === 'decline' ? '' : '#19BBBB'), color: (valDialog === 'decline' ? '#FF4842' : ''), borderColor: '#FF4842'}} onClick={handleSubmitData} variant={(valDialog === 'decline' ? 'outlined' : 'contained')}>{(valDialog === "decline" ? localeData.txtDeclaine : 'Submit')}</Button>
</DialogActions>
</Dialog>
</Dialog>
</>
);
}