import { Button, FormControl, FormControlLabel, FormLabel, Radio, RadioGroup, TextField, Typography, } from "@mui/material"; import { useContext, useEffect, useState } from "react"; import { useDispatch } from "react-redux"; import { Grid } from "../../../../components/grid/Grid"; import { AppContext } from "../../../../contexts/AppContext"; import { SPACING } from "../../../../data/spacing"; import { DRAWER } from "../../../../lib/redux/slices/appSlice"; import { provinceCheckFreeSaleService } from "../../services/province-check-free-sale"; import { provinceGetFreeSalesRequestsService } from "../../services/province-get-free-sales-requests"; import { useFormik } from "formik"; import { Yup } from "../../../../lib/yup/yup"; import { provinceEditFreeSaleService } from "../../services/province-edit-free-sale"; import { useProvinceName } from "../../../../utils/getProvinceName"; export const ProvinceCheckFreeSale = ({ buyer, poultryRequestKey, item, isEdit, }) => { const [, , selectedDate1, , selectedDate2] = useContext(AppContext); const dispatch = useDispatch(); const [openNotif] = useContext(AppContext); const [value, setValue] = useState(""); const [payerValue, setPayerValue] = useState( isEdit ? item.payerType : "poultry" ); const handleChange = (event) => { setValue(event.target.value); }; const provinceName = useProvinceName(); const handleChangePayer = (event) => { setPayerValue(event.target.value); if (event.target.value === "buyer") { formik.setFieldValue("mobile", buyer.mobile); } else { formik.setFieldValue("mobile", item.poultry.user.mobile); } }; const formik = useFormik({ initialValues: { mobile: item.poultry.user.mobile, weight: isEdit ? item?.IndexWeight : "", quantity: isEdit ? item?.quantity : "", }, validationSchema: Yup.object({ mobile: Yup.string() .required("شماره موبایل الزامی است") .min(11, "شماره موبایل باید 11 رقم باشد") .max(11, "شماره موبایل باید 11 رقم باشد") .matches(/^09\d{9}$/, "شماره موبایل باید با 09 شروع شود و 11 رقم باشد"), weight: Yup.number(), quantity: Yup.number(), }), }); useEffect(() => { formik.validateForm(); }, []); useEffect(() => { let newVal = formik.values.weight; const mystring = formik.values.weight.toString().split(".").join(""); if (formik.values.weight) { if (mystring.length <= 3) { if (mystring.length === 2) { newVal = mystring[0] + "." + mystring[1]; } if (mystring.length === 3) { newVal = mystring[0] + "." + mystring[1] + mystring[2]; } } } if (isNaN(Number.parseFloat(newVal))) { formik.setFieldValue("weight", ""); } else { formik.setFieldValue("weight", Number.parseFloat(newVal)); } }, [formik.values.weight]); let buyerType = "-"; if (buyer.buyerType === "freezing") { buyerType = "انجماد"; } else if (buyer.buyerType === "killer") { buyerType = "کشتارکن"; } else if (buyer.buyerType === "killhouse") { buyerType = "کشتارگاه"; } const reg = new RegExp(/^09\d{9}$/); return ( اطلاعات خریدار نام: {buyer.firstName} {buyer.lastName} موبایل: {buyer.mobile} شهر: {buyer.city} استان: {buyer.province} ماهیت خریدار: {buyerType} {provinceName !== "hamedan" && ( <> پرداخت کننده } label="مرغدار" /> } label="خریدار" /> {payerValue === "poultry" ? ( {!reg.test(item.poultry.user.mobile) ? "فرمت تلفن مرغدار نادرست است! لطفا یک شماره موبایل معتبر وارد کنید." : "از این قسمت میتوانید تلفن مرغدار را ویرایش کنید."} ) : ( {!reg.test(buyer.mobile) ? "فرمت تلفن خریدار نادرست است! لطفا یک شماره موبایل معتبر وارد کنید." : "از این قسمت میتوانید تلفن خریدار را ویرایش کنید."} )} {isEdit && ( )} )} {!isEdit && ( )} {isEdit ? ( ) : ( <> )} ); };