Merge branch 'feature/restore_fast_react_#86c24bdcu' into 'develop'
Resolve #86c24bdcu "Feature/restore fast react " See merge request witel-front-end/rms!78
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import { RESTORE_FAST_REACT } from "@/core/utils/routes";
|
||||
import useRequest from "@/lib/hooks/useRequest";
|
||||
import { Button, DialogActions, DialogContent, Stack, Typography } from "@mui/material";
|
||||
import { useState } from "react";
|
||||
|
||||
const RestoreContent = ({ rowId, mutate, setOpenRestoreDialog }) => {
|
||||
const [submitting, setSubmitting] = useState(false);
|
||||
const requestServer = useRequest({ notificationSuccess: true });
|
||||
const handleClick = () => {
|
||||
setSubmitting(true);
|
||||
requestServer(`${RESTORE_FAST_REACT}/${rowId}`, "post")
|
||||
.then(() => {
|
||||
mutate();
|
||||
setOpenRestoreDialog(false);
|
||||
setSubmitting(false);
|
||||
})
|
||||
.catch(() => {
|
||||
setSubmitting(false);
|
||||
});
|
||||
};
|
||||
return (
|
||||
<>
|
||||
<DialogContent>
|
||||
<Stack alignItems="center" spacing={2}>
|
||||
<Typography textAlign="center" fontWeight="bold" fontSize="16px" mt={2}>
|
||||
آیا از بازگردانی فعالیت اطمینان دارید؟
|
||||
</Typography>
|
||||
</Stack>
|
||||
</DialogContent>
|
||||
<DialogActions sx={{ justifyContent: "center", paddingBottom: 2, width: "100%" }}>
|
||||
<Button onClick={() => setOpenRestoreDialog(false)} variant="contained" color="error">
|
||||
خیر !
|
||||
</Button>
|
||||
<Button onClick={handleClick} variant="contained" color="primary" disabled={submitting}>
|
||||
{submitting ? "درحال ارسال اطلاعات..." : "بله اطمینان دارم"}
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default RestoreContent;
|
||||
@@ -0,0 +1,32 @@
|
||||
import React, { useState } from "react";
|
||||
import { Tooltip, IconButton, Dialog, DialogTitle } from "@mui/material";
|
||||
import ReplyIcon from "@mui/icons-material/Reply";
|
||||
import RestoreContent from "./RestoreContent";
|
||||
const RestoreForm = ({ rowId, mutate }) => {
|
||||
const [openRestoreDialog, setOpenRestoreDialog] = useState(false);
|
||||
|
||||
return (
|
||||
<>
|
||||
<Tooltip title="بازگردانی">
|
||||
<IconButton color="primary" onClick={() => setOpenRestoreDialog(true)}>
|
||||
<ReplyIcon />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
<Dialog
|
||||
open={openRestoreDialog}
|
||||
onClose={() => setOpenRestoreDialog(false)}
|
||||
PaperProps={{
|
||||
sx: {
|
||||
boxShadow: "rgba(60, 64, 67, 0.3) 0px 1px 16px 0px, rgba(60, 64, 67, 0.15) 0px 1px 10px 0px",
|
||||
},
|
||||
}}
|
||||
dir="rtl"
|
||||
maxWidth={"md"}
|
||||
>
|
||||
<DialogTitle>بازگردانی فعالیت</DialogTitle>
|
||||
<RestoreContent rowId={rowId} mutate={mutate} setOpenRestoreDialog={setOpenRestoreDialog} />
|
||||
</Dialog>
|
||||
</>
|
||||
);
|
||||
};
|
||||
export default RestoreForm;
|
||||
@@ -2,12 +2,14 @@ import { Box } from "@mui/material";
|
||||
import ConfirmForm from "./ConfirmDialog";
|
||||
import RejectForm from "./RejectDialog";
|
||||
import { usePermissions } from "@/lib/hooks/usePermissions";
|
||||
import RestoreForm from "./RestoreForm";
|
||||
|
||||
const RowActions = ({ row, mutate }) => {
|
||||
const { data: userPermissions } = usePermissions();
|
||||
const hasSupervisePermission = userPermissions.some((item) =>
|
||||
["supervise-fast-react", "supervise-fast-react-province"].includes(item)
|
||||
);
|
||||
const hasRestorePermission = userPermissions.includes("restore-fast-react");
|
||||
return (
|
||||
<Box sx={{ display: "flex", gap: 1 }}>
|
||||
{hasSupervisePermission && row.original?.status === 0 && (
|
||||
@@ -16,6 +18,7 @@ const RowActions = ({ row, mutate }) => {
|
||||
{hasSupervisePermission && row.original?.status === 0 && (
|
||||
<RejectForm rowId={row.getValue("id")} mutate={mutate} />
|
||||
)}
|
||||
{hasRestorePermission && <RestoreForm rowId={row.getValue("id")} mutate={mutate} />}
|
||||
</Box>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -119,3 +119,4 @@ export const REJECT_BY_FAST_REACT_SUPERVISOR = api + "/api/v3/road_observations/
|
||||
export const GET_FAST_REACT_OPERATOR = api + "/api/v3/road_observations/operator_index";
|
||||
export const GET_FAST_REACT_REFER_LIST = api + "/api/v3/road_observations/refer_list";
|
||||
export const REFER_FAST_REACT = api + "/api/v3/road_observations/refer";
|
||||
export const RESTORE_FAST_REACT = api + "/api/v3/road_observations/restore";
|
||||
|
||||
Reference in New Issue
Block a user