Merge remote-tracking branch 'origin/staging' into origin/production

This commit is contained in:
Server D3 Linksehat
2024-12-11 15:34:33 +07:00
4 changed files with 68 additions and 30 deletions

View File

@@ -54,6 +54,7 @@ export type DetailFinalLogType = {
catatan : string, catatan : string,
discharge_date : string, discharge_date : string,
reason : string, reason : string,
type_of_member : string,
diagnosis : Diagnosis[], diagnosis : Diagnosis[],
benefit : Benefit[], benefit : Benefit[],
benefit_data : BenefitData[], benefit_data : BenefitData[],

View File

@@ -30,6 +30,7 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo
penempatan_kamar: '', penempatan_kamar: '',
type_of_member: '' type_of_member: ''
}); });
const [error, setError] = useState(false);
useEffect(() => { useEffect(() => {
// Update formData setiap kali approve berubah // Update formData setiap kali approve berubah
@@ -57,16 +58,22 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo
const handleSubmit = () => { const handleSubmit = () => {
axios if (formData.type_of_member === "") {
.put(`customer-service/request/${requestLog?.id}`, formData) setError(true);
.then((response) => { alert('Silakan pilih Type Of Member sebelum mengirimkan data.');
enqueueSnackbar('Verification Request LOG Success', { variant: 'success' }); } else {
setOpenDialog(false); axios
navigate('/custormer-service/request') .put(`customer-service/request/${requestLog?.id}`, formData)
}) .then((response) => {
.catch(({ response }) => { enqueueSnackbar('Verification Request LOG Success', { variant: 'success' });
enqueueSnackbar(response.data.message ?? 'Something went wrong!', { variant: 'error' }); setOpenDialog(false);
}); navigate('/custormer-service/request')
})
.catch(({ response }) => {
enqueueSnackbar(response.data.message ?? 'Something went wrong!', { variant: 'error' });
});
}
} }
const style1 = { const style1 = {
@@ -189,22 +196,6 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo
onChange={(e) => handleChange('hak_kamar_pasien', e.target.value)} onChange={(e) => handleChange('hak_kamar_pasien', e.target.value)}
/> />
</Stack> </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
>
<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}> <Stack direction='row' spacing={2} sx={marginBottom2}>
<Typography variant='subtitle2' sx={style1} gutterBottom>Penempatan Kamar</Typography> <Typography variant='subtitle2' sx={style1} gutterBottom>Penempatan Kamar</Typography>
<TextField <TextField
@@ -215,6 +206,24 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo
onChange={(e) => handleChange('penempatan_kamar', e.target.value)} onChange={(e) => handleChange('penempatan_kamar', e.target.value)}
/> />
</Stack> </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> </Card>
</Grid> </Grid>
<DialogActions> <DialogActions>

View File

@@ -1,7 +1,7 @@
import MuiDialog from "@/components/MuiDialog"; import MuiDialog from "@/components/MuiDialog";
import { Button, Card, Checkbox, DialogActions, Grid, TextField, TextareaAutosize, Typography, Select } from "@mui/material"; import { Button, Card, Checkbox, DialogActions, Grid, TextField, TextareaAutosize, Typography, Select, FormHelperText } from "@mui/material";
import { Paper } 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 React, { useEffect, useState } from 'react';
import { DetailRequestLogType } from "../Model/Types"; import { DetailRequestLogType } from "../Model/Types";
import { fDateOnly, fDateTimesecond, toTitleCase } from "@/utils/formatTime"; import { fDateOnly, fDateTimesecond, toTitleCase } from "@/utils/formatTime";
@@ -28,8 +28,10 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
keterangan: requestLog?.keterangan, keterangan: requestLog?.keterangan,
hak_kamar_pasien: requestLog?.hak_kamar_pasien, hak_kamar_pasien: requestLog?.hak_kamar_pasien,
penempatan_kamar: requestLog?.penempatan_kamar, penempatan_kamar: requestLog?.penempatan_kamar,
type_of_member: '',
reason: requestLog?.reason reason: requestLog?.reason
}); });
const [error, setError] = useState(false);
const [isReasonSelected, setIsReasonSelected] = useState(true); const [isReasonSelected, setIsReasonSelected] = useState(true);
@@ -40,6 +42,7 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
keterangan: requestLog?.keterangan || '', keterangan: requestLog?.keterangan || '',
hak_kamar_pasien: requestLog?.hak_kamar_pasien || '', hak_kamar_pasien: requestLog?.hak_kamar_pasien || '',
penempatan_kamar: requestLog?.penempatan_kamar || '', penempatan_kamar: requestLog?.penempatan_kamar || '',
type_of_member: requestLog?.type_of_member || '',
reason: requestLog?.reason || '', reason: requestLog?.reason || '',
}); });
@@ -65,7 +68,10 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
const handleSubmit = () => { const handleSubmit = () => {
if (isReasonSelected && formData.reason !== '') { if (formData.type_of_member === "") {
setError(true);
alert('Silakan pilih Type Of Member sebelum mengirimkan data.');
} else if (isReasonSelected && formData.reason !== '') {
axios axios
.put(`customer-service/request/${requestLog?.id}`, formData) .put(`customer-service/request/${requestLog?.id}`, formData)
.then((response) => { .then((response) => {
@@ -81,6 +87,8 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
setIsReasonSelected(false); setIsReasonSelected(false);
alert('Silakan pilih alasan sebelum mengirimkan data.'); alert('Silakan pilih alasan sebelum mengirimkan data.');
} }
} }
const style1 = { const style1 = {
@@ -105,6 +113,7 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
hak_kamar_pasien: requestLog?.hak_kamar_pasien ?? '', hak_kamar_pasien: requestLog?.hak_kamar_pasien ?? '',
penempatan_kamar: requestLog?.penempatan_kamar ?? '', penempatan_kamar: requestLog?.penempatan_kamar ?? '',
reason: requestLog?.reason ?? '', reason: requestLog?.reason ?? '',
type_of_member: requestLog?.type_of_member ?? ''
}); });
}; };
@@ -192,6 +201,24 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
onChange={(e) => handleChange('penempatan_kamar', e.target.value)} onChange={(e) => handleChange('penempatan_kamar', e.target.value)}
/> />
</Stack> </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}> <Stack direction='row' spacing={2} sx={marginBottom2}>
<Typography variant='subtitle2' sx={style1} gutterBottom>Reason*</Typography> <Typography variant='subtitle2' sx={style1} gutterBottom>Reason*</Typography>
<Autocomplete <Autocomplete

View File

@@ -55,7 +55,8 @@ export type DetailRequestLogType = {
provider : string, provider : string,
status : string, status : string,
benefit : Benefit[], benefit : Benefit[],
reason : string reason : string,
type_of_member : string,
} }
export type Benefit = { export type Benefit = {