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

@@ -115,8 +115,8 @@ const ComplaintListTable = ({ open, setOpen, mutate }) => {
props.dependencyFieldValue?.value === ""
? "empty"
: loadingEdaratList
? "loading"
: props.filterParameters.value
? "loading"
: props.filterParameters.value
}
columnSelectOption={getColumnSelectOptions}
/>

View File

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

View File

@@ -9,7 +9,13 @@ const RowActions = ({ row, mutate, mutateParentTable }) => {
const hasActionPermission = userPermissions.includes("show-fast-react-edarate-shahri");
return (
<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} />
<ReferList rowId={row.getValue("road_observeds__id")} />
</Box>

View File

@@ -128,44 +128,10 @@ const OperatorList = () => {
},
},
Cell: ({ row }) => {
if (!row.original.rms_start_latlng) return <>-</>;
if (!row.original.lat) 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>
);
},
},
{
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}
/>
)}
<LocationForm start_lat={row.original.lat} start_lng={row.original.lng} />
</Stack>
);
},
@@ -198,53 +164,132 @@ const OperatorList = () => {
],
},
{
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: "rms_description",
header: "توضیح مامور",
id: "rms_description",
header: "اطلاعات اقدام",
id: "rms_register",
enableColumnFilter: false,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
enableSorting: false,
grow: false,
size: 100,
muiTableBodyCellProps: {
sx: {
borderLeft: "1px solid #e1e1e1",
py: 0,
"&:first-of-type": {
borderLeft: "unset",
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",
header: "توضیح مامور",
id: "rms_description",
enableColumnFilter: false,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
muiTableBodyCellProps: {
sx: {
borderLeft: "1px solid #e1e1e1",
py: 0,
"&:first-of-type": {
borderLeft: "unset",
},
},
},
Cell: ({ renderedCellValue }) => {
if (renderedCellValue) {
return (
<Stack alignItems={"center"} justifyContent={"center"}>
<DescriptionForm
description={renderedCellValue}
title={"توضیحات مامور"}
icon={EngineeringIcon}
/>
</Stack>
);
}
return <Typography variant="body2">-</Typography>;
},
},
},
Cell: ({ renderedCellValue }) => {
if (renderedCellValue) {
return (
<Stack alignItems={"center"} justifyContent={"center"}>
<DescriptionForm
description={renderedCellValue}
title={"توضیحات مامور"}
icon={EngineeringIcon}
/>
</Stack>
);
}
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",
@@ -311,7 +356,7 @@ const OperatorList = () => {
columns={columns}
sorting={[
{ id: "status", desc: true },
{ id: "id", desc: true },
{ id: "road_observeds__id", desc: true },
]}
table_url={GET_FAST_REACT_OPERATOR}
page_name={"fastReactOperator"}

View File

@@ -127,8 +127,8 @@ const SupervisorList = () => {
props.dependencyFieldValue?.value === ""
? "empty"
: loadingEdaratList
? "loading"
: props.filterParameters.value
? "loading"
: props.filterParameters.value
}
columnSelectOption={getColumnSelectOptions}
/>
@@ -229,44 +229,10 @@ const SupervisorList = () => {
},
},
Cell: ({ row }) => {
if (!row.original.rms_start_latlng) return <>-</>;
if (!row.original.lat) 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>
);
},
},
{
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}
/>
)}
<LocationForm start_lat={row.original.lat} start_lng={row.original.lng} />
</Stack>
);
},
@@ -299,55 +265,133 @@ const SupervisorList = () => {
],
},
{
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: "rms_description",
header: "توضیح مامور",
id: "rms_description",
header: "اطلاعات اقدام",
id: "rms_register",
enableColumnFilter: false,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
enableSorting: false,
grow: false,
size: 100,
muiTableBodyCellProps: {
sx: {
borderLeft: "1px solid #e1e1e1",
py: 0,
"&:first-of-type": {
borderLeft: "unset",
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",
header: "توضیح مامور",
id: "rms_description",
enableColumnFilter: false,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
muiTableBodyCellProps: {
sx: {
borderLeft: "1px solid #e1e1e1",
py: 0,
"&:first-of-type": {
borderLeft: "unset",
},
},
},
Cell: ({ renderedCellValue }) => {
if (renderedCellValue) {
return (
<Stack alignItems={"center"} justifyContent={"center"}>
<DescriptionForm
description={renderedCellValue}
title={"توضیحات مامور"}
icon={EngineeringIcon}
/>
</Stack>
);
}
return <Typography variant="body2">-</Typography>;
},
},
},
Cell: ({ renderedCellValue }) => {
if (renderedCellValue) {
return (
<Stack alignItems={"center"} justifyContent={"center"}>
<DescriptionForm
description={renderedCellValue}
title={"توضیحات مامور"}
icon={EngineeringIcon}
/>
</Stack>
);
}
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",
header: "وضعیت نظارت",
@@ -412,7 +456,7 @@ const SupervisorList = () => {
columns={columns}
sorting={[
{ id: "status", desc: false },
{ id: "id", desc: true },
{ id: "road_observeds__id", desc: true },
]}
table_url={GET_FAST_REACT_SUPERVISOR}
page_name={"fastReactSupervisor"}

View File

@@ -60,7 +60,15 @@ const DataTable_Main = (props) => {
const filteredFilterData = DataTableFilterDataStructure(filterData, isArrayEmpty);
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}`;
}, [table_url, filterData, pagination, sortData, specialFilter]);