formatting

This commit is contained in:
Amirhossein Mahmoodi
2024-08-18 11:11:58 +03:30
parent f7c93d0404
commit f2e199ee8a
40 changed files with 733 additions and 450 deletions

View File

@@ -27,12 +27,7 @@ const InquiryPrivacyFencingCreate = ({ mutate }) => {
<AddCircle sx={{ fontSize: "25px" }} />
</IconButton>
) : (
<Button
variant="contained"
color="primary"
startIcon={<AddCircle />}
onClick={handleOpen}
>
<Button variant="contained" color="primary" startIcon={<AddCircle />} onClick={handleOpen}>
ایجاد پاسخ به استعلام
</Button>
)}

View File

@@ -1,7 +1,21 @@
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 {
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";
@@ -9,130 +23,135 @@ import { Controller, useForm } from "react-hook-form";
import LocationOnMap from "./LocationOnMap";
const initValues = {
dabirkhaneh_number: '',
dabirkhaneh_number: "",
nameh_date: moment(),
nameh_date_fa: '',
marjae_pasokh: '',
nameh_date_fa: "",
marjae_pasokh: "",
motaghazi_is_legal_id: null,
motaghazi_is_legal: '',
motaghazi_type_id: '',
motaghazi_is_legal: "",
motaghazi_type_id: "",
motaghazi_type: null,
motaghazi_firstname: '',
motaghazi_lastname: '',
national_id: '',
shenase_melli: '',
tel_number: '',
mobile_number: '',
address: '',
motaghazi_firstname: "",
motaghazi_lastname: "",
national_id: "",
shenase_melli: "",
tel_number: "",
mobile_number: "",
address: "",
edare_kol_id: null,
edare_kol: '',
edare_kol: "",
edare_shahri_id: null,
edare_shahri: '',
edare_shahri: "",
rah_type_id: null,
rah_type: '',
name_mehvar_id: '',
rah_type: "",
name_mehvar_id: "",
name_mehvar_fa: null,
mizan_harim: null,
arze_navar: null,
samt_id: null,
samt: '',
kilometr: '',
lat: '',
lon: '',
samt: "",
kilometr: "",
lat: "",
lon: "",
zone: null,
karbari_type_id: null,
karbari_type: '',
tarh_title: '',
masahat_zirbana: '',
karbari_type: "",
tarh_title: "",
masahat_zirbana: "",
ehdasat_type_id: [],
ehdasat_type: '',
divarkeshi_distance: '',
mostahadesat_distance: '',
ehdasat_type: "",
divarkeshi_distance: "",
mostahadesat_distance: "",
mahale_ejra_id: null,
mahale_ejra: '',
mahale_ejra: "",
traffic_id: null,
traffic: '',
traffic: "",
vaziat_eghtesadi_id: null,
vaziat_eghtesadi: '',
vaziat_eghtesadi: "",
has_access_id: null,
has_access: '',
shomare_estelam_harim: '',
max_month: '',
max_day: '',
shomare_tahaodname: '',
shomare_daftarkhaneh: '',
description: '',
ronevesht: '',
}
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 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)
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) {
}
await request(url, "post", { data: formData });
handleClose();
mutate();
} catch (error) {}
};
return (
@@ -141,11 +160,18 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
localeText={faIR.components.MuiLocalizationProvider.defaultProps.localeText}
>
<DialogContent>
<Container maxWidth='lg'>
<StyledForm onSubmit={handleSubmit(onSubmit)} id={'InquiryPrivacyFencingCreateForm'}>
<Container maxWidth="lg">
<StyledForm onSubmit={handleSubmit(onSubmit)} id={"InquiryPrivacyFencingCreateForm"}>
<Grid container columns={{ xs: 1, sm: 2, md: 3 }} spacing={4}>
<Grid item xs={1}>
<LtrTextField autoComplete="off" {...register('dabirkhaneh_number')} label="شماره دبیرخانه درخواست *" size="small" fullWidth type="tel" />
<LtrTextField
autoComplete="off"
{...register("dabirkhaneh_number")}
label="شماره دبیرخانه درخواست *"
size="small"
fullWidth
type="tel"
/>
</Grid>
<Grid item xs={1}>
<Controller
@@ -157,14 +183,20 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
onChange={(newValue) => onChange(moment(newValue))}
label="تاریخ نامه درخواست *"
slotProps={{
textField: { fullWidth: true, size: "small", autoComplete: 'off' },
textField: { fullWidth: true, size: "small", autoComplete: "off" },
}}
/>
)}
/>
</Grid>
<Grid item xs={1}>
<TextField autoComplete="off" {...register('marjae_pasokh')} label="مرجع درخواست کننده پاسخ به استعلام" size="small" fullWidth />
<TextField
autoComplete="off"
{...register("marjae_pasokh")}
label="مرجع درخواست کننده پاسخ به استعلام"
size="small"
fullWidth
/>
</Grid>
<Grid item xs={1}>
<Controller
@@ -176,16 +208,22 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["حقوقی", "حقیقی"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="متقاضی *" />}
renderInput={(params) => (
<TextField autoComplete="off" fullWidth {...params} label="متقاضی *" />
)}
/>
)}
/>
</Grid>
<Grid item xs={1}>
<Fade in={watch('motaghazi_is_legal_id') === 'حقوقی'} mountOnEnter={true} unmountOnExit={true}>
<Fade
in={watch("motaghazi_is_legal_id") === "حقوقی"}
mountOnEnter={true}
unmountOnExit={true}
>
<Box>
<Controller
name="motaghazi_type"
@@ -196,10 +234,17 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["دولتی", "خصوصی"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="نوع متقاضی *" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="نوع متقاضی *"
/>
)}
/>
)}
/>
@@ -208,26 +253,76 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
</Grid>
<Grid item xs={1}></Grid>
<Grid item xs={1}>
<TextField autoComplete="off" {...register('motaghazi_firstname')} label="نام متقاضی *" size="small" fullWidth />
<TextField
autoComplete="off"
{...register("motaghazi_firstname")}
label="نام متقاضی *"
size="small"
fullWidth
/>
</Grid>
<Grid item xs={1}>
<Fade in={watch('motaghazi_is_legal_id') === 'حقیقی'} mountOnEnter={true} unmountOnExit={true}>
<TextField autoComplete="off" {...register('motaghazi_lastname')} label="نام خانوادگی متقاضی *" size="small" fullWidth />
<Fade
in={watch("motaghazi_is_legal_id") === "حقیقی"}
mountOnEnter={true}
unmountOnExit={true}
>
<TextField
autoComplete="off"
{...register("motaghazi_lastname")}
label="نام خانوادگی متقاضی *"
size="small"
fullWidth
/>
</Fade>
</Grid>
<Grid item xs={1}>
<LtrTextField autoComplete="off" {...register('national_id')} label="کد ملی/شناسه ملی *" size="small" fullWidth type="tel" />
<LtrTextField
autoComplete="off"
{...register("national_id")}
label="کد ملی/شناسه ملی *"
size="small"
fullWidth
type="tel"
/>
</Grid>
<Grid item xs={1}>
<LtrTextField autoComplete="off" {...register('tel_number')} label="تلفن" size="small" fullWidth type="tel" />
<LtrTextField
autoComplete="off"
{...register("tel_number")}
label="تلفن"
size="small"
fullWidth
type="tel"
/>
</Grid>
<Grid item xs={1}>
<Fade in={watch('motaghazi_type') !== 'دولتی' || watch('formik.values.motaghazi_is_legal_id') === 'حقیقی'} mountOnEnter={true} unmountOnExit={true}>
<LtrTextField autoComplete="off" {...register('mobile_number')} label="تلفن همراه *" size="small" fullWidth type="tel" />
<Fade
in={
watch("motaghazi_type") !== "دولتی" ||
watch("formik.values.motaghazi_is_legal_id") === "حقیقی"
}
mountOnEnter={true}
unmountOnExit={true}
>
<LtrTextField
autoComplete="off"
{...register("mobile_number")}
label="تلفن همراه *"
size="small"
fullWidth
type="tel"
/>
</Fade>
</Grid>
<Grid item xs={1}>
<TextField autoComplete="off" {...register('address')} label="آدرس *" size="small" fullWidth />
<TextField
autoComplete="off"
{...register("address")}
label="آدرس *"
size="small"
fullWidth
/>
</Grid>
<Grid item xs={1}>
<Controller
@@ -239,11 +334,12 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["تهران"]}
renderInput={(params) => (
<TextField autoComplete="off"
<TextField
autoComplete="off"
fullWidth
{...params}
label="اداره كل راهداری و حمل و نقل جاده ای *"
@@ -263,10 +359,17 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["تهران"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="اداره شهرستان *" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="اداره شهرستان *"
/>
)}
/>
)}
/>
@@ -281,10 +384,12 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["آزاد راه", "بزرگراه", 'راه فرعی درجه 3']}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="نوع راه *" />}
options={["آزاد راه", "بزرگراه", "راه فرعی درجه 3"]}
renderInput={(params) => (
<TextField autoComplete="off" fullWidth {...params} label="نوع راه *" />
)}
/>
)}
/>
@@ -299,16 +404,23 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["سایر"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="نام محور *" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="نام محور *"
/>
)}
/>
)}
/>
</Grid>
<Grid item xs={1}>
<Fade in={watch('name_mehvar_fa') === "سایر"} mountOnEnter={true} unmountOnExit={true}>
<Fade in={watch("name_mehvar_fa") === "سایر"} mountOnEnter={true} unmountOnExit={true}>
<TextField autoComplete="off" label="سایر محورها" size="small" fullWidth />
</Fade>
</Grid>
@@ -322,10 +434,12 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["چپ", "راست"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="سمت *" />}
renderInput={(params) => (
<TextField autoComplete="off" fullWidth {...params} label="سمت *" />
)}
/>
)}
/>
@@ -340,16 +454,27 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["12.5", "17.5"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="میزان حریم *" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="میزان حریم *"
/>
)}
/>
)}
/>
</Grid>
<Grid item xs={1}>
<Fade in={watch('rah_type_id') !== 'راه فرعی درجه 3'} mountOnEnter={true} unmountOnExit={true}>
<Fade
in={watch("rah_type_id") !== "راه فرعی درجه 3"}
mountOnEnter={true}
unmountOnExit={true}
>
<Box>
<Controller
name="arze_navar"
@@ -360,10 +485,17 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["15", "30"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="عرض نوار تاسیساتی زیربنایی *" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="عرض نوار تاسیساتی زیربنایی *"
/>
)}
/>
)}
/>
@@ -371,15 +503,40 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
</Fade>
</Grid>
<Grid item xs={1}>
<LtrTextField autoComplete="off" {...register('kilometr')} label="كيلومتر *" size="small" fullWidth type="tel" />
<LtrTextField
autoComplete="off"
{...register("kilometr")}
label="كيلومتر *"
size="small"
fullWidth
type="tel"
/>
</Grid>
<Grid item xs={1} sm={2} sx={{ height: 300 }}>
<LocationOnMap setValue={setValue} defaultLatLon={defaultValues ? [defaultValues.lat, defaultValues.lon] : null} defaultValues />
<LocationOnMap
setValue={setValue}
defaultLatLon={defaultValues ? [defaultValues.lat, defaultValues.lon] : null}
defaultValues
/>
</Grid>
<Grid item xs={1}>
<Stack spacing={3}>
<LtrTextField autoComplete="off" {...register('lat')} label="عرض جغرافیایی" size="small" fullWidth disabled={true} />
<LtrTextField autoComplete="off" {...register('lon')} label="طول جغرافیایی" size="small" fullWidth disabled={true} />
<LtrTextField
autoComplete="off"
{...register("lat")}
label="عرض جغرافیایی"
size="small"
fullWidth
disabled={true}
/>
<LtrTextField
autoComplete="off"
{...register("lon")}
label="طول جغرافیایی"
size="small"
fullWidth
disabled={true}
/>
<Controller
name="zone"
control={control}
@@ -389,10 +546,17 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["38", "39"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="Zone *" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="Zone *"
/>
)}
/>
)}
/>
@@ -408,22 +572,42 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["اتاقک نگهبانی", "دولتی"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="نوع کاربری *" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="نوع کاربری *"
/>
)}
/>
)}
/>
</Grid>
<Grid item xs={1}>
<TextField autoComplete="off" {...register('tarh_title')} label="عنوان طرح *" size="small" fullWidth />
<TextField
autoComplete="off"
{...register("tarh_title")}
label="عنوان طرح *"
size="small"
fullWidth
/>
</Grid>
<Grid item xs={1}>
<LtrTextField autoComplete="off" {...register('masahat_zirbana')} label="مساحت زیربنا" size="small" fullWidth type="tel" InputProps={{
endAdornment: <InputAdornment position="end">
مترمربع</InputAdornment>,
}} />
<LtrTextField
autoComplete="off"
{...register("masahat_zirbana")}
label="مساحت زیربنا"
size="small"
fullWidth
type="tel"
InputProps={{
endAdornment: <InputAdornment position="end">مترمربع</InputAdornment>,
}}
/>
</Grid>
<Grid item xs={1}>
<Controller
@@ -436,31 +620,60 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
renderTags={(value, getTagProps) =>
value.map((option, index) => {
const { key, ...tagProps } = getTagProps({ index });
return (
<Chip label={option} key={key} size="small" sx={{ '&.MuiAutocomplete-tag': { my: 0 } }} {...tagProps} />
<Chip
label={option}
key={key}
size="small"
sx={{ "&.MuiAutocomplete-tag": { my: 0 } }}
{...tagProps}
/>
);
})
}
options={["تعمیرات", "احداث بنا"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="نوع احداثات *" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="نوع احداثات *"
/>
)}
/>
)}
/>
</Grid>
<Grid item xs={1}>
<LtrTextField autoComplete="off" {...register('divarkeshi_distance')} label="فاصله دیوارکشی از آکس محور" size="small" fullWidth type="tel" InputProps={{
endAdornment: <InputAdornment position="end">متر</InputAdornment>,
}} />
<LtrTextField
autoComplete="off"
{...register("divarkeshi_distance")}
label="فاصله دیوارکشی از آکس محور"
size="small"
fullWidth
type="tel"
InputProps={{
endAdornment: <InputAdornment position="end">متر</InputAdornment>,
}}
/>
</Grid>
<Grid item xs={1}>
<LtrTextField autoComplete="off" {...register('mostahadesat_distance')} label="فاصله مستحدثات از آکس محور" size="small" fullWidth type="tel" InputProps={{
endAdornment: <InputAdornment position="end">متر</InputAdornment>,
}} />
<LtrTextField
autoComplete="off"
{...register("mostahadesat_distance")}
label="فاصله مستحدثات از آکس محور"
size="small"
fullWidth
type="tel"
InputProps={{
endAdornment: <InputAdornment position="end">متر</InputAdornment>,
}}
/>
</Grid>
<Grid item xs={1}>
<Controller
@@ -472,10 +685,12 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["داخل حریم"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="محل اجرا" />}
renderInput={(params) => (
<TextField autoComplete="off" fullWidth {...params} label="محل اجرا" />
)}
/>
)}
/>
@@ -490,10 +705,17 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["سبک (ضریب ۱)"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="میزان ترافیک *" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="میزان ترافیک *"
/>
)}
/>
)}
/>
@@ -508,10 +730,17 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["تست"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="وضعیت اقتصادی" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="وضعیت اقتصادی"
/>
)}
/>
)}
/>
@@ -526,46 +755,115 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => {
disablePortal
value={value}
onChange={(event, newValue) => {
onChange(newValue)
onChange(newValue);
}}
options={["بله", "خیر"]}
renderInput={(params) => <TextField autoComplete="off" fullWidth {...params} label="آیا راه دسترسی از قبل وجود دارد؟ *" />}
renderInput={(params) => (
<TextField
autoComplete="off"
fullWidth
{...params}
label="آیا راه دسترسی از قبل وجود دارد؟ *"
/>
)}
/>
)}
/>
</Grid>
<Grid item xs={1}>
<LtrTextField autoComplete="off" {...register('shomare_estelam_harim')} label="شماره استعلام دفتر ایمنی و حریم" size="small" fullWidth type="tel" />
<LtrTextField
autoComplete="off"
{...register("shomare_estelam_harim")}
label="شماره استعلام دفتر ایمنی و حریم"
size="small"
fullWidth
type="tel"
/>
</Grid>
<Grid item xs={1}>
<Stack direction={'row'} spacing={1} alignItems={'center'}>
<Typography sx={{ flex: 2 }} variant="body2">حداکثر مدت زمان شروع عملیات: *</Typography>
<LtrTextField autoComplete="off" {...register('max_month')} sx={{ width: 60 }} label="ماه" size="small" type="tel" />
<LtrTextField autoComplete="off" {...register('max_day')} sx={{ width: 60 }} label="روز" size="small" type="tel" />
<Stack direction={"row"} spacing={1} alignItems={"center"}>
<Typography sx={{ flex: 2 }} variant="body2">
حداکثر مدت زمان شروع عملیات: *
</Typography>
<LtrTextField
autoComplete="off"
{...register("max_month")}
sx={{ width: 60 }}
label="ماه"
size="small"
type="tel"
/>
<LtrTextField
autoComplete="off"
{...register("max_day")}
sx={{ width: 60 }}
label="روز"
size="small"
type="tel"
/>
</Stack>
</Grid>
<Grid item xs={1}>
<LtrTextField autoComplete="off" {...register('shomare_tahaodname')} label="شماره تعهدنامه" size="small" fullWidth type="tel" />
<LtrTextField
autoComplete="off"
{...register("shomare_tahaodname")}
label="شماره تعهدنامه"
size="small"
fullWidth
type="tel"
/>
</Grid>
<Grid item xs={1}>
<LtrTextField autoComplete="off" {...register('shomare_daftarkhaneh')} label="شماره دفترخانه" size="small" fullWidth type="tel" />
<LtrTextField
autoComplete="off"
{...register("shomare_daftarkhaneh")}
label="شماره دفترخانه"
size="small"
fullWidth
type="tel"
/>
</Grid>
<Grid item xs={1}></Grid>
<Grid item xs={1}>
<TextField autoComplete="off" {...register('description')} multiline rows={2} label="توضیحات" size="small" fullWidth />
<TextField
autoComplete="off"
{...register("description")}
multiline
rows={2}
label="توضیحات"
size="small"
fullWidth
/>
</Grid>
<Grid item xs={1}>
<TextField autoComplete="off" {...register('ronevesht')} multiline rows={2} label="رونوشت" size="small" fullWidth />
<TextField
autoComplete="off"
{...register("ronevesht")}
multiline
rows={2}
label="رونوشت"
size="small"
fullWidth
/>
</Grid>
<Grid item xs={1}></Grid>
</Grid>
</StyledForm>
</Container>
</DialogContent>
<DialogActions sx={{ p: 2, borderTop: 1, borderColor: 'divider' }}>
<Button variant="contained" size="large" sx={{ width: 150 }} type="submit" form={'InquiryPrivacyFencingCreateForm'} disabled={isSubmitting}>ثبت</Button>
<DialogActions sx={{ p: 2, borderTop: 1, borderColor: "divider" }}>
<Button
variant="contained"
size="large"
sx={{ width: 150 }}
type="submit"
form={"InquiryPrivacyFencingCreateForm"}
disabled={isSubmitting}
>
ثبت
</Button>
</DialogActions>
</LocalizationProvider >
</LocalizationProvider>
);
};
export default CreateOrUpdateForm;

View File

@@ -12,21 +12,26 @@ const MarkerLocation = ({ setValue, defaultLatLon }) => {
const location = useRef();
const map = useMapEvents({
move: (e) => {
const latlon = e.target.getCenter()
const latlon = e.target.getCenter();
location.current?.setLatLng(latlon);
setValue('lat', latlon.lat)
setValue('lon', latlon.lng)
setValue("lat", latlon.lat);
setValue("lon", latlon.lng);
},
zoom: (e) => {
const latlon = e.target.getCenter()
const latlon = e.target.getCenter();
location.current?.setLatLng(latlon);
setValue('lat', latlon.lat)
setValue('lon', latlon.lng)
setValue("lat", latlon.lat);
setValue("lon", latlon.lng);
},
});
return (
<Marker ref={location} icon={locationMarker} position={defaultLatLon ? L.LatLng(defaultLatLon.lat, defaultLatLon.lon) : map.getCenter()} key="location" />
)
}
export default MarkerLocation
<Marker
ref={location}
icon={locationMarker}
position={defaultLatLon ? L.LatLng(defaultLatLon.lat, defaultLatLon.lon) : map.getCenter()}
key="location"
/>
);
};
export default MarkerLocation;

View File

@@ -11,12 +11,12 @@ const MapLayer = dynamic(() => import("@/core/components/MapLayer"), {
const LocationOnMap = ({ setValue, defaultLatLon }) => {
return (
<Stack sx={{ height: "100%", position: "relative" }}>
<Paper sx={{ flexGrow: 1, border: 1, borderRadius: 1, borderColor: 'divider' }} elevation={0}>
<MapLayer style={{ borderRadius: '4px' }}>
<Paper sx={{ flexGrow: 1, border: 1, borderRadius: 1, borderColor: "divider" }} elevation={0}>
<MapLayer style={{ borderRadius: "4px" }}>
<MarkerLocation setValue={setValue} defaultLatLon={defaultLatLon} />
</MapLayer>
</Paper>
</Stack>
)
}
export default LocationOnMap
);
};
export default LocationOnMap;

View File

@@ -1,7 +1,6 @@
import InquiryPrivacyFencingCreate from "./Actions/Create";
const Toolbar = ({ mutate }) => {
return (
<>
<InquiryPrivacyFencingCreate mutate={mutate} />

View File

@@ -13,4 +13,3 @@ const InquiryPrivacyFencingPage = () => {
);
};
export default InquiryPrivacyFencingPage;

View File

@@ -231,12 +231,12 @@ const InquiryPrivacyFencingList = () => {
enableColumnFilter: false,
},
],
[],
[]
);
return (
<>
<Box sx={{ p: 2, border: 1, borderColor: 'divider', borderRadius: 1 }}>
<Box sx={{ p: 2, border: 1, borderColor: "divider", borderRadius: 1 }}>
<DataTable
table_title={"لیست استعلام ها"}
need_filter={false}
@@ -252,4 +252,3 @@ const InquiryPrivacyFencingList = () => {
);
};
export default InquiryPrivacyFencingList;

View File

@@ -4,7 +4,7 @@ import HeaderBottom from "./HaederBottom";
const HeaderWithLogo = () => {
return (
<Stack sx={{ width: '100%', position: 'fixed', zIndex: 1200, background: '#fff' }}>
<Stack sx={{ width: "100%", position: "fixed", zIndex: 1200, background: "#fff" }}>
<HeaderTop />
<HeaderBottom />
</Stack>

View File

@@ -90,7 +90,7 @@ const HeaderWithSidebar = ({ children }) => {
boxSizing: "border-box",
borderTop: 1,
borderTopColor: "divider",
position: 'inherit'
position: "inherit",
},
}}
variant="persistent"
@@ -103,7 +103,9 @@ const HeaderWithSidebar = ({ children }) => {
</IconButton>
</DrawerHeader>
<SidebarMenu />
<Typography textAlign={'center'} variant="caption" sx={{ py: .2, fontFamily: 'sans-serif' }}>v{process.env.NEXT_PUBLIC_VERSION}</Typography>
<Typography textAlign={"center"} variant="caption" sx={{ py: 0.2, fontFamily: "sans-serif" }}>
v{process.env.NEXT_PUBLIC_VERSION}
</Typography>
</Drawer>
<Main open={open} sx={{ height: "100%", width: "100%", overflow: "hidden" }}>
<DrawerHeader />
@@ -114,4 +116,4 @@ const HeaderWithSidebar = ({ children }) => {
</Box>
);
};
export default HeaderWithSidebar;
export default HeaderWithSidebar;