import { useEffect, useState } from "react";
import { useApiRequest } from "../utils/useApiRequest";
import { Grid } from "../components/Grid/Grid";
import Table from "../components/Table/Table";
import { useNavigate, useParams } from "@tanstack/react-router";
import { Popover } from "../components/PopOver/PopOver";
import { Tooltip } from "../components/Tooltip/Tooltip";
import Button from "../components/Button/Button";
import { useModalStore } from "../context/zustand-store/appStore";
import { ChildOrganizations } from "../partials/cooperatives/ChildOrganizations";
import { COOPERATIVE_LIST } from "../routes/paths";
import { TableButton } from "../components/TableButton/TableButton";
import { CooperativesDashboardDetails } from "../partials/cooperatives/CooperativesDashboardDetails";
import { AddActivityType } from "../partials/cooperatives/AddActivityType";
import ShowMoreInfo from "../components/ShowMoreInfo/ShowMoreInfo";
import ShowStringList from "../components/ShowStringList/ShowStringList";
export default function Cooperatives() {
const { openModal } = useModalStore();
const [pagesInfo, setPagesInfo] = useState({ page: 1, page_size: 10 });
const [cooperativesTableData, setCooperativesTableData] = useState([]);
const { id, name } = useParams({ strict: false });
const navigate = useNavigate();
const { data: cooperativesData, refetch } = useApiRequest({
api: `herd/web/api/v1/rancher_org_link/org_linked_rancher_list${
id ? `?org_id=${id}` : ""
}`,
method: "get",
params: {
...pagesInfo,
},
queryKey: [id ? "unioncooperatives" : "cooperatives", pagesInfo],
});
const { data: cooperativesDashboardData } = useApiRequest({
api: `herd/web/api/v1/rancher_org_link/${id}/org_ranchers_quota_dashboard/`,
method: "get",
queryKey: [id ? "unionCooperativeDashboard" : "cooperativeDashboard"],
enabled: !!id,
});
useEffect(() => {
if (cooperativesData?.results) {
const formattedData = cooperativesData.results.map(
(item: any, i: number) => {
return [
pagesInfo.page === 1
? i + 1
: i + pagesInfo.page_size * (pagesInfo.page - 1) + 1,
item?.name || "-",
item?.province || "-",
item?.city || "-",
item?.rancher_count || 0,
item?.herd_count || 0,
item?.livestock_count || 0,
item?.org_service_area?.length ? (
city.name
)}
/>
) : (
"-"
),
item?.org_purchase_policy === "INTERNAL_ONLY"
? "بر اساس تعاونی"
: item?.org_purchase_policy === "CROSS_COOP"
? "برای کل استان"
: "-",
,
,
];
}
);
setCooperativesTableData(formattedData);
}
}, [cooperativesData, pagesInfo, openModal, navigate, refetch]);
return (
{id && (
{
openModal({
title: "جزئیات",
content: ,
isFullSize: true,
});
}}
>
جزئیات
,
],
]}
/>
)}
{
setPagesInfo(e);
}}
count={cooperativesData?.count || 10}
isPaginated
title={id ? `تعاونی های ${name}` : "تعاونی ها"}
columns={[
"ردیف",
"نام",
"استان",
"شهر",
"تعداد دامدار",
"تعداد گله",
"تعداد دام",
"محدوده فعالیت",
"محدودیت دریافت نهاده",
"عملیات",
]}
rows={cooperativesTableData}
/>
);
}