bugs checked, exclusin age, masih ada bugs value

This commit is contained in:
pajri
2022-12-23 17:16:31 +07:00
parent 3c49b98721
commit e15dda0955
3 changed files with 313 additions and 101 deletions

View File

@@ -1,6 +1,7 @@
import * as Yup from 'yup';
import { yupResolver } from '@hookform/resolvers/yup';
import {
Autocomplete,
Box,
Card,
Checkbox,
@@ -49,16 +50,23 @@ export default function Divisions() {
});
const [specialities, setSpecialities] = useState([]);
const [plans, setPlans] = useState([]);
// console.log('specialities', specialities);
useEffect(() => {
axios.get('/corporates/' + corporate_id + '/services/' + service_code).then((res) => {
setService(res.data.service);
setPlans(
res.data.corporate.plans.map((item: any) => ({
value: item.code,
label: item.code,
}))
);
setSpecialities(res.data.specialities);
setExclusion(res.data.service?.exclusions);
});
}, []);
}, [corporate_id, service_code]);
const handleConfigChange = (event: ChangeEvent<HTMLInputElement>, service: any) => {
axios
@@ -98,30 +106,26 @@ export default function Divisions() {
event: ChangeEvent<HTMLInputElement>,
service: any,
speciality: any,
name: string,
value: string,
type: string
) => {
console.log(event.target.checked, service, speciality, name, type);
console.log(event.target.checked, service, speciality, value, type);
axios
.post(`/corporates/${corporate_id}/services/${service_code}/specialities/exclusion`, {
// service_code: service.service_code,
speciality_id: speciality.id,
msc: event.target.checked ? '1' : '0',
name: name,
checked: event.target.checked ? '1' : '0',
value: value,
type: type,
})
.then((res) => {
console.log('update', res.data);
setService({
...service,
selected_specialities: res.data,
selected_specialities: res.data?.selected_specialities,
exclusions: res.data?.service?.exclusions,
});
setExclusion({
...exclusion,
[event.target.name]: event.target.checked,
});
// let newConfigurations = service.configurations
// newConfigurations[res.data.name] = res.data.value == true
});
};
@@ -188,6 +192,33 @@ export default function Divisions() {
},
];
const [minAge, setMinAge] = useState('');
const [maxAge, setMaxAge] = useState('');
const handleMinAge = (event: ChangeEvent<HTMLInputElement>) => {
setMinAge(event.target.value);
};
const handleMaxAge = (event: ChangeEvent<HTMLInputElement>) => {
setMaxAge(event.target.value);
};
const getMinAge = (service: any, speciality: any) => {
let minAge = '';
if (service.exclusions) {
service.exclusions.map((exclusion: any) => {
if (exclusion.speciality_id == speciality.id) {
minAge = exclusion.min_age;
}
});
}
return minAge;
};
console.log('minAge', minAge);
console.log('maxAge', maxAge);
console.log('Service _exclusions', service.exclusions);
return (
<Page title="Create Benefit">
@@ -405,7 +436,7 @@ export default function Divisions() {
Specialities
</Typography>
<TableContainer component={Paper}>
<Table sx={{ minWidth: 650 }} aria-label="simple table">
<Table aria-label="simple table">
<TableHead>
<TableRow>
<TableCell>Covered</TableCell>
@@ -465,15 +496,8 @@ export default function Divisions() {
item.speciality_id == row.id && item.msc?.m == '1'
)}
onChange={(event) => {
handleConfigExclusion(
event,
service,
row,
'member',
'msc'
);
handleConfigExclusion(event, service, row, 'm', 'msc');
}}
name="member"
/>
}
label="Member"
@@ -486,15 +510,8 @@ export default function Divisions() {
item.speciality_id == row.id && item.msc?.s == '1'
)}
onChange={(event) => {
handleConfigExclusion(
event,
service,
row,
'spouse',
'msc'
);
handleConfigExclusion(event, service, row, 's', 'msc');
}}
name="spouse"
/>
}
label="Spouse"
@@ -507,15 +524,8 @@ export default function Divisions() {
item.speciality_id == row.id && item.msc?.c == '1'
)}
onChange={(event) => {
handleConfigExclusion(
event,
service,
row,
'child',
'msc'
);
handleConfigExclusion(event, service, row, 'c', 'msc');
}}
name="child"
/>
}
label="Child"
@@ -527,13 +537,19 @@ export default function Divisions() {
<FormControlLabel
control={
<Checkbox
checked={
service?.configurations?.sp_external_doctor_online == '1'
}
checked={service.exclusions.find(
(item) =>
item.speciality_id == row.id && item.gender?.male == '1'
)}
onChange={(event) => {
handleConfigChange(event, service);
handleConfigExclusion(
event,
service,
row,
'male',
'gender'
);
}}
name="sp_external_doctor_online"
/>
}
label="Male"
@@ -541,24 +557,71 @@ export default function Divisions() {
<FormControlLabel
control={
<Checkbox
checked={
service?.configurations?.sp_external_doctor_online == '1'
}
checked={service.exclusions.find(
(item) =>
item.speciality_id == row.id &&
item.gender?.female == '1'
)}
onChange={(event) => {
handleConfigChange(event, service);
handleConfigExclusion(
event,
service,
row,
'female',
'gender'
);
}}
name="sp_external_doctor_online"
/>
}
label="Female"
/>
</Stack>
</TableCell>
<TableCell align="center">
<TextField id="outlined-number" type="number" />
<TextField
id="outlined-number"
type="number"
// value={
// service.exclusions.find((item) => item.speciality_id == row.id)
// ?.min_age
// }
onChange={(event) => {
handleMinAge(event);
}}
onKeyDown={(event) => {
if (event.key === 'Enter') {
handleConfigExclusion(event, service, row, minAge, 'min_age');
}
}}
/>
</TableCell>
<TableCell align="center">
<TextField id="outlined-number" type="number" />
<TextField
id="outlined-number"
type="number"
onChange={(event) => {
handleMaxAge(event);
}}
onKeyDown={(event) => {
if (event.key === 'Enter') {
handleConfigExclusion(event, service, row, maxAge, 'max_age');
}
}}
/>
</TableCell>
<TableCell align="center">
<Autocomplete
id="combo-box-demo"
options={plans}
multiple
getOptionLabel={(option) => option.label}
style={{ width: 200 }}
renderInput={(params) => (
<TextField {...params} label="Plan" variant="outlined" />
)}
/>
</TableCell>
</TableRow>
))}