import { Box, TextField, Typography } from "@mui/material"; import { Grid } from "../components/grid/Grid"; import { SPACING } from "../data/spacing"; import { BackButton } from "../components/back-button/BackButton"; import { useContext, useState } from "react"; import { AppContext } from "../contexts/AppContext"; import { DatePicker } from "@mui/x-date-pickers"; import moment from "moment"; import axios from "axios"; import { getRoleFromUrl } from "../utils/getRoleFromUrl"; import { useSelector } from "react-redux"; import { RiFileExcel2Fill, RiTicket2Line } from "react-icons/ri"; import { ImFilePdf } from "react-icons/im"; import { motion } from "framer-motion"; const ProvinceRequests = () => { const [, , selectedDate1, setSelectedDate1, selectedDate2, setSelectedDate2] = useContext(AppContext); useContext(AppContext); const [openNotif] = useContext(AppContext); const authToken = useSelector((state) => state.userSlice.authToken); const userInfo = useSelector((state) => state.userSlice); const [textValue, setTextValue] = useState(""); const handleDownload = (link, isTicket = false) => { if (!isTicket) { openNotif({ vertical: "top", horizontal: "center", msg: "فایل در حال دانلود می باشد، این عملیات ممکن است زمان بر باشد لطفا صبر کنید.", severity: "success", }); window.location.href = link; } }; const handleTicketClick = async (link) => { try { const response = await axios.get(link); if (response.status === 200) { openNotif({ vertical: "top", horizontal: "center", msg: "تیکت با موفقیت ارسال شد", severity: "success", }); } } catch (error) { openNotif({ vertical: "top", horizontal: "center", msg: "خطا در ارسال تیکت", severity: "error", }); } }; const reportList = [ { title: "گزارش تحلیلی", description: "گزارش تحلیلی از زنجیره مرغ گوشتی در استان", link: `${axios.defaults.baseURL}management_all_poultry_and_warehouse_pdf/?date1=${selectedDate1}&date2=${selectedDate2}`, icon: , }, { title: "تیکت وضعیت سند بار ها", description: "تیکت وضعیت سند بار ها", link: `${axios.defaults.baseURL}send_bar_info_from_ticket/?key=${userInfo?.userProfile?.key}&date1=${selectedDate1}&date2=${selectedDate2}`, icon: , isTicket: true, }, { title: "مغایرت قرنطینه", description: "مغایرت قرنطینه", link: `${axios.defaults.baseURL}send_clearance_code_to_rsi/?date1=${selectedDate1}&date2=${selectedDate2}`, }, { title: "گزارش جامع کشتار", description: "اطلاعات کلی از کشتار تا صنف", link: `${ axios.defaults.baseURL }detail_of_killing_excel/?date1=${selectedDate1}&date2=${selectedDate2}&role=${getRoleFromUrl()}&key=${ userInfo?.userProfile?.key }`, }, { title: "گزارش پایش کشتارگاه ها", description: "پایش کلی کشتارگاه ها", link: `${axios.defaults.baseURL}comprehensive_report_of_the_slaughterhouse_excel/?date1=${selectedDate1}&date2=${selectedDate2}`, }, { title: "اطلاعات بارها", description: "جزئیات بارهای ایجاد شده", link: `${ axios.defaults.baseURL }bar_excel/?start=${selectedDate1}&end=${selectedDate2}&key=${ userInfo?.userProfile?.key }&role=${getRoleFromUrl()}`, }, { title: "گزارش پایش تعاونی ها", description: "جزئیات جوجه ریزی و کشتار تعاونی ها", link: `${ axios.defaults.baseURL }general_city_operator/?date1=${selectedDate1}&date2=${selectedDate2}&key=${ userInfo?.userProfile?.key }&role=${getRoleFromUrl()}`, }, { title: "گزارش کلی خریداران", description: "گزارش تخصیص و پخش خریداران", link: `${axios.defaults.baseURL}kill_house_user_excel/?date1=${selectedDate1}&date2=${selectedDate2}`, }, { title: "درخواست مرغداران", description: "درخواست های کتشار ثبت شده توسط مرغداران", link: `${ axios.defaults.baseURL }poultry_kill_request_excel/?start=${selectedDate1}&end=${selectedDate1}&role=${getRoleFromUrl()}&token=${authToken}`, }, { title: "اعلام نیاز خریداران", description: "اعلام نیاز کشتار از طرف خریداران", link: `${axios.defaults.baseURL}kill_house_excel/?start=${selectedDate1}&end=${selectedDate2}`, }, { title: "جوجه ریزی های فعال", description: "اطلاعات تکمیلی جوجه ریزی", link: `${axios.defaults.baseURL}0/hatching_excel`, }, { title: "جوجه ریزی های بایگانی شده", description: "اطلاعات تکمیلی جوجه ریزی", link: `${axios.defaults.baseURL}archive_hatching_excel/?key=${userInfo?.userProfile?.key}`, }, { title: "درخواست های کشتار", description: "جزئیات درخواست مرغداران تا تحویلی کشتارگاه", link: `${axios.defaults.baseURL}poultry_request_report_excel/?start=${selectedDate1}&end=${selectedDate2}&key=${userInfo?.userProfile?.key}`, }, { title: "اصناف", description: "اطلاعات اصناف ثبت شده", link: `${axios.defaults.baseURL}guilds_excel/?key=${userInfo?.userProfile?.key}`, }, { title: "کاربران", description: "اطلاعات کاربران ثبت شده", link: `${axios.defaults.baseURL}get_all_user_excel/`, }, { title: "تخصیصات", description: "جزئیات تخصیص به خریداران", link: `${axios.defaults.baseURL}allocated_excel/?start=${selectedDate1}&end=${selectedDate2}`, }, { title: "گزارش پخش روزانه", description: "کشتارگاه به مباشر/صنف", link: `${axios.defaults.baseURL}all_inventory_excel/?date1=${selectedDate1}&date2=${selectedDate2}`, }, { title: "گزارش پخش روزانه", description: "مباشر به صنف", link: `${axios.defaults.baseURL}steward_ware_house_total_report_daily_excel/?date1=${selectedDate1}&date2=${selectedDate2}`, }, { title: "آمار جوجه ریزی", description: "جزئیات جوجه ریزی", link: `${axios.defaults.baseURL}hatching_date_range_excel/?date1=${selectedDate1}&date2=${selectedDate2}`, }, { title: "بارهای تکمیل شده", description: "جزئیات بارهای تکمیل شده", link: `${axios.defaults.baseURL}bar-management-kill-house-excel/?key=${userInfo?.userProfile?.key}&date1=${selectedDate1}&date2=${selectedDate2}`, }, ]; return ( تاریخ گزارش: ( )} value={selectedDate1} onChange={(newValue) => { setSelectedDate1(moment(newValue).format("YYYY-MM-DD")); }} /> ( )} value={selectedDate2} onChange={(newValue) => { setSelectedDate2(moment(newValue).format("YYYY-MM-DD")); }} /> { setTextValue(e.target.value); }} /> {reportList ?.filter((option) => option?.title.includes(textValue)) ?.map((item, i) => ( { if (item.isTicket) { e.preventDefault(); handleTicketClick(item.link); } else { e.preventDefault(); handleDownload(item.link, item.isTicket); } }} > {item.icon || ( )} {item?.title} {item?.description} ))} ); }; export default ProvinceRequests;