Export Excel Invoice & Imporve Invoice

This commit is contained in:
ivan-sim
2025-12-18 09:53:01 +07:00
parent 9976e8e438
commit e178682fcf
13 changed files with 622 additions and 80 deletions

View File

@@ -95,6 +95,18 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
enqueueSnackbar(localeData.txtWarningDischargeDate, { variant: 'warning' });
return false;
}
//cek spesialis
if(!idSpecialities)
{
enqueueSnackbar(localeData.txtWarningSpecialist, { variant: 'warning' });
return false;
}
//cek dpjp
if(!inputDppj)
{
enqueueSnackbar(localeData.txtWarningDPPJ, { variant: 'warning' });
return false;
}
setSubmitLoading(true);
const formData = makeFormData({
request_logs_id: member.id,
@@ -142,7 +154,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
}).catch((error) => {
console.error('Error fetching ICD options:', error);
});
}, []);
console.log(serviceOptions, member, 'test')
@@ -210,7 +222,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
placeItems: 'center',
gap: 1,
placeContent: 'center',
}}
>
@@ -271,7 +283,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
placeItems: 'center',
gap: 1,
placeContent: 'center',
}}
>
@@ -332,7 +344,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
placeItems: 'center',
gap: 1,
placeContent: 'center',
}}
>
@@ -357,7 +369,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
<Stack direction="row" spacing={2} sx={{ width: '100%' }}>
{/* Kolom Tanggal Discharge */}
<Stack spacing={2} sx={{ flex: 1 }}>
<Typography variant="subtitle1">{localeData.txtDischargeDate} *</Typography>
<Typography variant="subtitle1">{localeData.txtDischargeDate} <span style={{ color: 'red' }}>*</span></Typography>
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DatePicker
label={localeData.txtDischargeDate}
@@ -373,7 +385,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
{/* Kolom Service Type */}
<Stack spacing={2} sx={{ flex: 1 }}>
<Typography variant="subtitle1">{localeData.txtDialogMember1} *</Typography>
<Typography variant="subtitle1">{localeData.txtDialogMember1} <span style={{ color: 'red' }}>*</span></Typography>
<Autocomplete
id="service_type"
options={serviceOptions}
@@ -393,7 +405,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
{/* Specialist */}
<Stack direction="row" spacing={2}>
<Stack spacing={2} sx={{ width: '100%' }}>
<Typography variant='subtitle1'>{localeData.txtSpecialist}</Typography>
<Typography variant='subtitle1'>{localeData.txtSpecialist} <span style={{ color: 'red' }}>*</span></Typography>
<Autocomplete
id='specialities'
options={specialisOptions}
@@ -412,7 +424,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
<Stack direction="row" spacing={2}>
<Stack spacing={2} sx={{ width: '100%' }}>
<Typography variant='subtitle1'>{ localeData.txtDPPJ }</Typography>
<Typography variant='subtitle1'>{ localeData.txtDPPJ } <span style={{ color: 'red' }}>*</span></Typography>
<TextField
id='dppj'
variant='outlined'
@@ -426,7 +438,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
</Stack>
</Stack>
<LoadingButton
variant="contained"

View File

@@ -72,6 +72,18 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe
enqueueSnackbar(localeData.txtDialogMember6, { variant: 'warning' });
return false;
}
//cek spesialis
if(!idSpecialities)
{
enqueueSnackbar(localeData.txtWarningSpecialist, { variant: 'warning' });
return false;
}
//cek dpjp
if(!inputDppj)
{
enqueueSnackbar(localeData.txtWarningDPPJ, { variant: 'warning' });
return false;
}
setSubmitLoading(true);
const formData = {
member_id: member.members.id,
@@ -145,7 +157,7 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe
<Stack direction="row" spacing={2}>
<Stack spacing={2} sx={{ width: '100%' }}>
<Typography variant='subtitle1'>{localeData.txtProvider} *</Typography>
<Typography variant='subtitle1'>{localeData.txtProvider} <span style={{ color: 'red' }}>*</span></Typography>
<Autocomplete
id="provider"
options={[{ name: localeData.txtAddNew, id: 0 }, ...member?.providers || []]}
@@ -172,7 +184,7 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe
/>
{showAddNewForm && (
<Stack direction="column" spacing={1} padding={1}>
<Typography variant='body2'>{localeData.txtAddNew} *</Typography>
<Typography variant='body2'>{localeData.txtAddNew} <span style={{ color: 'red' }}>*</span></Typography>
<TextField
required={true}
label={localeData.txtName}
@@ -204,7 +216,7 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe
<Stack direction="row" spacing={2}>
<Stack spacing={2} sx={{ width: '100%' }}>
<Typography variant='subtitle1'>{localeData.txtDialogMember1} *</Typography>
<Typography variant='subtitle1'>{localeData.txtDialogMember1} <span style={{ color: 'red' }}>*</span></Typography>
<Autocomplete
id="service_type"
options={member?.services || []}
@@ -228,7 +240,7 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe
{/* Specialist */}
<Stack direction="row" spacing={2}>
<Stack spacing={2} sx={{ width: '100%' }}>
<Typography variant='subtitle1'>{localeData.txtSpecialist}</Typography>
<Typography variant='subtitle1'>{localeData.txtSpecialist} <span style={{ color: 'red' }}>*</span></Typography>
<Autocomplete
id='specialities'
options={member?.specialities || []}
@@ -251,7 +263,7 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe
<Stack direction="row" spacing={2}>
<Stack spacing={2} sx={{ width: '100%' }}>
<Typography variant='subtitle1'>{ localeData.txtDPPJ }</Typography>
<Typography variant='subtitle1'>{ localeData.txtDPPJ } <span style={{ color: 'red' }}>*</span></Typography>
<TextField
id='dppj'
variant='outlined'
@@ -266,7 +278,7 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe
<Stack direction="row" spacing={2}>
<Stack spacing={2} sx={{ width: '100%' }}>
<Typography variant='subtitle1'>{localeData.txtDialogMember5} *</Typography>
<Typography variant='subtitle1'>{localeData.txtDialogMember5} <span style={{ color: 'red' }}>*</span></Typography>
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DatePicker
label={localeData.txtDialogMember5}