import React, { useContext, useEffect, useState } from "react";
import {
Autocomplete,
Button,
Checkbox,
IconButton,
TextField,
Tooltip,
} from "@mui/material";
import { DatePicker } from "@mui/x-date-pickers";
import moment from "moment";
import { useDispatch } from "react-redux";
import axios from "axios";
import { RiFileExcel2Fill, RiSearchLine } from "react-icons/ri";
import { AppContext } from "../../../../contexts/AppContext";
import {
LOADING_END,
LOADING_START,
} from "../../../../lib/redux/slices/appSlice";
import { Grid } from "../../../../components/grid/Grid";
import ResponsiveTable from "../../../../components/responsive-table/ResponsiveTable";
import { getSamasatProvinces } from "../../../../utils/getSamasatProvinces";
import { getRoleFromUrl } from "../../../../utils/getRoleFromUrl";
import {
ROUTE_ADMINX_ROUTE_NATIONAL_INFO_SLAUGHTER,
ROUTE_SUPER_ADMIN_ROUTE_NATIONAL_INFO_SLAUGHTER,
} from "../../../../routes/routes";
import { ProvinceStewardChickenDistributionsAndSalesDashboardService } from "../../services/province-chicken-distribution-and-sales-dashboard";
import { formatTime } from "../../../../utils/formatTime";
import ToggleOffOutlinedIcon from "@mui/icons-material/ToggleOffOutlined";
import ToggleOnIcon from "@mui/icons-material/ToggleOn";
import VisibilityIcon from "@mui/icons-material/Visibility";
export const ProvinceChickenStewardSales = () => {
const [, , selectedDate1, setSelectedDate1, selectedDate2, setSelectedDate2] =
useContext(AppContext);
const dispatch = useDispatch();
const [openNotif] = useContext(AppContext);
useEffect(() => {
const currentDate = moment(new Date()).format("YYYY-MM-DD");
setSelectedDate1(currentDate);
setSelectedDate2(currentDate);
}, []);
const [dashboardData, setDashboardData] = useState([]);
const [withDate, setWithDate] = useState(false);
const [selectedProvince, setSelectedProvince] = useState("");
const handleTextChange = (event) => {
setTextValue(event.target.value);
};
const [data, setData] = useState([]);
const [totalRows, setTotalRows] = useState(0);
const [perPage, setPerPage] = useState(10);
const [textValue, setTextValue] = useState("");
const [page, setPage] = useState(1);
const [tableData, setTableData] = useState([]);
const fetchApiData = async (page) => {
let response;
getDashboardData();
dispatch(LOADING_START());
response = await axios.get(
`https://rsibackend.rasadyar.com/app/guilds-transport-carcass-detail/?search=${textValue}${
withDate ? `&date1=${selectedDate1}&date2=${selectedDate2}` : ``
}&province=${selectedProvince}&page=${page}&page_size=${perPage}`
);
dispatch(LOADING_END());
setData(response.data.results);
setTotalRows(response.data.count);
};
const handlePageChange = (page) => {
fetchApiData(page);
setPage(page);
};
const handlePerRowsChange = (perRows) => {
setPerPage(perRows);
setPage(1);
};
// const updateTable = () => {
// fetchApiData(page !== 0 ? page : 1);
// };
const getDashboardData = () => {
dispatch(
ProvinceStewardChickenDistributionsAndSalesDashboardService({
province: selectedProvince,
date1: withDate ? selectedDate1 : null,
date2: withDate ? selectedDate2 : null,
})
).then((r) => {
setDashboardData(r.payload.data);
});
};
useEffect(() => {
const d = data?.map((item, i) => {
return [
page === 1 ? i + 1 : i + perPage * (page - 1) + 1,
item?.info?.role,
item?.name,
item?.PartIdCode || item?.jihadiCode,
item?.Province || item?.province,
item?.City || item?.city,
"گوشت مرغ تازه",
item?.info?.totalInputBuyBarsCount?.toLocaleString(),
item?.info?.totalInputBuyBarsWight?.toLocaleString(),
item?.info?.totalOutputBuyBarsCount?.toLocaleString(),
item?.info?.totalOutputBuyBarsWight?.toLocaleString(),
item?.info?.totalWareHouse?.toLocaleString(),
item?.info?.totalInputBuyBarsPercent?.toLocaleString(),
item?.info?.totalOutputBuyBarsPercent?.toLocaleString(),
{
window.open(
getRoleFromUrl() === "AdminX"
? `${ROUTE_ADMINX_ROUTE_NATIONAL_INFO_SLAUGHTER}/${item?.jihadiCode}/${item?.name}/Steward`
: `${ROUTE_SUPER_ADMIN_ROUTE_NATIONAL_INFO_SLAUGHTER}/${item?.jihadiCode}/${item?.name}/Steward`,
"_blank"
);
}}
>
,
];
});
setTableData(d);
}, [data]);
useEffect(() => {
fetchApiData(1);
}, [
dispatch,
selectedDate1,
selectedDate2,
perPage,
selectedProvince,
withDate,
]);
const handleSubmit = async (event) => {
event.preventDefault();
getDashboardData();
dispatch(LOADING_START());
try {
const response = await axios.get(
`https://rsibackend.rasadyar.com/app/guilds-transport-carcass-detail/?&province=${selectedProvince}&search=${textValue}${
withDate ? `&date1=${selectedDate1}&date2=${selectedDate2}` : ``
}&page=${1}&page_size=${perPage}`
);
setData(response.data.results);
setTotalRows(response.data.count);
dispatch(LOADING_END());
} catch (error) {
console.error("Error fetching data:", error);
}
};
const getProvinceList = () => {
return [{ name: "همه" }, ...getSamasatProvinces()];
};
return (
{
return {
label: i.name,
};
})}
onChange={(event, value) => {
if (value.label !== "همه") {
setSelectedProvince(value.label);
} else {
setSelectedProvince("");
}
}}
renderInput={(params) => (
)}
/>
}
checkedIcon={}
checked={withDate}
onChange={() => setWithDate(!withDate)}
color="primary"
size="large"
/>
(
)}
value={selectedDate1}
onChange={(e) => {
setSelectedDate1(moment(e).format("YYYY-MM-DD"));
}}
/>
(
)}
value={selectedDate2}
onChange={(e) => {
setSelectedDate2(moment(e).format("YYYY-MM-DD"));
}}
/>
{/* */}
);
};