diff --git a/src/components/dashboard/roadItems/operator/OperatorList.jsx b/src/components/dashboard/roadItems/operator/OperatorList.jsx
index 33b37c6..793b1e6 100644
--- a/src/components/dashboard/roadItems/operator/OperatorList.jsx
+++ b/src/components/dashboard/roadItems/operator/OperatorList.jsx
@@ -156,9 +156,8 @@ const OperatorList = () => {
},
},
{
- accessorKey: "files",
- header: "تصاویر", // Images
- id: "files",
+ header: "تصاویر",
+ id: "images",
enableColumnFilter: false,
enableSorting: false,
datatype: "array",
@@ -173,23 +172,15 @@ const OperatorList = () => {
},
},
},
- Cell: ({ renderedCellValue }) => {
- if (renderedCellValue.length > 0) {
- return (
-
-
-
- );
- }
+ Cell: ({ renderedCellValue, row }) => {
return (
-
- بدون تصویر
-
+
+
+
);
},
},
{
- accessorKey: "location",
header: "موقعیت", // Location
id: "location",
enableColumnFilter: false,
@@ -220,8 +211,7 @@ const OperatorList = () => {
},
},
{
- accessorKey: "cmms_machines",
- header: "خودرو ها", // Car ID
+ header: "خودرو ها",
id: "cmmsMachines__machine_code",
enableColumnFilter: true,
datatype: "text",
@@ -239,19 +229,15 @@ const OperatorList = () => {
},
},
},
- Cell: ({ renderedCellValue }) => {
- if (renderedCellValue) {
- return (
-
-
-
- );
- }
- return خودرویی وجود ندارد;
+ Cell: ({ renderedCellValue, row }) => {
+ return (
+
+
+
+ );
},
},
{
- accessorKey: "rahdaran",
header: "راهداران",
id: "rahdaran__code",
enableColumnFilter: true,
@@ -270,10 +256,10 @@ const OperatorList = () => {
},
},
},
- Cell: ({ renderedCellValue }) => {
+ Cell: ({ renderedCellValue, row }) => {
return (
-
+
);
},
diff --git a/src/components/dashboard/roadItems/operator/RowActions/EditForm/EditController.jsx b/src/components/dashboard/roadItems/operator/RowActions/EditForm/EditController.jsx
index 164fc70..bb235a1 100644
--- a/src/components/dashboard/roadItems/operator/RowActions/EditForm/EditController.jsx
+++ b/src/components/dashboard/roadItems/operator/RowActions/EditForm/EditController.jsx
@@ -1,19 +1,77 @@
-import { Dialog, DialogTitle } from "@mui/material";
+import { GET_CMMS_MACHINE_ROAD_ITEM, UPDATE_ROAD_ITEMS } from "@/core/utils/routes";
+import { Dialog, DialogTitle, Typography } from "@mui/material";
import EditFormContent from "./EditFormContent";
-import { UPDATE_ROAD_ITEMS } from "@/core/utils/routes";
import useRequest from "@/lib/hooks/useRequest";
+import { useEffect, useState } from "react";
+import DialogLoading from "@/core/components/DialogLoading";
const EditController = ({ rowId, mutate, setOpenEditDialog, openEditDialog, row }) => {
- const requestServer = useRequest({ notificationSuccess: true });
+ const requestServer = useRequest();
+ const [loadingImages, setLoadingImages] = useState(true);
+ const [images, setImages] = useState(null);
+ const [loadingCmmsMachine, setLoadingCmmsMachine] = useState(true);
+ const [cmmsMachine, setCmmsMachine] = useState(null);
+ const [loadingRahdaran, setLoadingRahdaran] = useState(true);
+ const [rahdaran, setRahdaran] = useState(null);
+
+ useEffect(() => {
+ const fetchData = async () => {
+ try {
+ setLoadingImages(true);
+ const response = await requestServer(`${GET_IMAGES_ROAD_ITEM}/${rowId}`);
+ setImages(response.data);
+ } catch (error) {
+ } finally {
+ setLoadingImages(false);
+ }
+ };
+
+ fetchData();
+ }, [rowId]);
+
+ useEffect(() => {
+ const fetchData = async () => {
+ try {
+ setLoadingCmmsMachine(true);
+ const response = await requestServer(`${GET_CMMS_MACHINE_ROAD_ITEM}/${rowId}`);
+ setCmmsMachine(response.data);
+ } catch (error) {
+ } finally {
+ setLoadingCmmsMachine(false);
+ }
+ };
+
+ fetchData();
+ }, [rowId]);
+
+ useEffect(() => {
+ const fetchData = async () => {
+ try {
+ setLoadingRahdaran(true);
+ const response = await requestServer(`${GET_RAHDARAN_ROAD_ITEM}/${rowId}`);
+ setRahdaran(response.data);
+ } catch (error) {
+ } finally {
+ setLoadingRahdaran(false);
+ }
+ };
+
+ fetchData();
+ }, [rowId]);
const HandleSubmit = async ({ result }) => {
const formData = new FormData();
for (const [key, value] of Object.entries(result)) {
formData.append(key, value);
}
- await requestServer(`${UPDATE_ROAD_ITEMS}/${rowId}`, "post", {
- data: formData,
- })
+ await requestServer(
+ `${UPDATE_ROAD_ITEMS}/${rowId}`,
+ "post",
+ {
+ data: formData,
+ },
+ { notificationSuccess: true }
+ )
.then((response) => {
mutate();
setOpenEditDialog(false);
@@ -21,34 +79,28 @@ const EditController = ({ rowId, mutate, setOpenEditDialog, openEditDialog, row
.catch((error) => {});
};
- return (
-
+ ) : images && cmmsMachine && rahdaran ? (
+
- ویرایش اطلاعات
-
-
+ />
+ ) : (
+
+ تمامی اطلاعات یافت نشد!
+
);
};
export default EditController;
diff --git a/src/components/dashboard/roadItems/operator/RowActions/EditForm/EditFormContent.jsx b/src/components/dashboard/roadItems/operator/RowActions/EditForm/EditFormContent.jsx
index d8b8dc3..c49d50d 100644
--- a/src/components/dashboard/roadItems/operator/RowActions/EditForm/EditFormContent.jsx
+++ b/src/components/dashboard/roadItems/operator/RowActions/EditForm/EditFormContent.jsx
@@ -1,7 +1,6 @@
-import { LinearProgress, Typography } from "@mui/material";
-import React from "react";
-import useRoadItemGetISubtems from "@/lib/hooks/useRoadItemGetISubtems";
import EditFormCreate from "@/components/dashboard/roadItems/operator/RowActions/EditForm/EditFormCreate";
+import useRoadItemGetISubtems from "@/lib/hooks/useRoadItemGetISubtems";
+import { LinearProgress, Typography } from "@mui/material";
const EditFormContent = ({ setOpenEditDialog, onSubmit, defaultData, is_gasht }) => {
const { subItemsList, loadingSubItemsList, errorSubItemsList } = useRoadItemGetISubtems(defaultData?.item_id);
diff --git a/src/components/dashboard/roadItems/operator/RowActions/EditForm/index.jsx b/src/components/dashboard/roadItems/operator/RowActions/EditForm/index.jsx
index 9302918..2cc378d 100644
--- a/src/components/dashboard/roadItems/operator/RowActions/EditForm/index.jsx
+++ b/src/components/dashboard/roadItems/operator/RowActions/EditForm/index.jsx
@@ -19,13 +19,27 @@ const EditForm = ({ row, mutate, rowId }) => {
-
+
>
);
};
diff --git a/src/components/dashboard/roadItems/operator/RowActions/ImageForm/ImagesContent.jsx b/src/components/dashboard/roadItems/operator/RowActions/ImageForm/ImagesContent.jsx
new file mode 100644
index 0000000..6414e24
--- /dev/null
+++ b/src/components/dashboard/roadItems/operator/RowActions/ImageForm/ImagesContent.jsx
@@ -0,0 +1,43 @@
+import { useEffect, useState } from "react";
+import ImageFormContent from "./ImageFormContent";
+import DialogLoading from "@/core/components/DialogLoading";
+import useRequest from "@/lib/hooks/useRequest";
+import { GET_IMAGES_ROAD_ITEM } from "@/core/utils/routes";
+import { Typography } from "@mui/material";
+
+const ImagesContent = ({ rowId }) => {
+ const [loading, setLoading] = useState(true);
+ const [data, setData] = useState(null);
+ const request = useRequest();
+
+ useEffect(() => {
+ const fetchData = async () => {
+ try {
+ setLoading(true);
+ const response = await request(`${GET_IMAGES_ROAD_ITEM}/${rowId}`);
+ setData(response.data.data);
+ } catch (error) {
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ fetchData();
+ }, [rowId]);
+
+ return (
+ <>
+ {loading ? (
+
+ ) : data ? (
+ <>
+
+
+ >
+ ) : (
+ تصویری در سامانه یافت نشد
+ )}
+ >
+ );
+};
+export default ImagesContent;
diff --git a/src/components/dashboard/roadItems/operator/RowActions/ImageForm/index.jsx b/src/components/dashboard/roadItems/operator/RowActions/ImageForm/index.jsx
index 130f443..08e9cd9 100644
--- a/src/components/dashboard/roadItems/operator/RowActions/ImageForm/index.jsx
+++ b/src/components/dashboard/roadItems/operator/RowActions/ImageForm/index.jsx
@@ -1,9 +1,9 @@
-import { Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, Paper, Tooltip } from "@mui/material";
-import { useState } from "react";
import PhotoLibraryIcon from "@mui/icons-material/PhotoLibrary";
-import ImageFormContent from "./ImageFormContent";
+import { Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, Tooltip } from "@mui/material";
+import { useState } from "react";
+import ImagesContent from "./ImagesContent";
-const ImageDialog = ({ images }) => {
+const ImageDialog = ({ rowId }) => {
const [openImageDialog, setOpenImageDialog] = useState(false);
return (
@@ -26,12 +26,7 @@ const ImageDialog = ({ images }) => {
scroll="paper"
>
تصاویر
-
-
-
-
-
-
+ {openImageDialog && }