import LtrTextField from "@/core/components/LtrTextField"; import StyledForm from "@/core/components/StyledForm"; import useRequest from "@/lib/hooks/useRequest"; import { Autocomplete, Box, Button, Chip, Container, DialogActions, DialogContent, Fade, Grid, InputAdornment, Stack, TextField, Typography, } from "@mui/material"; import { DatePicker, LocalizationProvider, faIR } from "@mui/x-date-pickers"; import { AdapterDateFnsJalali } from "@mui/x-date-pickers/AdapterDateFnsJalali"; import moment from "jalali-moment"; import { Controller, useForm } from "react-hook-form"; import LocationOnMap from "./LocationOnMap"; const initValues = { dabirkhaneh_number: "", nameh_date: moment(), nameh_date_fa: "", marjae_pasokh: "", motaghazi_is_legal_id: null, motaghazi_is_legal: "", motaghazi_type_id: "", motaghazi_type: null, motaghazi_firstname: "", motaghazi_lastname: "", national_id: "", shenase_melli: "", tel_number: "", mobile_number: "", address: "", edare_kol_id: null, edare_kol: "", edare_shahri_id: null, edare_shahri: "", rah_type_id: null, rah_type: "", name_mehvar_id: "", name_mehvar_fa: null, mizan_harim: null, arze_navar: null, samt_id: null, samt: "", kilometr: "", lat: "", lon: "", zone: null, karbari_type_id: null, karbari_type: "", tarh_title: "", masahat_zirbana: "", ehdasat_type_id: [], ehdasat_type: "", divarkeshi_distance: "", mostahadesat_distance: "", mahale_ejra_id: null, mahale_ejra: "", traffic_id: null, traffic: "", vaziat_eghtesadi_id: null, vaziat_eghtesadi: "", has_access_id: null, has_access: "", shomare_estelam_harim: "", max_month: "", max_day: "", shomare_tahaodname: "", shomare_daftarkhaneh: "", description: "", ronevesht: "", }; const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { const request = useRequest(); const { control, watch, register, handleSubmit, setValue, formState: { isSubmitting }, } = useForm({ defaultValues: defaultValues || initValues }); const onSubmit = async (data) => { const formData = new FormData(); formData.append("dabirkhaneh_number", data.dabirkhaneh_number); formData.append("nameh_date", data.nameh_date.format("YYYY-MM-DD")); formData.append("nameh_date_fa", data.nameh_date); formData.append("marjae_pasokh", data.marjae_pasokh); formData.append("motaghazi_is_legal_id", data.motaghazi_is_legal_id); formData.append("motaghazi_is_legal", data.motaghazi_is_legal_id); formData.append("motaghazi_type_id", 1); formData.append("motaghazi_type", data.motaghazi_type); formData.append("motaghazi_firstname", data.motaghazi_firstname); formData.append("motaghazi_lastname", data.motaghazi_lastname); formData.append("national_id", data.national_id); formData.append("shenase_melli", data.national_id); formData.append("tel_number", data.tel_number); formData.append("mobile_number", data.mobile_number); formData.append("address", data.address); formData.append("edare_kol_id", data.edare_kol_id); formData.append("edare_kol", data.edare_kol_id); formData.append("edare_shahri_id", data.edare_shahri_id); formData.append("edare_shahri", data.edare_shahri_id); formData.append("rah_type_id", data.rah_type_id); formData.append("rah_type", data.rah_type_id); formData.append("name_mehvar_id", 1); formData.append("name_mehvar_fa", data.name_mehvar_fa); formData.append("mizan_harim", data.mizan_harim); formData.append("arze_navar", data.arze_navar); formData.append("samt_id", data.samt_id); formData.append("samt", data.samt_id); formData.append("kilometr", data.kilometr); formData.append("lat", data.lat); formData.append("lon", data.lon); formData.append("zone", data.zone); formData.append("karbari_type_id", data.karbari_type_id); formData.append("karbari_type", data.karbari_type_id); formData.append("tarh_title", data.tarh_title); formData.append("masahat_zirbana", data.masahat_zirbana); formData.append("ehdasat_type_id", data.ehdasat_type_id.join("|")); formData.append("ehdasat_type", data.ehdasat_type_id.join("|")); formData.append("divarkeshi_distance", data.divarkeshi_distance); formData.append("mostahadesat_distance", data.mostahadesat_distance); formData.append("mahale_ejra_id", data.mahale_ejra_id); formData.append("mahale_ejra", data.mahale_ejra); formData.append("traffic_id", data.traffic_id); formData.append("traffic", data.traffic_id); formData.append("vaziat_eghtesadi_id", data.vaziat_eghtesadi_id); formData.append("vaziat_eghtesadi", data.vaziat_eghtesadi); formData.append("has_access_id", data.has_access_id); formData.append("has_access", data.has_access_id); formData.append("shomare_estelam_harim", data.shomare_estelam_harim); formData.append("max_month", data.max_month); formData.append("max_day", data.max_day); formData.append("shomare_tahaodname", data.shomare_tahaodname); formData.append("shomare_daftarkhaneh", data.shomare_daftarkhaneh); formData.append("description", data.description); formData.append("ronevesht", data.ronevesht); try { await request(url, "post", { data: formData }); handleClose(); mutate(); } catch (error) {} }; return ( ( onChange(moment(newValue))} label="تاریخ نامه درخواست *" slotProps={{ textField: { fullWidth: true, size: "small", autoComplete: "off" }, }} /> )} /> ( { onChange(newValue); }} options={["حقوقی", "حقیقی"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["دولتی", "خصوصی"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["تهران"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["تهران"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["آزاد راه", "بزرگراه", "راه فرعی درجه 3"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["سایر"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["چپ", "راست"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["12.5", "17.5"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["15", "30"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["38", "39"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["اتاقک نگهبانی", "دولتی"]} renderInput={(params) => ( )} /> )} /> مترمربع, }} /> ( { onChange(newValue); }} renderTags={(value, getTagProps) => value.map((option, index) => { const { key, ...tagProps } = getTagProps({ index }); return ( ); }) } options={["تعمیرات", "احداث بنا"]} renderInput={(params) => ( )} /> )} /> متر, }} /> متر, }} /> ( { onChange(newValue); }} options={["داخل حریم"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["سبک (ضریب ۱)"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["تست"]} renderInput={(params) => ( )} /> )} /> ( { onChange(newValue); }} options={["بله", "خیر"]} renderInput={(params) => ( )} /> )} /> حداکثر مدت زمان شروع عملیات: * ); }; export default CreateOrUpdateForm;