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 ? (
{/* COLLAPSIBLE ROW */}
@@ -716,6 +728,58 @@ export default function List(props: any) {
+
+
);
}
@@ -797,9 +861,6 @@ export default function List(props: any) {
Rules
-
- Status
-
Action