push rasad front on new repo
This commit is contained in:
289
src/pages/SlaughterInventoryPage.js
Normal file
289
src/pages/SlaughterInventoryPage.js
Normal file
@@ -0,0 +1,289 @@
|
||||
import { Box } from "@mui/material";
|
||||
import { Grid } from "../components/grid/Grid";
|
||||
import { useLocation } from "react-router-dom";
|
||||
import {
|
||||
ROUTE_STEWARD_INVENTORY,
|
||||
ROUTE_SLAUGHTER_INVENTORY,
|
||||
ROUTE_SLAUGHTER_INVENTORY_SELL_CARCASS_IN_PROVINCE,
|
||||
ROUTE_SLAUGHTER_INVENTORY_SELL_CARCASS_OUT_PROVINCE,
|
||||
ROUTE_SLAUGHTER_INVENTORY_STOCK,
|
||||
ROUTE_SLAUGHTER_DAILY_LIST,
|
||||
ROUTE_SLAUGHTER_SEGMENTATION,
|
||||
ROUTE_SLAUGHTER_ORDERS,
|
||||
ROUTE_SLAUGHTER_OUT_PROVINCE_BUY,
|
||||
} from "../routes/routes";
|
||||
import { BackButton } from "../components/back-button/BackButton";
|
||||
import { SlaughterStockWrapper } from "../features/slaughter-house/components/slaughter-stock-wrapper/SlaughterStockWrapper";
|
||||
import { SlaughterSellCarcass } from "../features/slaughter-house/components/slaughter-sell-carcass/SlaughterSellCarcass";
|
||||
import { SlaughterSellCarcassOutProvincePage } from "../features/slaughter-house/components/slaughter-sell-carcass-out-province/SlaughterSellCarcassOutProvince";
|
||||
import { useDispatch, useSelector } from "react-redux";
|
||||
import { useEffect } from "react";
|
||||
import { SlaughterDailyList } from "../features/slaughter-house/components/slaughter-daily-list/SlaughterDailyList";
|
||||
import { SlaughterSegmentation } from "../features/slaughter-house/components/slaughter-segmentation/SlaughterSegmentation";
|
||||
import { SlaughterOrders } from "../features/slaughter-house/components/slaughter-orders/SlaughterOrders";
|
||||
import { SlaughterInventorySummary } from "../features/slaughter-house/components/slaughter-inventory-summary/SlaughterInventorySummary";
|
||||
import { fetchSlaughterBroadcastAndProducts } from "../features/slaughter-house/services/handle-fetch-slaughter-products";
|
||||
import { getKillhouseApprovedPriceState } from "../features/province/services/get-approved-price-state";
|
||||
import { SPACING } from "../data/spacing";
|
||||
import { NavLink } from "../components/nav-link/NavLink";
|
||||
import LinkItem from "../components/link-item/LinkItem";
|
||||
import WarehouseIcon from "@mui/icons-material/Warehouse";
|
||||
import StoreIcon from "@mui/icons-material/Store";
|
||||
import PublicIcon from "@mui/icons-material/Public";
|
||||
import ContentCutIcon from "@mui/icons-material/ContentCut";
|
||||
import { SlaughterFreeBuyBars } from "../features/slaughter-house/components/slaughter-free-buy-bars/SlaughterFreeBuyBars";
|
||||
import { checkPathStartsWith } from "../utils/checkPathStartsWith";
|
||||
// import { Grading } from "@mui/icons-material";
|
||||
|
||||
const SlaughterInventoryPage = () => {
|
||||
const { pathname } = useLocation();
|
||||
const dispatch = useDispatch();
|
||||
const { distributionInfo, priceInfo } = useSelector(
|
||||
(state) => state.slaughterSlice
|
||||
);
|
||||
const selectedSubUser = useSelector(
|
||||
(state) => state.userSlice.selectedSubUser
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
if (
|
||||
[
|
||||
ROUTE_SLAUGHTER_INVENTORY,
|
||||
ROUTE_SLAUGHTER_INVENTORY_SELL_CARCASS_OUT_PROVINCE,
|
||||
].includes(pathname)
|
||||
) {
|
||||
dispatch(
|
||||
fetchSlaughterBroadcastAndProducts({
|
||||
role_key: checkPathStartsWith("slaughter")
|
||||
? selectedSubUser?.key || ""
|
||||
: "",
|
||||
})
|
||||
);
|
||||
dispatch(
|
||||
getKillhouseApprovedPriceState({
|
||||
role_key: checkPathStartsWith("slaughter")
|
||||
? selectedSubUser?.key || ""
|
||||
: "",
|
||||
})
|
||||
);
|
||||
}
|
||||
}, [pathname, selectedSubUser?.key]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<Box display={"flex"} justifyContent="center">
|
||||
{pathname === ROUTE_SLAUGHTER_INVENTORY && (
|
||||
<Grid
|
||||
container
|
||||
direction="column"
|
||||
justifyContent="center"
|
||||
xs={12}
|
||||
sm={12}
|
||||
md={10}
|
||||
lg={10}
|
||||
>
|
||||
<BackButton />
|
||||
<SlaughterInventorySummary priceInfo={priceInfo} />
|
||||
</Grid>
|
||||
)}
|
||||
</Box>
|
||||
{/* )} */}
|
||||
{(pathname === ROUTE_SLAUGHTER_INVENTORY ||
|
||||
pathname === ROUTE_STEWARD_INVENTORY) && (
|
||||
<Grid
|
||||
container
|
||||
gap={SPACING.SMALL}
|
||||
p={SPACING.SMALL}
|
||||
justifyContent="center"
|
||||
mt={SPACING.MEDIUM}
|
||||
xs={12}
|
||||
alignItems="center"
|
||||
width="1040px"
|
||||
mx="auto"
|
||||
>
|
||||
{/* <NavLink to={ROUTE_SLAUGHTER_INVENTORY_SUMMARY}>
|
||||
<LinkItem
|
||||
icon={<AssessmentIcon sx={{ fontSize: 30, color: "#244CCC" }} />}
|
||||
title="خلاصه انبار"
|
||||
/>
|
||||
</NavLink> */}
|
||||
|
||||
<NavLink to={ROUTE_SLAUGHTER_INVENTORY_STOCK}>
|
||||
<LinkItem
|
||||
icon={<WarehouseIcon sx={{ fontSize: 30, color: "#244CCC" }} />}
|
||||
title="ورود به انبار"
|
||||
/>
|
||||
</NavLink>
|
||||
|
||||
<NavLink to={ROUTE_SLAUGHTER_INVENTORY_SELL_CARCASS_IN_PROVINCE}>
|
||||
<LinkItem
|
||||
icon={<StoreIcon sx={{ fontSize: 30, color: "#244CCC" }} />}
|
||||
title="فروش داخل استان"
|
||||
/>
|
||||
</NavLink>
|
||||
|
||||
<NavLink to={ROUTE_SLAUGHTER_INVENTORY_SELL_CARCASS_OUT_PROVINCE}>
|
||||
<LinkItem
|
||||
icon={<PublicIcon sx={{ fontSize: 30, color: "#244CCC" }} />}
|
||||
title="فروش به خارج استان"
|
||||
/>
|
||||
</NavLink>
|
||||
<NavLink to={ROUTE_SLAUGHTER_OUT_PROVINCE_BUY}>
|
||||
<LinkItem
|
||||
icon={<PublicIcon sx={{ fontSize: 30, color: "#244CCC" }} />}
|
||||
title="خرید خارج از استان"
|
||||
/>
|
||||
</NavLink>
|
||||
|
||||
<NavLink to={ROUTE_SLAUGHTER_SEGMENTATION}>
|
||||
<LinkItem
|
||||
icon={<ContentCutIcon sx={{ fontSize: 30, color: "#244CCC" }} />}
|
||||
title="قطعه بندی"
|
||||
/>
|
||||
</NavLink>
|
||||
|
||||
{/* <NavLink to={ROUTE_SLAUGHTER_DAILY_LIST}>
|
||||
<LinkItem
|
||||
icon={<ListAltIcon sx={{ fontSize: 30, color: "#244CCC" }} />}
|
||||
title="لیست روزانه"
|
||||
/>
|
||||
</NavLink> */}
|
||||
|
||||
{/* <NavLink to={ROUTE_SLAUGHTER_ORDERS}>
|
||||
<LinkItem
|
||||
icon={<Grading sx={{ fontSize: 30, color: "#244CCC" }} />}
|
||||
title="سفارشات"
|
||||
/>
|
||||
</NavLink> */}
|
||||
</Grid>
|
||||
)}
|
||||
|
||||
{/* {pathname.includes(ROUTE_SLAUGHTER_INVENTORY_SUMMARY) && ( */}
|
||||
|
||||
{pathname.includes(ROUTE_SLAUGHTER_INVENTORY_STOCK) && (
|
||||
<Box display={"flex"} justifyContent="center">
|
||||
<Grid
|
||||
container
|
||||
direction="column"
|
||||
justifyContent="center"
|
||||
xs={12}
|
||||
sm={12}
|
||||
md={10}
|
||||
lg={10}
|
||||
>
|
||||
<BackButton />
|
||||
<SlaughterStockWrapper />
|
||||
</Grid>
|
||||
</Box>
|
||||
)}
|
||||
|
||||
{pathname.includes(
|
||||
ROUTE_SLAUGHTER_INVENTORY_SELL_CARCASS_OUT_PROVINCE
|
||||
) && (
|
||||
<Box display={"flex"} justifyContent="center">
|
||||
<Grid
|
||||
container
|
||||
direction="column"
|
||||
justifyContent="center"
|
||||
xs={12}
|
||||
sm={12}
|
||||
md={10}
|
||||
lg={10}
|
||||
>
|
||||
<BackButton />
|
||||
<SlaughterSellCarcassOutProvincePage />
|
||||
</Grid>
|
||||
</Box>
|
||||
)}
|
||||
|
||||
{pathname.includes(ROUTE_SLAUGHTER_DAILY_LIST) && (
|
||||
<Box display={"flex"} justifyContent="center">
|
||||
<Grid
|
||||
container
|
||||
direction="column"
|
||||
justifyContent="center"
|
||||
xs={12}
|
||||
sm={12}
|
||||
md={10}
|
||||
lg={10}
|
||||
>
|
||||
<BackButton />
|
||||
<SlaughterDailyList />
|
||||
</Grid>
|
||||
</Box>
|
||||
)}
|
||||
|
||||
{pathname.includes(
|
||||
ROUTE_SLAUGHTER_INVENTORY_SELL_CARCASS_IN_PROVINCE
|
||||
) && (
|
||||
<Box display={"flex"} justifyContent="center">
|
||||
<Grid
|
||||
container
|
||||
direction="column"
|
||||
justifyContent="center"
|
||||
xs={12}
|
||||
sm={12}
|
||||
md={10}
|
||||
lg={10}
|
||||
>
|
||||
<BackButton />
|
||||
<SlaughterSellCarcass distributionInfo={distributionInfo} />
|
||||
</Grid>
|
||||
</Box>
|
||||
)}
|
||||
|
||||
{pathname.includes(ROUTE_SLAUGHTER_SEGMENTATION) && (
|
||||
<Box display={"flex"} justifyContent="center">
|
||||
<Grid
|
||||
container
|
||||
direction="column"
|
||||
justifyContent="center"
|
||||
xs={12}
|
||||
sm={12}
|
||||
md={10}
|
||||
lg={10}
|
||||
>
|
||||
<BackButton />
|
||||
<SlaughterSegmentation />
|
||||
</Grid>
|
||||
</Box>
|
||||
)}
|
||||
|
||||
{pathname.includes(ROUTE_SLAUGHTER_ORDERS) && (
|
||||
<Box display={"flex"} justifyContent="center">
|
||||
<Grid
|
||||
container
|
||||
direction="column"
|
||||
justifyContent="center"
|
||||
xs={12}
|
||||
sm={12}
|
||||
md={10}
|
||||
lg={10}
|
||||
>
|
||||
<BackButton />
|
||||
<SlaughterOrders />
|
||||
</Grid>
|
||||
</Box>
|
||||
)}
|
||||
|
||||
{pathname.includes(ROUTE_SLAUGHTER_OUT_PROVINCE_BUY) && (
|
||||
<Box display={"flex"} justifyContent="center">
|
||||
<Grid
|
||||
container
|
||||
direction="column"
|
||||
justifyContent="center"
|
||||
xs={12}
|
||||
sm={12}
|
||||
md={10}
|
||||
lg={10}
|
||||
>
|
||||
<BackButton />
|
||||
<SlaughterFreeBuyBars />
|
||||
</Grid>
|
||||
</Box>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default SlaughterInventoryPage;
|
||||
Reference in New Issue
Block a user