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 ConfirmForm from "./ConfirmDialog";
|
||||||
import RejectForm from "./RejectDialog";
|
import RejectForm from "./RejectDialog";
|
||||||
import { usePermissions } from "@/lib/hooks/usePermissions";
|
import { usePermissions } from "@/lib/hooks/usePermissions";
|
||||||
|
import RestoreForm from "./RestoreForm";
|
||||||
|
|
||||||
const RowActions = ({ row, mutate }) => {
|
const RowActions = ({ row, mutate }) => {
|
||||||
const { data: userPermissions } = usePermissions();
|
const { data: userPermissions } = usePermissions();
|
||||||
const hasSupervisePermission = userPermissions.some((item) =>
|
const hasSupervisePermission = userPermissions.some((item) =>
|
||||||
["supervise-fast-react", "supervise-fast-react-province"].includes(item)
|
["supervise-fast-react", "supervise-fast-react-province"].includes(item)
|
||||||
);
|
);
|
||||||
|
const hasRestorePermission = userPermissions.includes("restore-fast-react");
|
||||||
return (
|
return (
|
||||||
<Box sx={{ display: "flex", gap: 1 }}>
|
<Box sx={{ display: "flex", gap: 1 }}>
|
||||||
{hasSupervisePermission && row.original?.status === 0 && (
|
{hasSupervisePermission && row.original?.status === 0 && (
|
||||||
@@ -16,6 +18,7 @@ const RowActions = ({ row, mutate }) => {
|
|||||||
{hasSupervisePermission && row.original?.status === 0 && (
|
{hasSupervisePermission && row.original?.status === 0 && (
|
||||||
<RejectForm rowId={row.getValue("id")} mutate={mutate} />
|
<RejectForm rowId={row.getValue("id")} mutate={mutate} />
|
||||||
)}
|
)}
|
||||||
|
{hasRestorePermission && <RestoreForm rowId={row.getValue("id")} mutate={mutate} />}
|
||||||
</Box>
|
</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_OPERATOR = api + "/api/v3/road_observations/operator_index";
|
||||||
export const GET_FAST_REACT_REFER_LIST = api + "/api/v3/road_observations/refer_list";
|
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 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