feat: units inventory
This commit is contained in:
80
src/Pages/LiveStock/UnitsInventory.tsx
Normal file
80
src/Pages/LiveStock/UnitsInventory.tsx
Normal 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>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user