diff --git a/src/components/dashboard/roadSafety/operator/OperatorList.jsx b/src/components/dashboard/roadSafety/operator/OperatorList.jsx
index facec54..865b3d2 100644
--- a/src/components/dashboard/roadSafety/operator/OperatorList.jsx
+++ b/src/components/dashboard/roadSafety/operator/OperatorList.jsx
@@ -19,7 +19,8 @@ import useSafetyAndPrivacyGetItems from "@/lib/hooks/useSafetyAndPrivacyGetItems
const OperatorList = () => {
const { data: userPermissions } = usePermissions();
- const hasCountryPermission = userPermissions?.includes("show-fast-react");
+ const hasCountryPermission = userPermissions?.includes("show-safety-and-privacy-operator-cartable");
+ const hasProvincePermission = userPermissions?.includes("show-safety-and-privacy-operator-cartable-province");
const { user } = useAuth();
const statusOptions = [
{ value: "", label: "همه وضعیت ها" },
@@ -37,7 +38,7 @@ const OperatorList = () => {
];
const columns = useMemo(() => {
- const dynamicColumns = {
+ const ProvinceColumn = {
header: "استان",
id: "province_id",
enableColumnFilter: true,
@@ -72,6 +73,63 @@ const OperatorList = () => {
},
Cell: ({ row }) => <>{row.original.province_fa}>,
};
+ const EdareShahriColumn = {
+ header: "اداره",
+ id: "edare_shahri_id",
+ enableColumnFilter: true,
+ datatype: "numeric",
+ filterMode: "equals",
+ dependencyId: hasCountryPermission ? "province_id" : null,
+ grow: false,
+ size: 120,
+ ColumnSelectComponent: (props) => {
+ const { edaratList, loadingEdaratList, errorEdaratList } = useEdaratLists(
+ hasCountryPermission ? props.dependencyFieldValue.value : user.province_id
+ );
+ const [prevDependency, setPrevDependency] = useState(
+ hasCountryPermission ? props.dependencyFieldValue.value : user.province_id
+ );
+
+ const getColumnSelectOptions = useMemo(() => {
+ if (hasCountryPermission && props.dependencyFieldValue.value === "") {
+ return [{ value: "empty", label: "ابتدا استان را انتخاب کنید" }];
+ }
+ if (loadingEdaratList) {
+ return [{ value: "loading", label: "در حال بارگذاری..." }];
+ }
+ if (errorEdaratList) {
+ return [{ value: "error", label: "خطا در بارگذاری" }];
+ }
+ return [
+ { value: "", label: "کل ادارات" },
+ ...edaratList.map((edare) => ({
+ value: edare.id,
+ label: edare.name_fa,
+ })),
+ ];
+ }, [edaratList, loadingEdaratList, errorEdaratList]);
+ useEffect(() => {
+ if (hasCountryPermission) return;
+ if (prevDependency === props.dependencyFieldValue?.value) return;
+ props.handleChange({ ...props.filterParameters, value: "" });
+ setPrevDependency(props.dependencyFieldValue?.value);
+ }, [props.dependencyFieldValue?.value, hasCountryPermission]);
+ return (
+
+ );
+ },
+ Cell: ({ row }) => <>{row.original.edare_shahri_name}>,
+ };
return [
{
accessorKey: "id",
@@ -85,64 +143,9 @@ const OperatorList = () => {
grow: false,
size: 100,
},
- ...(hasCountryPermission ? [dynamicColumns] : []),
- {
- header: "اداره",
- id: "edare_shahri_id",
- enableColumnFilter: true,
- datatype: "numeric",
- filterMode: "equals",
- dependencyId: hasCountryPermission ? "province_id" : null,
- grow: false,
- size: 120,
- ColumnSelectComponent: (props) => {
- const { edaratList, loadingEdaratList, errorEdaratList } = useEdaratLists(
- hasCountryPermission ? props.dependencyFieldValue.value : user.province_id
- );
- const [prevDependency, setPrevDependency] = useState(
- hasCountryPermission ? props.dependencyFieldValue.value : user.province_id
- );
+ ...(hasCountryPermission ? [ProvinceColumn] : []),
+ ...(hasProvincePermission ? [EdareShahriColumn] : []),
- const getColumnSelectOptions = useMemo(() => {
- if (hasCountryPermission && props.dependencyFieldValue.value === "") {
- return [{ value: "empty", label: "ابتدا استان را انتخاب کنید" }];
- }
- if (loadingEdaratList) {
- return [{ value: "loading", label: "در حال بارگذاری..." }];
- }
- if (errorEdaratList) {
- return [{ value: "error", label: "خطا در بارگذاری" }];
- }
- return [
- { value: "", label: "کل ادارات" },
- ...edaratList.map((edare) => ({
- value: edare.id,
- label: edare.name_fa,
- })),
- ];
- }, [edaratList, loadingEdaratList, errorEdaratList]);
- useEffect(() => {
- if (hasCountryPermission) return;
- if (prevDependency === props.dependencyFieldValue?.value) return;
- props.handleChange({ ...props.filterParameters, value: "" });
- setPrevDependency(props.dependencyFieldValue?.value);
- }, [props.dependencyFieldValue?.value, hasCountryPermission]);
- return (
-
- );
- },
- Cell: ({ row }) => <>{row.original.edare_shahri_name}>,
- },
{
header: "اطلاعات فعالیت",
id: "info",