update role penjagaan file
This commit is contained in:
@@ -219,7 +219,16 @@ export default function ServiceMonitoring() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const nameToCheck = 'service-monitoring-limit-client-portal';
|
const nameToCheck = 'service-monitoring-limit-client-portal';
|
||||||
|
const fileBillingCheck = 'file-billing-client-portal';
|
||||||
|
const fileDiagnosisCheck = 'file-diagnosis-client-portal';
|
||||||
|
const filePendukungCheck = 'file-pendukung-medis-client-portal';
|
||||||
|
const benefitCheck = 'benefit-client-portal';
|
||||||
|
|
||||||
const doesNameExist = checkIfNameExists(nameToCheck);
|
const doesNameExist = checkIfNameExists(nameToCheck);
|
||||||
|
const viewfileBilling = checkIfNameExists(fileBillingCheck);
|
||||||
|
const viewfileDiagnosis = checkIfNameExists(fileDiagnosisCheck);
|
||||||
|
const viewfilePendukungCheck = checkIfNameExists(filePendukungCheck);
|
||||||
|
const viewBenefitCheck = checkIfNameExists(benefitCheck);
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const controller = new AbortController();
|
const controller = new AbortController();
|
||||||
|
|
||||||
@@ -283,6 +292,8 @@ export default function ServiceMonitoring() {
|
|||||||
const formatNumber = (number) => {
|
const formatNumber = (number) => {
|
||||||
return new Intl.NumberFormat('id-ID').format(number);
|
return new Intl.NumberFormat('id-ID').format(number);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
console.log(viewfileBilling, 'test')
|
||||||
const LimitPlanCard = ({ title, current, total }) => (
|
const LimitPlanCard = ({ title, current, total }) => (
|
||||||
<Card variant="outlined" sx={{ minWidth: 200, m: 1 }}>
|
<Card variant="outlined" sx={{ minWidth: 200, m: 1 }}>
|
||||||
<CardContent>
|
<CardContent>
|
||||||
@@ -581,6 +592,37 @@ export default function ServiceMonitoring() {
|
|||||||
(
|
(
|
||||||
data.files.result.map((file, index) =>
|
data.files.result.map((file, index) =>
|
||||||
(
|
(
|
||||||
|
file.type == 'final-log-result' && viewfilePendukungCheck ?
|
||||||
|
(
|
||||||
|
<Stack direction="column" spacing={2} key={index}>
|
||||||
|
<Stack direction="row" spacing={1} sx={{color: '#19BBBB'}}>
|
||||||
|
<a
|
||||||
|
href={file.url}
|
||||||
|
download={file.original_name ? file.original_name : 'test'}
|
||||||
|
style={{ cursor: 'pointer', textDecoration: 'none', color: '#19BBBB' }}
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
<Typography variant="body2" gutterBottom>{file.original_name ? file.original_name : '-'}</Typography>
|
||||||
|
</a>
|
||||||
|
</Stack>
|
||||||
|
</Stack>
|
||||||
|
) :
|
||||||
|
file.type == 'final-log-diagnosis' && viewfileDiagnosis ?
|
||||||
|
(
|
||||||
|
<Stack direction="column" spacing={2} key={index}>
|
||||||
|
<Stack direction="row" spacing={1} sx={{color: '#19BBBB'}}>
|
||||||
|
<a
|
||||||
|
href={file.url}
|
||||||
|
download={file.original_name ? file.original_name : 'test'}
|
||||||
|
style={{ cursor: 'pointer', textDecoration: 'none', color: '#19BBBB' }}
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
<Typography variant="body2" gutterBottom>{file.original_name ? file.original_name : '-'}</Typography>
|
||||||
|
</a>
|
||||||
|
</Stack>
|
||||||
|
</Stack>
|
||||||
|
) :
|
||||||
|
file.type == 'final-log-kondisi' && viewfileBilling ?
|
||||||
(
|
(
|
||||||
<Stack direction="column" spacing={2} key={index}>
|
<Stack direction="column" spacing={2} key={index}>
|
||||||
<Stack direction="row" spacing={1} sx={{color: '#19BBBB'}}>
|
<Stack direction="row" spacing={1} sx={{color: '#19BBBB'}}>
|
||||||
@@ -595,6 +637,7 @@ export default function ServiceMonitoring() {
|
|||||||
</Stack>
|
</Stack>
|
||||||
</Stack>
|
</Stack>
|
||||||
)
|
)
|
||||||
|
: ''
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
) : (
|
) : (
|
||||||
@@ -749,163 +792,171 @@ export default function ServiceMonitoring() {
|
|||||||
</Typography>
|
</Typography>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item container spacing={1.5}>
|
{viewBenefitCheck ? (
|
||||||
<Grid item>
|
<Grid item container spacing={1.5}>
|
||||||
<Typography variant="subtitle2" color={'grey.600'}>
|
|
||||||
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Benefits'}
|
|
||||||
</Typography>
|
|
||||||
</Grid>
|
|
||||||
<Grid item container>
|
|
||||||
<Grid item>
|
<Grid item>
|
||||||
{loading ? (
|
<Typography variant="subtitle2" color={'grey.600'}>
|
||||||
<Skeleton animation="wave" width={300} />
|
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Benefits'}
|
||||||
) : data && data.benefits && data.benefits.length > 0 ? (
|
</Typography>
|
||||||
data.benefits.map((benefitValue, benefitIndex) => (
|
</Grid>
|
||||||
<List
|
<Grid item container>
|
||||||
subheader={
|
<Grid item>
|
||||||
<ListSubheader>
|
{loading ? (
|
||||||
<Typography variant="subtitle2" color={'grey.700'}>
|
<Skeleton animation="wave" width={300} />
|
||||||
{benefitIndex + 1 + `. ` + benefitValue.name}
|
) : data && data.benefits && data.benefits.length > 0 ? (
|
||||||
</Typography>
|
data.benefits.map((benefitValue, benefitIndex) => (
|
||||||
</ListSubheader>
|
<List
|
||||||
}
|
subheader={
|
||||||
key={benefitIndex}
|
<ListSubheader>
|
||||||
>
|
<Typography variant="subtitle2" color={'grey.700'}>
|
||||||
<ListItem sx={{ paddingLeft: 4 }}>
|
{benefitIndex + 1 + `. ` + benefitValue.name}
|
||||||
<ListItemText>
|
</Typography>
|
||||||
<Typography
|
</ListSubheader>
|
||||||
variant="subtitle2"
|
}
|
||||||
color={'grey.900'}
|
key={benefitIndex}
|
||||||
component={'div'}
|
>
|
||||||
display="flex"
|
<ListItem sx={{ paddingLeft: 4 }}>
|
||||||
alignItems={'center'}
|
<ListItemText>
|
||||||
gap={1}
|
<Typography
|
||||||
>
|
variant="subtitle2"
|
||||||
<CircleIcon sx={{ width: 8 }} />
|
color={'grey.900'}
|
||||||
Amount Incurred : Rp {fSplit(benefitValue.amountApproved)}
|
component={'div'}
|
||||||
</Typography>
|
display="flex"
|
||||||
</ListItemText>
|
alignItems={'center'}
|
||||||
</ListItem>
|
gap={1}
|
||||||
<ListItem sx={{ paddingLeft: 4 }}>
|
>
|
||||||
<ListItemText>
|
<CircleIcon sx={{ width: 8 }} />
|
||||||
<Typography
|
Amount Incurred : Rp {fSplit(benefitValue.amountApproved)}
|
||||||
variant="subtitle2"
|
</Typography>
|
||||||
color={'grey.900'}
|
</ListItemText>
|
||||||
component={'div'}
|
</ListItem>
|
||||||
display="flex"
|
<ListItem sx={{ paddingLeft: 4 }}>
|
||||||
alignItems={'center'}
|
<ListItemText>
|
||||||
gap={1}
|
<Typography
|
||||||
>
|
variant="subtitle2"
|
||||||
<CircleIcon sx={{ width: 8 }} />
|
color={'grey.900'}
|
||||||
Amount Approved : Rp {fSplit(benefitValue.amountApproved)}
|
component={'div'}
|
||||||
</Typography>
|
display="flex"
|
||||||
</ListItemText>
|
alignItems={'center'}
|
||||||
</ListItem>
|
gap={1}
|
||||||
<ListItem sx={{ paddingLeft: 4 }}>
|
>
|
||||||
<ListItemText>
|
<CircleIcon sx={{ width: 8 }} />
|
||||||
<Typography
|
Amount Approved : Rp {fSplit(benefitValue.amountApproved)}
|
||||||
variant="subtitle2"
|
</Typography>
|
||||||
color={'grey.900'}
|
</ListItemText>
|
||||||
component={'div'}
|
</ListItem>
|
||||||
display="flex"
|
<ListItem sx={{ paddingLeft: 4 }}>
|
||||||
alignItems={'center'}
|
<ListItemText>
|
||||||
gap={1}
|
<Typography
|
||||||
>
|
variant="subtitle2"
|
||||||
<CircleIcon sx={{ width: 8 }} />
|
color={'grey.900'}
|
||||||
Amount Not Approved : Rp {fSplit(benefitValue.amountNotAprroved)}
|
component={'div'}
|
||||||
</Typography>
|
display="flex"
|
||||||
</ListItemText>
|
alignItems={'center'}
|
||||||
</ListItem>
|
gap={1}
|
||||||
<ListItem sx={{ paddingLeft: 4 }}>
|
>
|
||||||
<ListItemText>
|
<CircleIcon sx={{ width: 8 }} />
|
||||||
<Typography
|
Amount Not Approved : Rp {fSplit(benefitValue.amountNotAprroved)}
|
||||||
variant="subtitle2"
|
</Typography>
|
||||||
color={'grey.900'}
|
</ListItemText>
|
||||||
component={'div'}
|
</ListItem>
|
||||||
display="flex"
|
<ListItem sx={{ paddingLeft: 4 }}>
|
||||||
alignItems={'center'}
|
<ListItemText>
|
||||||
gap={1}
|
<Typography
|
||||||
>
|
variant="subtitle2"
|
||||||
<CircleIcon sx={{ width: 8 }} />
|
color={'grey.900'}
|
||||||
Excess Paid : Rp {fSplit(benefitValue.excessPaid)}
|
component={'div'}
|
||||||
</Typography>
|
display="flex"
|
||||||
</ListItemText>
|
alignItems={'center'}
|
||||||
</ListItem>
|
gap={1}
|
||||||
<ListItem sx={{ paddingLeft: 4 }}>
|
>
|
||||||
<ListItemText>
|
<CircleIcon sx={{ width: 8 }} />
|
||||||
<Typography
|
Excess Paid : Rp {fSplit(benefitValue.excessPaid)}
|
||||||
variant="subtitle2"
|
</Typography>
|
||||||
color={'grey.900'}
|
</ListItemText>
|
||||||
component={'div'}
|
</ListItem>
|
||||||
display="flex"
|
<ListItem sx={{ paddingLeft: 4 }}>
|
||||||
alignItems={'center'}
|
<ListItemText>
|
||||||
gap={1}
|
<Typography
|
||||||
>
|
variant="subtitle2"
|
||||||
<CircleIcon sx={{ width: 8 }} />
|
color={'grey.900'}
|
||||||
Description : {benefitValue.description}
|
component={'div'}
|
||||||
</Typography>
|
display="flex"
|
||||||
</ListItemText>
|
alignItems={'center'}
|
||||||
</ListItem>
|
gap={1}
|
||||||
</List>
|
>
|
||||||
))
|
<CircleIcon sx={{ width: 8 }} />
|
||||||
) : (
|
Description : {benefitValue.description}
|
||||||
<Typography variant="subtitle1" color={'grey.800'}>
|
</Typography>
|
||||||
-
|
</ListItemText>
|
||||||
</Typography>
|
</ListItem>
|
||||||
)}
|
</List>
|
||||||
|
))
|
||||||
|
) : (
|
||||||
|
<Typography variant="subtitle1" color={'grey.800'}>
|
||||||
|
-
|
||||||
|
</Typography>
|
||||||
|
)}
|
||||||
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
|
||||||
<Grid item container spacing={1.5}>
|
) : ('')
|
||||||
<Grid item>
|
}
|
||||||
<Typography variant="subtitle2" color={'grey.600'}>
|
|
||||||
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Benefits Total'}
|
{viewBenefitCheck ? (
|
||||||
</Typography>
|
<Grid item container spacing={1.5}>
|
||||||
|
<Grid item>
|
||||||
|
<Typography variant="subtitle2" color={'grey.600'}>
|
||||||
|
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Benefits Total'}
|
||||||
|
</Typography>
|
||||||
|
</Grid>
|
||||||
|
<Grid item xs={12}>
|
||||||
|
<Typography variant="subtitle1" color={'grey.800'}>
|
||||||
|
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Total Incurred : Rp. '}
|
||||||
|
{loading ? (
|
||||||
|
<Skeleton animation={'wave'} width={300} />
|
||||||
|
) : data && data.benefitTotal ? (
|
||||||
|
fSplit(data.benefitTotal.totalIncurred)
|
||||||
|
) : (
|
||||||
|
'-'
|
||||||
|
)}
|
||||||
|
</Typography>
|
||||||
|
<Typography variant="subtitle1" color={'grey.800'}>
|
||||||
|
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Total Approve : Rp. '}
|
||||||
|
{loading ? (
|
||||||
|
<Skeleton animation={'wave'} width={300} />
|
||||||
|
) : data && data.benefitTotal ? (
|
||||||
|
fSplit(data.benefitTotal.totalApprove)
|
||||||
|
) : (
|
||||||
|
'-'
|
||||||
|
)}
|
||||||
|
</Typography>
|
||||||
|
<Typography variant="subtitle1" color={'grey.800'}>
|
||||||
|
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Total Not Approve : Rp.'}
|
||||||
|
{loading ? (
|
||||||
|
<Skeleton animation={'wave'} width={300} />
|
||||||
|
) : data && data.benefitTotal ? (
|
||||||
|
fSplit(data.benefitTotal.totalNotApprove)
|
||||||
|
) : (
|
||||||
|
'-'
|
||||||
|
)}
|
||||||
|
</Typography>
|
||||||
|
<Typography variant="subtitle1" color={'grey.800'}>
|
||||||
|
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Total Excess : Rp.'}
|
||||||
|
{loading ? (
|
||||||
|
<Skeleton animation={'wave'} width={300} />
|
||||||
|
) : data && data.benefitTotal ? (
|
||||||
|
fSplit(data.benefitTotal.totalExcess)
|
||||||
|
) : (
|
||||||
|
'-'
|
||||||
|
)}
|
||||||
|
</Typography>
|
||||||
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={12}>
|
) : ('')}
|
||||||
<Typography variant="subtitle1" color={'grey.800'}>
|
|
||||||
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Total Incurred : Rp. '}
|
<Grid item container xs={12} spacing={1.5}>
|
||||||
{loading ? (
|
|
||||||
<Skeleton animation={'wave'} width={300} />
|
|
||||||
) : data && data.benefitTotal ? (
|
|
||||||
fSplit(data.benefitTotal.totalIncurred)
|
|
||||||
) : (
|
|
||||||
'-'
|
|
||||||
)}
|
|
||||||
</Typography>
|
|
||||||
<Typography variant="subtitle1" color={'grey.800'}>
|
|
||||||
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Total Approve : Rp. '}
|
|
||||||
{loading ? (
|
|
||||||
<Skeleton animation={'wave'} width={300} />
|
|
||||||
) : data && data.benefitTotal ? (
|
|
||||||
fSplit(data.benefitTotal.totalApprove)
|
|
||||||
) : (
|
|
||||||
'-'
|
|
||||||
)}
|
|
||||||
</Typography>
|
|
||||||
<Typography variant="subtitle1" color={'grey.800'}>
|
|
||||||
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Total Not Approve : Rp.'}
|
|
||||||
{loading ? (
|
|
||||||
<Skeleton animation={'wave'} width={300} />
|
|
||||||
) : data && data.benefitTotal ? (
|
|
||||||
fSplit(data.benefitTotal.totalNotApprove)
|
|
||||||
) : (
|
|
||||||
'-'
|
|
||||||
)}
|
|
||||||
</Typography>
|
|
||||||
<Typography variant="subtitle1" color={'grey.800'}>
|
|
||||||
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Total Excess : Rp.'}
|
|
||||||
{loading ? (
|
|
||||||
<Skeleton animation={'wave'} width={300} />
|
|
||||||
) : data && data.benefitTotal ? (
|
|
||||||
fSplit(data.benefitTotal.totalExcess)
|
|
||||||
) : (
|
|
||||||
'-'
|
|
||||||
)}
|
|
||||||
</Typography>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
|
||||||
<Grid item container xs={12} spacing={1.5}>
|
|
||||||
<Grid item xs={12}>
|
<Grid item xs={12}>
|
||||||
<Typography variant="subtitle2" color={'grey.600'}>
|
<Typography variant="subtitle2" color={'grey.600'}>
|
||||||
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Hospital'}
|
{loading ? <Skeleton animation={'wave'} width={200} /> : 'Hospital'}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
"txtSubmissionDate" : "Admission Date",
|
"txtSubmissionDate" : "Admission Date",
|
||||||
"txtDataNotFound" : "Data Not Found",
|
"txtDataNotFound" : "Data Not Found",
|
||||||
"txtConditionDocument" : "Condition Document",
|
"txtConditionDocument" : "Condition Document",
|
||||||
|
"txtBillingDocument" : "Billing Document",
|
||||||
"txtDiagnosisDokument" : "Diagnosis Dokument",
|
"txtDiagnosisDokument" : "Diagnosis Dokument",
|
||||||
"txtSupportingResultDocument" : "Supporting Result Document",
|
"txtSupportingResultDocument" : "Supporting Result Document",
|
||||||
"txtAddResult" : "Add Result",
|
"txtAddResult" : "Add Result",
|
||||||
|
|||||||
@@ -33,8 +33,9 @@
|
|||||||
"txtSubmissionDate" : "Tanggal Masuk",
|
"txtSubmissionDate" : "Tanggal Masuk",
|
||||||
"txtDataNotFound" : "Data Tidak Ditemukan",
|
"txtDataNotFound" : "Data Tidak Ditemukan",
|
||||||
"txtConditionDocument" : "Dokumen Kondisi",
|
"txtConditionDocument" : "Dokumen Kondisi",
|
||||||
|
"txtBillingDocument" : "Dokumen Billing",
|
||||||
"txtDiagnosisDokument" : "Dokumen Diagnosis",
|
"txtDiagnosisDokument" : "Dokumen Diagnosis",
|
||||||
"txtSupportingResultDocument" : "Dokumen Pendukung",
|
"txtSupportingResultDocument" : "Dokumen Pendukung Medis",
|
||||||
"txtAddResult" : "Tambah Hasil",
|
"txtAddResult" : "Tambah Hasil",
|
||||||
"txtServiceType" : "Tipe Layanan",
|
"txtServiceType" : "Tipe Layanan",
|
||||||
"txtAdditionalDocuments" : "Dokumen Tambahan",
|
"txtAdditionalDocuments" : "Dokumen Tambahan",
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
"txtSubmissionDate" : "Admission Date",
|
"txtSubmissionDate" : "Admission Date",
|
||||||
"txtDataNotFound" : "Data Not Found",
|
"txtDataNotFound" : "Data Not Found",
|
||||||
"txtConditionDocument" : "Condition Document",
|
"txtConditionDocument" : "Condition Document",
|
||||||
|
"txtBillingDocument" : "Billing Document",
|
||||||
"txtDiagnosisDokument" : "Diagnosis Dokument",
|
"txtDiagnosisDokument" : "Diagnosis Dokument",
|
||||||
"txtSupportingResultDocument" : "Supporting Result Document",
|
"txtSupportingResultDocument" : "Supporting Result Document",
|
||||||
"txtAddResult" : "Add Result",
|
"txtAddResult" : "Add Result",
|
||||||
|
|||||||
@@ -33,8 +33,9 @@
|
|||||||
"txtSubmissionDate" : "Tanggal Masuk",
|
"txtSubmissionDate" : "Tanggal Masuk",
|
||||||
"txtDataNotFound" : "Data Tidak Ditemukan",
|
"txtDataNotFound" : "Data Tidak Ditemukan",
|
||||||
"txtConditionDocument" : "Dokumen Kondisi",
|
"txtConditionDocument" : "Dokumen Kondisi",
|
||||||
|
"txtBillingDocument" : "Dokumen Billing",
|
||||||
"txtDiagnosisDokument" : "Dokumen Diagnosis",
|
"txtDiagnosisDokument" : "Dokumen Diagnosis",
|
||||||
"txtSupportingResultDocument" : "Dokumen Pendukung",
|
"txtSupportingResultDocument" : "Dokumen Pendukung Medis",
|
||||||
"txtAddResult" : "Tambah Hasil",
|
"txtAddResult" : "Tambah Hasil",
|
||||||
"txtServiceType" : "Tipe Layanan",
|
"txtServiceType" : "Tipe Layanan",
|
||||||
"txtAdditionalDocuments" : "Dokumen Tambahan",
|
"txtAdditionalDocuments" : "Dokumen Tambahan",
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS
|
|||||||
{/* -------------------------------Upload Dokumen Kondisi------------------------------- */}
|
{/* -------------------------------Upload Dokumen Kondisi------------------------------- */}
|
||||||
<Stack sx={{ marginTop: 2 }}>
|
<Stack sx={{ marginTop: 2 }}>
|
||||||
<Typography variant="body1" sx={{fontWeight:'bold'}}>
|
<Typography variant="body1" sx={{fontWeight:'bold'}}>
|
||||||
{localeData.txtConditionDocument}
|
{localeData.txtBillingDocument}
|
||||||
</Typography>
|
</Typography>
|
||||||
{/* <Typography variant="body2">Hasil Lab, </Typography> */}
|
{/* <Typography variant="body2">Hasil Lab, </Typography> */}
|
||||||
<Stack
|
<Stack
|
||||||
|
|||||||
Reference in New Issue
Block a user