From e5402f9037c8ce78183a5615d472b7cff6739696 Mon Sep 17 00:00:00 2001 From: wixarm Date: Wed, 28 Jan 2026 17:41:53 +0330 Subject: [PATCH] add: tag dist detail --- src/Pages/TagDistributionDetails.tsx | 56 +++++++++++++++++++ .../tagging/TagActiveDistributions.tsx | 21 ++++++- src/routes/paths.ts | 1 + src/utils/getCategoryParameters.ts | 6 ++ src/utils/getFaPermissions.ts | 3 + 5 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 src/Pages/TagDistributionDetails.tsx diff --git a/src/Pages/TagDistributionDetails.tsx b/src/Pages/TagDistributionDetails.tsx new file mode 100644 index 0000000..c963a0f --- /dev/null +++ b/src/Pages/TagDistributionDetails.tsx @@ -0,0 +1,56 @@ +import { useEffect, useState } from "react"; +import { useParams } from "@tanstack/react-router"; +import { useApiRequest } from "../utils/useApiRequest"; +import { Grid } from "../components/Grid/Grid"; +import Table from "../components/Table/Table"; + +export default function TagDistribtutionDetails() { + const { id } = useParams({ strict: false }); + const [tableData, setTableData] = useState([]); + + const { data } = useApiRequest({ + api: `/tag/web/api/v1/tag_distribution_batch/${id}/`, + method: "get", + queryKey: ["tagBatchInnerDashboard", id], + enabled: !!id, + }); + + useEffect(() => { + if (data?.distributions) { + const rows = data.distributions.map((item: any, index: number) => [ + index + 1, + item?.dist_identity, + item?.batch_identity, + item?.distribution_type === "batch" ? "توزیع گروهی" : "توزیع تصادفی", + item?.species_code, + item?.total_tag_count, + item?.distributed_number, + item?.remaining_number, + `از ${item?.serial_from} تا ${item?.serial_to}`, + ]); + setTableData(rows); + } + }, [data]); + + return ( + + + + ); +} diff --git a/src/partials/tagging/TagActiveDistributions.tsx b/src/partials/tagging/TagActiveDistributions.tsx index fdfe424..4ebb6d9 100644 --- a/src/partials/tagging/TagActiveDistributions.tsx +++ b/src/partials/tagging/TagActiveDistributions.tsx @@ -20,11 +20,14 @@ import Table from "../../components/Table/Table"; import { BooleanQuestion } from "../../components/BooleanQuestion/BooleanQuestion"; import { TableButton } from "../../components/TableButton/TableButton"; import { DistributionSpeciesModal } from "./DistributionSpeciesModal"; +import { useNavigate } from "@tanstack/react-router"; +import { TAG_DISTRIBUTION } from "../../routes/paths"; export default function TagActiveDistributions() { const { openModal } = useModalStore(); const [tableInfo, setTableInfo] = useState({ page: 1, page_size: 10 }); const [tagsTableData, setTagsTableData] = useState([]); + const navigate = useNavigate(); const { data: tagsData, refetch } = useApiRequest({ api: "/tag/web/api/v1/tag_distribution_batch", @@ -105,7 +108,7 @@ export default function TagActiveDistributions() { variant="body2" className="text-gray-700 dark:text-gray-300" > - {opt?.distributed_number?.toLocaleString()} + {opt?.total_tag_count?.toLocaleString()} @@ -126,6 +129,22 @@ export default function TagActiveDistributions() { , + +