feat: units inventory

This commit is contained in:
2026-02-25 10:59:40 +03:30
parent 11bb774b9c
commit 5572ed070e
4 changed files with 90 additions and 0 deletions

View File

@@ -0,0 +1,80 @@
import { useEffect, useState } from "react";
import { Grid } from "../../components/Grid/Grid";
import Table from "../../components/Table/Table";
import { useApiRequest } from "../../utils/useApiRequest";
import { formatJustDate } from "../../utils/formatTime";
type UnitsInventoryResponse = {
results?: any[];
count?: number;
};
export default function UnitsInventory() {
const [params, setParams] = useState({ page: 1, page_size: 10 });
const [tableData, setTableData] = useState<any[]>([]);
const { data } = useApiRequest<UnitsInventoryResponse>({
api: "/rsi/web/api/v1/org_rsi_data/",
method: "get",
params,
queryKey: ["units_inventory", params],
});
useEffect(() => {
if (data?.results) {
const formattedData = data.results.map((item: any, i: number) => [
params.page === 1
? i + 1
: i + params.page_size * (params.page - 1) + 1,
item?.tracking || "-",
item?.record_id || "-",
formatJustDate(item?.data) || "-",
item?.product || "-",
item?.quantity ? Number(item.quantity).toLocaleString() : "-",
item?.unit || "-",
item?.origin_province || "-",
item?.destination_province || "-",
item?.origin_city || "-",
item?.destination_city || "-",
item?.origin || "-",
item?.destination || "-",
item?.driver_name || "-",
item?.car_tracking_code || "-",
]);
setTableData(formattedData);
} else {
setTableData([]);
}
}, [data]);
return (
<Grid container column>
<Table
className="mt-2"
onChange={setParams}
count={data?.count || 0}
isPaginated
title="انبار واحدها"
columns={[
"ردیف",
"کد رهگیری",
"شماره رکورد",
"تاریخ",
"محصول",
"مقدار",
"واحد",
"استان مبدا",
"استان مقصد",
"شهرستان مبدا",
"شهرستان مقصد",
"مبدا",
"مقصد",
"راننده",
"کد رهگیری خودرو",
]}
rows={tableData}
/>
</Grid>
);
}

View File

@@ -54,6 +54,7 @@ export const COOPERATIVE_LIST = "/livestock/cooperatives";
export const COOPERATIVE_RANCHERS_LIST = export const COOPERATIVE_RANCHERS_LIST =
"/livestock/cooperatives/ranchers/$id/$name"; "/livestock/cooperatives/ranchers/$id/$name";
export const UNION_COOPERATIVE_LIST = "/livestock/cooperatives/$id/$name"; export const UNION_COOPERATIVE_LIST = "/livestock/cooperatives/$id/$name";
export const UNITS_INVENTORY = "/livestock/units-inventory";
export const UNITS_SETTINGS = "/livestock/unit-settings"; export const UNITS_SETTINGS = "/livestock/unit-settings";
//TAGGING //TAGGING

View File

@@ -27,6 +27,7 @@ import TagDistribtution from "../Pages/LiveStock/TagDistribution";
import TagDistribtutionDetails from "../Pages/LiveStock/TagDistributionDetails"; import TagDistribtutionDetails from "../Pages/LiveStock/TagDistributionDetails";
import Tags from "../partials/LiveStock/tagging/Tags"; import Tags from "../partials/LiveStock/tagging/Tags";
import Domains from "../Pages/Domains"; import Domains from "../Pages/Domains";
import UnitsInventory from "../Pages/LiveStock/UnitsInventory";
export const adminCategoryItems = [ export const adminCategoryItems = [
{ {
@@ -80,6 +81,11 @@ export const unitCategoryItems = [
path: R.COOPERATIVE_RANCHERS_LIST, path: R.COOPERATIVE_RANCHERS_LIST,
component: CooperativeRanchers, component: CooperativeRanchers,
}, },
{
name: "units_inventory",
path: R.UNITS_INVENTORY,
component: UnitsInventory,
},
{ {
name: "units_settings", name: "units_settings",
path: R.UNITS_SETTINGS, path: R.UNITS_SETTINGS,

View File

@@ -109,6 +109,9 @@ export function getFaPermissions(permission: string) {
case "tag_distribution_detail": case "tag_distribution_detail":
faPermission = "جزئیات توزیع پلاک"; faPermission = "جزئیات توزیع پلاک";
break; break;
case "units_inventory":
faPermission = "انبار واحدها";
break;
default: default:
break; break;
} }