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,
discharge_date : string,
reason : string,
type_of_member : string,
diagnosis : Diagnosis[],
benefit : Benefit[],
benefit_data : BenefitData[],

View File

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

View File

@@ -1,7 +1,7 @@
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 { Stack } from '@mui/material';
import { Stack, MenuItem } from '@mui/material';
import React, { useEffect, useState } from 'react';
import { DetailRequestLogType } from "../Model/Types";
import { fDateOnly, fDateTimesecond, toTitleCase } from "@/utils/formatTime";
@@ -28,8 +28,10 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
keterangan: requestLog?.keterangan,
hak_kamar_pasien: requestLog?.hak_kamar_pasien,
penempatan_kamar: requestLog?.penempatan_kamar,
type_of_member: '',
reason: requestLog?.reason
});
const [error, setError] = useState(false);
const [isReasonSelected, setIsReasonSelected] = useState(true);
@@ -40,6 +42,7 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
keterangan: requestLog?.keterangan || '',
hak_kamar_pasien: requestLog?.hak_kamar_pasien || '',
penempatan_kamar: requestLog?.penempatan_kamar || '',
type_of_member: requestLog?.type_of_member || '',
reason: requestLog?.reason || '',
});
@@ -65,7 +68,10 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
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
.put(`customer-service/request/${requestLog?.id}`, formData)
.then((response) => {
@@ -81,6 +87,8 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
setIsReasonSelected(false);
alert('Silakan pilih alasan sebelum mengirimkan data.');
}
}
const style1 = {
@@ -105,6 +113,7 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi
hak_kamar_pasien: requestLog?.hak_kamar_pasien ?? '',
penempatan_kamar: requestLog?.penempatan_kamar ?? '',
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)}
/>
</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>Reason*</Typography>
<Autocomplete

View File

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