From 6dbdb07dc747a0f58bf2f3bc1271e82d75536747 Mon Sep 17 00:00:00 2001 From: AmirHossein Mahmoodi Date: Sun, 9 Mar 2025 16:41:52 +0330 Subject: [PATCH] add columns --- .../complaintList/ComplaintListTable.jsx | 4 +- .../Form/registerAction/index.jsx | 4 +- .../complaintList/RowActions/index.jsx | 8 +- .../fastReact/operator/OperatorList.jsx | 205 ++++++++++------- .../fastReact/supervisor/SupervisorList.jsx | 210 +++++++++++------- src/core/components/DataTable/Main.js | 10 +- 6 files changed, 272 insertions(+), 169 deletions(-) diff --git a/src/components/dashboard/fastReact/complaintList/ComplaintListTable.jsx b/src/components/dashboard/fastReact/complaintList/ComplaintListTable.jsx index f6d674d..4ca8402 100644 --- a/src/components/dashboard/fastReact/complaintList/ComplaintListTable.jsx +++ b/src/components/dashboard/fastReact/complaintList/ComplaintListTable.jsx @@ -115,8 +115,8 @@ const ComplaintListTable = ({ open, setOpen, mutate }) => { props.dependencyFieldValue?.value === "" ? "empty" : loadingEdaratList - ? "loading" - : props.filterParameters.value + ? "loading" + : props.filterParameters.value } columnSelectOption={getColumnSelectOptions} /> diff --git a/src/components/dashboard/fastReact/complaintList/Form/registerAction/index.jsx b/src/components/dashboard/fastReact/complaintList/Form/registerAction/index.jsx index 72d0096..168acb3 100644 --- a/src/components/dashboard/fastReact/complaintList/Form/registerAction/index.jsx +++ b/src/components/dashboard/fastReact/complaintList/Form/registerAction/index.jsx @@ -32,10 +32,10 @@ const RegisterAction = ({ rowId, mutate, mutateParentTable }) => { }) .then((res) => { mutate(); - mutateParentTable() + mutateParentTable(); setOpenRegisterActionDialog(false); }) - .catch(() => { }); + .catch(() => {}); }; return ( <> diff --git a/src/components/dashboard/fastReact/complaintList/RowActions/index.jsx b/src/components/dashboard/fastReact/complaintList/RowActions/index.jsx index 967508f..081a536 100644 --- a/src/components/dashboard/fastReact/complaintList/RowActions/index.jsx +++ b/src/components/dashboard/fastReact/complaintList/RowActions/index.jsx @@ -9,7 +9,13 @@ const RowActions = ({ row, mutate, mutateParentTable }) => { const hasActionPermission = userPermissions.includes("show-fast-react-edarate-shahri"); return ( - {hasActionPermission && } + {hasActionPermission && ( + + )} diff --git a/src/components/dashboard/fastReact/operator/OperatorList.jsx b/src/components/dashboard/fastReact/operator/OperatorList.jsx index db20d6c..925d89e 100644 --- a/src/components/dashboard/fastReact/operator/OperatorList.jsx +++ b/src/components/dashboard/fastReact/operator/OperatorList.jsx @@ -128,44 +128,10 @@ const OperatorList = () => { }, }, Cell: ({ row }) => { - if (!row.original.rms_start_latlng) return <>-; + if (!row.original.lat) return <>-; return ( - - - ); - }, - }, - { - 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 ( - - {row.original?.image_before && row.original?.image_after && ( - - )} + ); }, @@ -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 ( + + + + ); + } + return -; }, }, - }, - Cell: ({ renderedCellValue }) => { - if (renderedCellValue) { - return ( - - - - ); - } - return -; - }, + { + 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 ( + + {row.original?.image_before && row.original?.image_after && ( + + )} + + ); + }, + }, + { + 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 ( + + + + ); + }, + }, + { + 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"} diff --git a/src/components/dashboard/fastReact/supervisor/SupervisorList.jsx b/src/components/dashboard/fastReact/supervisor/SupervisorList.jsx index 61e7899..b10eade 100644 --- a/src/components/dashboard/fastReact/supervisor/SupervisorList.jsx +++ b/src/components/dashboard/fastReact/supervisor/SupervisorList.jsx @@ -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 ( - - - ); - }, - }, - { - 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 ( - - {row.original?.image_before && row.original?.image_after && ( - - )} + ); }, @@ -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 ( + + + + ); + } + return -; }, }, - }, - Cell: ({ renderedCellValue }) => { - if (renderedCellValue) { - return ( - - - - ); - } - return -; - }, + { + 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 ( + + {row.original?.image_before && row.original?.image_after && ( + + )} + + ); + }, + }, + { + 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 ( + + + + ); + }, + }, + { + 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"} diff --git a/src/core/components/DataTable/Main.js b/src/core/components/DataTable/Main.js index 31ff02c..efad5a0 100644 --- a/src/core/components/DataTable/Main.js +++ b/src/core/components/DataTable/Main.js @@ -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]);