From 1884d32c4bc2186cb7e86d1c4ed50b077fc20bf5 Mon Sep 17 00:00:00 2001 From: pajri Date: Wed, 28 Dec 2022 10:42:21 +0700 Subject: [PATCH] delete diagnosis exclusion --- .../Api/DiagnosisExclusionController.php | 9 +- Modules/Internal/Routes/api.php | 1 + .../Corporates/DiagnosisExclusion/List.tsx | 101 ++++++++++++++---- 3 files changed, 90 insertions(+), 21 deletions(-) diff --git a/Modules/Internal/Http/Controllers/Api/DiagnosisExclusionController.php b/Modules/Internal/Http/Controllers/Api/DiagnosisExclusionController.php index 1c4897e8..253b77f2 100755 --- a/Modules/Internal/Http/Controllers/Api/DiagnosisExclusionController.php +++ b/Modules/Internal/Http/Controllers/Api/DiagnosisExclusionController.php @@ -29,6 +29,7 @@ class DiagnosisExclusionController extends Controller $exclusions = Exclusion::query() ->where('corporate_id', $corporate_id) ->where('type', 'diagnosis') + ->where('deleted_at', null) ->with(['exclusionable', 'rules']) ->filter($request->toArray()) ->paginate(); @@ -93,7 +94,13 @@ class DiagnosisExclusionController extends Controller */ 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) diff --git a/Modules/Internal/Routes/api.php b/Modules/Internal/Routes/api.php index 99f427f6..4457bdbb 100755 --- a/Modules/Internal/Routes/api.php +++ b/Modules/Internal/Routes/api.php @@ -82,6 +82,7 @@ Route::prefix('internal')->group(function () { Route::get('corporates/{corporate_id}/diagnosis-exclusions', [DiagnosisExclusionController::class, 'index']); 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::get('corporates/{corporate_id}/services', [CorporateServiceController::class, 'index']); diff --git a/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx b/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx index 0fb034cf..e1d8d307 100755 --- a/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx +++ b/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx @@ -28,6 +28,8 @@ import { ButtonGroup, Dialog, DialogContent, + DialogContentText, + DialogActions, DialogTitle, FormControl, FormControlLabel, @@ -49,6 +51,7 @@ import { LaravelPaginatedData } from '../../../@types/paginated-data'; import { Icd } from '../../../@types/diagnosis'; import BasePagination from '../../../components/BasePagination'; import { enqueueSnackbar } from 'notistack'; +import { Icon } from '@iconify/react'; export default function List(props: any) { const { themeStretch } = useSettings(); @@ -284,6 +287,26 @@ export default function List(props: any) { const { row, index, data } = props; 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); console.log('open', open); @@ -431,11 +454,6 @@ export default function List(props: any) { {row.name} {Object.keys(row.rules).length ? 'With Rules' : 'All'} - - - {openEdit ? ( */} + Delete + {/* COLLAPSIBLE ROW */} @@ -716,6 +728,58 @@ export default function List(props: any) { + + { + setOpenDelete(false); + }} + aria-labelledby="alert-dialog-title" + aria-describedby="alert-dialog-description" + > + {/* {'Hapus Dokter'} */} + + + + Apakah anda yakin ingin menghapus + + + Exclusion ini? + + + + + + + ); } @@ -797,9 +861,6 @@ export default function List(props: any) { Rules - - Status - Action