delete diagnosis exclusion

This commit is contained in:
pajri
2022-12-28 10:42:21 +07:00
parent 55ae0efc66
commit 1884d32c4b
3 changed files with 90 additions and 21 deletions

View File

@@ -29,6 +29,7 @@ class DiagnosisExclusionController extends Controller
$exclusions = Exclusion::query() $exclusions = Exclusion::query()
->where('corporate_id', $corporate_id) ->where('corporate_id', $corporate_id)
->where('type', 'diagnosis') ->where('type', 'diagnosis')
->where('deleted_at', null)
->with(['exclusionable', 'rules']) ->with(['exclusionable', 'rules'])
->filter($request->toArray()) ->filter($request->toArray())
->paginate(); ->paginate();
@@ -93,7 +94,13 @@ class DiagnosisExclusionController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
// $exclusion = Exclusion::findOrFail($id);
$exclusion->rules()->delete();
$exclusion->delete();
return response()->json([
'message' => 'Exclusion deleted successfully'
]);
} }
public function import(Request $request, $corporate_id) public function import(Request $request, $corporate_id)

View File

@@ -82,6 +82,7 @@ Route::prefix('internal')->group(function () {
Route::get('corporates/{corporate_id}/diagnosis-exclusions', [DiagnosisExclusionController::class, 'index']); Route::get('corporates/{corporate_id}/diagnosis-exclusions', [DiagnosisExclusionController::class, 'index']);
Route::post('corporates/{corporate_id}/diagnosis-exclusions/store', [DiagnosisExclusionController::class, 'storeExclusion']); Route::post('corporates/{corporate_id}/diagnosis-exclusions/store', [DiagnosisExclusionController::class, 'storeExclusion']);
Route::delete('diagnosis-exclusions/{id}', [DiagnosisExclusionController::class, 'destroy']);
Route::post('corporates/{corporate_id}/diagnosis-exclusions/import', [DiagnosisExclusionController::class, 'import']); Route::post('corporates/{corporate_id}/diagnosis-exclusions/import', [DiagnosisExclusionController::class, 'import']);
Route::get('corporates/{corporate_id}/services', [CorporateServiceController::class, 'index']); Route::get('corporates/{corporate_id}/services', [CorporateServiceController::class, 'index']);

View File

@@ -28,6 +28,8 @@ import {
ButtonGroup, ButtonGroup,
Dialog, Dialog,
DialogContent, DialogContent,
DialogContentText,
DialogActions,
DialogTitle, DialogTitle,
FormControl, FormControl,
FormControlLabel, FormControlLabel,
@@ -49,6 +51,7 @@ import { LaravelPaginatedData } from '../../../@types/paginated-data';
import { Icd } from '../../../@types/diagnosis'; import { Icd } from '../../../@types/diagnosis';
import BasePagination from '../../../components/BasePagination'; import BasePagination from '../../../components/BasePagination';
import { enqueueSnackbar } from 'notistack'; import { enqueueSnackbar } from 'notistack';
import { Icon } from '@iconify/react';
export default function List(props: any) { export default function List(props: any) {
const { themeStretch } = useSettings(); const { themeStretch } = useSettings();
@@ -284,6 +287,26 @@ export default function List(props: any) {
const { row, index, data } = props; const { row, index, data } = props;
const [open, setOpen] = React.useState(false); const [open, setOpen] = React.useState(false);
const [openDelete, setOpenDelete] = React.useState(false);
const handleDelete = (model: any) => {
axios
.delete(`/diagnosis-exclusions/${row.id}`)
.then((res) => {
setDataTableData({
...dataTableData,
data: dataTableData.data.filter((model) => model.id != row.id),
});
enqueueSnackbar('Data berhasil dihapus', { variant: 'success' });
})
.catch((error) => {
enqueueSnackbar(
error.response.data.message ?? error.message ?? 'Failed Processing Request',
{ variant: 'error' }
);
});
};
const [openEdit, setOpenEdit] = React.useState(false); const [openEdit, setOpenEdit] = React.useState(false);
console.log('open', open); console.log('open', open);
@@ -431,11 +454,6 @@ export default function List(props: any) {
<TableCell align="left">{row.name}</TableCell> <TableCell align="left">{row.name}</TableCell>
<TableCell align="left">{Object.keys(row.rules).length ? 'With Rules' : 'All'}</TableCell> <TableCell align="left">{Object.keys(row.rules).length ? 'With Rules' : 'All'}</TableCell>
<TableCell align="center">
<Button variant="outlined" color="success" size="small">
Active
</Button>
</TableCell>
<TableCell align="center"> <TableCell align="center">
{openEdit ? ( {openEdit ? (
<Button <Button
@@ -468,23 +486,17 @@ export default function List(props: any) {
Edit Edit
</Button> </Button>
)} )}
{/* <Button <Button
variant="outlined" variant="outlined"
color="success" color="error"
size="small" size="small"
sx={{ ml: 2 }}
onClick={() => { onClick={() => {
setOpenEdit(!openEdit); setOpenDelete(true);
if (open == false) {
setOpen(true);
}
}} }}
// onClick={() => {
// setOpenEdit(true);
// setOpen(true);
// }}
> >
{openEdit ? 'Save' : 'Edit'} Delete
</Button> */} </Button>
</TableCell> </TableCell>
</TableRow> </TableRow>
{/* COLLAPSIBLE ROW */} {/* COLLAPSIBLE ROW */}
@@ -716,6 +728,58 @@ export default function List(props: any) {
</Collapse> </Collapse>
</TableCell> </TableCell>
</TableRow> </TableRow>
<Dialog
open={openDelete}
onClose={() => {
setOpenDelete(false);
}}
aria-labelledby="alert-dialog-title"
aria-describedby="alert-dialog-description"
>
{/* <DialogTitle id="alert-dialog-title">{'Hapus Dokter'}</DialogTitle> */}
<DialogContent sx={{ p: 5 }}>
<Icon
icon="eva:trash-2-outline"
style={{
width: '100px',
height: '100px',
color: '#FF0000',
margin: 'auto',
display: 'block',
marginBottom: '20px',
alignContent: 'center',
}}
/>
<DialogContentText sx={{ fontWeight: 'bold', pb: 1 }} id="alert-dialog-title">
Apakah anda yakin ingin menghapus
</DialogContentText>
<Typography sx={{ fontWeight: 'bold' }} id="alert-dialog-title">
Exclusion ini?
</Typography>
</DialogContent>
<DialogActions>
<Button
onClick={() => {
setOpenDelete(false);
}}
color="primary"
variant="outlined"
>
Batal
</Button>
<Button
onClick={() => {
handleDelete(row.id);
}}
color="primary"
variant="contained"
autoFocus
>
Hapus
</Button>
</DialogActions>
</Dialog>
</React.Fragment> </React.Fragment>
); );
} }
@@ -797,9 +861,6 @@ export default function List(props: any) {
<TableCell style={headStyle} align="left"> <TableCell style={headStyle} align="left">
Rules Rules
</TableCell> </TableCell>
<TableCell style={headStyle} align="center">
Status
</TableCell>
<TableCell style={headStyle} align="center"> <TableCell style={headStyle} align="center">
Action Action
</TableCell> </TableCell>