add columns

This commit is contained in:
AmirHossein Mahmoodi
2025-03-09 16:41:52 +03:30
parent 7ad7324555
commit 6dbdb07dc7
6 changed files with 272 additions and 169 deletions

View File

@@ -32,10 +32,10 @@ const RegisterAction = ({ rowId, mutate, mutateParentTable }) => {
}) })
.then((res) => { .then((res) => {
mutate(); mutate();
mutateParentTable() mutateParentTable();
setOpenRegisterActionDialog(false); setOpenRegisterActionDialog(false);
}) })
.catch(() => { }); .catch(() => {});
}; };
return ( return (
<> <>

View File

@@ -9,7 +9,13 @@ const RowActions = ({ row, mutate, mutateParentTable }) => {
const hasActionPermission = userPermissions.includes("show-fast-react-edarate-shahri"); const hasActionPermission = userPermissions.includes("show-fast-react-edarate-shahri");
return ( return (
<Box sx={{ display: "flex", gap: 1 }}> <Box sx={{ display: "flex", gap: 1 }}>
{hasActionPermission && <RegisterAction mutate={mutate} mutateParentTable={mutateParentTable} rowId={row.getValue("road_observeds__id")} />} {hasActionPermission && (
<RegisterAction
mutate={mutate}
mutateParentTable={mutateParentTable}
rowId={row.getValue("road_observeds__id")}
/>
)}
<Refer rowId={row.getValue("road_observeds__id")} mutate={mutate} /> <Refer rowId={row.getValue("road_observeds__id")} mutate={mutate} />
<ReferList rowId={row.getValue("road_observeds__id")} /> <ReferList rowId={row.getValue("road_observeds__id")} />
</Box> </Box>

View File

@@ -128,44 +128,10 @@ const OperatorList = () => {
}, },
}, },
Cell: ({ row }) => { Cell: ({ row }) => {
if (!row.original.rms_start_latlng) return <>-</>; if (!row.original.lat) return <>-</>;
return ( return (
<Stack alignItems={"center"} justifyContent={"center"}> <Stack alignItems={"center"} justifyContent={"center"}>
<LocationForm <LocationForm start_lat={row.original.lat} start_lng={row.original.lng} />
start_lat={row.original.rms_start_latlng[0]}
start_lng={row.original.rms_start_latlng[1]}
/>
</Stack>
);
},
},
{
header: "تصاویر",
id: "images",
enableColumnFilter: false,
enableSorting: false,
datatype: "array",
grow: false,
size: 100,
muiTableBodyCellProps: {
sx: {
borderLeft: "1px solid #e1e1e1",
py: 0,
"&:first-of-type": {
borderLeft: "unset",
},
},
},
Cell: ({ row }) => {
if (!row.original?.image_before && !row.original?.image_after) return <>-ر</>;
return (
<Stack alignItems={"center"} justifyContent={"center"}>
{row.original?.image_before && row.original?.image_after && (
<ImageDialog
image_before={row.original?.image_before}
image_after={row.original?.image_after}
/>
)}
</Stack> </Stack>
); );
}, },
@@ -198,18 +164,21 @@ const OperatorList = () => {
], ],
}, },
{ {
accessorFn: (row) => { header: "اطلاعات اقدام",
return row.rms_last_activity id: "rms_register",
? moment(row?.rms_last_activity).locale("fa").format("HH:mm | yyyy/MM/DD") enableColumnFilter: false,
: "-"; enableSorting: false,
},
header: "تاریخ اقدام",
id: "rms_last_activity",
enableColumnFilter: true,
datatype: "date",
filterMode: "between",
grow: false, grow: false,
size: 100, size: 50,
columns: [
{
accessorFn: (row) => (row.rms_status == 1 ? "اقدام انجام شد" : "اقدام انجام نشد"),
header: "وضعیت اقدام",
id: "rms_register_status",
enableColumnFilter: false,
enableSorting: false,
grow: false,
size: 50,
}, },
{ {
accessorKey: "rms_description", accessorKey: "rms_description",
@@ -246,6 +215,82 @@ const OperatorList = () => {
return <Typography variant="body2">-</Typography>; return <Typography variant="body2">-</Typography>;
}, },
}, },
{
header: "تصاویر",
id: "rms_images",
enableColumnFilter: false,
enableSorting: false,
datatype: "array",
grow: false,
size: 100,
muiTableBodyCellProps: {
sx: {
borderLeft: "1px solid #e1e1e1",
py: 0,
"&:first-of-type": {
borderLeft: "unset",
},
},
},
Cell: ({ row }) => {
if (!row.original?.image_before && !row.original?.image_after) return <>-</>;
return (
<Stack alignItems={"center"} justifyContent={"center"}>
{row.original?.image_before && row.original?.image_after && (
<ImageDialog
image_before={row.original?.image_before}
image_after={row.original?.image_after}
/>
)}
</Stack>
);
},
},
{
header: "موقعیت",
id: "rms_location",
enableColumnFilter: false,
enableSorting: false,
datatype: "array",
grow: false,
size: 100,
muiTableBodyCellProps: {
sx: {
borderLeft: "1px solid #e1e1e1",
py: 0,
"&:first-of-type": {
borderLeft: "unset",
},
},
},
Cell: ({ row }) => {
if (!row.original.rms_start_latlng) return <>-</>;
return (
<Stack alignItems={"center"} justifyContent={"center"}>
<LocationForm
start_lat={row.original.rms_start_latlng[0]}
start_lng={row.original.rms_start_latlng[1]}
/>
</Stack>
);
},
},
{
accessorFn: (row) => {
return row.rms_last_activity
? moment(row?.rms_last_activity).locale("fa").format("HH:mm | yyyy/MM/DD")
: "-";
},
header: "تاریخ اقدام",
id: "rms_last_activity",
enableColumnFilter: true,
datatype: "date",
filterMode: "between",
grow: false,
size: 100,
},
],
},
{ {
accessorKey: "status", accessorKey: "status",
header: "وضعیت نظارت", header: "وضعیت نظارت",
@@ -311,7 +356,7 @@ const OperatorList = () => {
columns={columns} columns={columns}
sorting={[ sorting={[
{ id: "status", desc: true }, { id: "status", desc: true },
{ id: "id", desc: true }, { id: "road_observeds__id", desc: true },
]} ]}
table_url={GET_FAST_REACT_OPERATOR} table_url={GET_FAST_REACT_OPERATOR}
page_name={"fastReactOperator"} page_name={"fastReactOperator"}

View File

@@ -229,44 +229,10 @@ const SupervisorList = () => {
}, },
}, },
Cell: ({ row }) => { Cell: ({ row }) => {
if (!row.original.rms_start_latlng) return <>-</>; if (!row.original.lat) return <>-</>;
return ( return (
<Stack alignItems={"center"} justifyContent={"center"}> <Stack alignItems={"center"} justifyContent={"center"}>
<LocationForm <LocationForm start_lat={row.original.lat} start_lng={row.original.lng} />
start_lat={row.original.rms_start_latlng[0]}
start_lng={row.original.rms_start_latlng[1]}
/>
</Stack>
);
},
},
{
header: "تصاویر",
id: "images",
enableColumnFilter: false,
enableSorting: false,
datatype: "array",
grow: false,
size: 100,
muiTableBodyCellProps: {
sx: {
borderLeft: "1px solid #e1e1e1",
py: 0,
"&:first-of-type": {
borderLeft: "unset",
},
},
},
Cell: ({ row }) => {
if (!row.original?.image_before && !row.original?.image_after) return <>-</>;
return (
<Stack alignItems={"center"} justifyContent={"center"}>
{row.original?.image_before && row.original?.image_after && (
<ImageDialog
image_before={row.original?.image_before}
image_after={row.original?.image_after}
/>
)}
</Stack> </Stack>
); );
}, },
@@ -299,18 +265,21 @@ const SupervisorList = () => {
], ],
}, },
{ {
accessorFn: (row) => { header: "اطلاعات اقدام",
return row.rms_last_activity id: "rms_register",
? moment(row?.rms_last_activity).locale("fa").format("HH:mm | yyyy/MM/DD") enableColumnFilter: false,
: "-"; enableSorting: false,
},
header: "تاریخ اقدام",
id: "rms_last_activity",
enableColumnFilter: true,
datatype: "date",
filterMode: "between",
grow: false, grow: false,
size: 100, size: 50,
columns: [
{
accessorFn: (row) => (row.rms_status == 1 ? "اقدام انجام شد" : "اقدام انجام نشد"),
header: "وضعیت اقدام",
id: "rms_register_status",
enableColumnFilter: false,
enableSorting: false,
grow: false,
size: 50,
}, },
{ {
accessorKey: "rms_description", accessorKey: "rms_description",
@@ -347,7 +316,82 @@ const SupervisorList = () => {
return <Typography variant="body2">-</Typography>; return <Typography variant="body2">-</Typography>;
}, },
}, },
{
header: "تصاویر",
id: "rms_images",
enableColumnFilter: false,
enableSorting: false,
datatype: "array",
grow: false,
size: 100,
muiTableBodyCellProps: {
sx: {
borderLeft: "1px solid #e1e1e1",
py: 0,
"&:first-of-type": {
borderLeft: "unset",
},
},
},
Cell: ({ row }) => {
if (!row.original?.image_before && !row.original?.image_after) return <>-</>;
return (
<Stack alignItems={"center"} justifyContent={"center"}>
{row.original?.image_before && row.original?.image_after && (
<ImageDialog
image_before={row.original?.image_before}
image_after={row.original?.image_after}
/>
)}
</Stack>
);
},
},
{
header: "موقعیت",
id: "rms_location",
enableColumnFilter: false,
enableSorting: false,
datatype: "array",
grow: false,
size: 100,
muiTableBodyCellProps: {
sx: {
borderLeft: "1px solid #e1e1e1",
py: 0,
"&:first-of-type": {
borderLeft: "unset",
},
},
},
Cell: ({ row }) => {
if (!row.original.rms_start_latlng) return <>-</>;
return (
<Stack alignItems={"center"} justifyContent={"center"}>
<LocationForm
start_lat={row.original.rms_start_latlng[0]}
start_lng={row.original.rms_start_latlng[1]}
/>
</Stack>
);
},
},
{
accessorFn: (row) => {
return row.rms_last_activity
? moment(row?.rms_last_activity).locale("fa").format("HH:mm | yyyy/MM/DD")
: "-";
},
header: "تاریخ اقدام",
id: "rms_last_activity",
enableColumnFilter: true,
datatype: "date",
filterMode: "between",
grow: false,
size: 100,
},
],
},
{ {
accessorKey: "status", accessorKey: "status",
header: "وضعیت نظارت", header: "وضعیت نظارت",
@@ -412,7 +456,7 @@ const SupervisorList = () => {
columns={columns} columns={columns}
sorting={[ sorting={[
{ id: "status", desc: false }, { id: "status", desc: false },
{ id: "id", desc: true }, { id: "road_observeds__id", desc: true },
]} ]}
table_url={GET_FAST_REACT_SUPERVISOR} table_url={GET_FAST_REACT_SUPERVISOR}
page_name={"fastReactSupervisor"} page_name={"fastReactSupervisor"}

View File

@@ -60,7 +60,15 @@ const DataTable_Main = (props) => {
const filteredFilterData = DataTableFilterDataStructure(filterData, isArrayEmpty); const filteredFilterData = DataTableFilterDataStructure(filterData, isArrayEmpty);
params.set("filters", JSON.stringify(filteredFilterData.length === 0 ? [] : filteredFilterData)); params.set("filters", JSON.stringify(filteredFilterData.length === 0 ? [] : filteredFilterData));
} }
params.set("sorting", JSON.stringify(sortData)); params.set(
"sorting",
JSON.stringify(
Object.values(sortData).map(({ id, ...rest }) => ({
...rest,
id: id.replace(/__/g, "."),
}))
)
);
return `${table_url}?${params}`; return `${table_url}?${params}`;
}, [table_url, filterData, pagination, sortData, specialFilter]); }, [table_url, filterData, pagination, sortData, specialFilter]);