committed by
GitHub
parent
28af206696
commit
5ac43b6c3b
@@ -3,16 +3,19 @@ import StyledForm from "@/core/components/StyledForm";
|
||||
import validateNationalCode from "@/core/utils/nationalCodeValidation";
|
||||
import { yupResolver } from "@hookform/resolvers/yup";
|
||||
import { Beenhere, ExitToApp } from "@mui/icons-material";
|
||||
import { Button, DialogActions, DialogContent, Grid, Stack } from "@mui/material";
|
||||
import { Button, DialogActions, DialogContent, Grid, Stack, TextField } from "@mui/material";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { object, string } from "yup";
|
||||
|
||||
const validationSchema = object({
|
||||
name: string().required("وارد کردن نام فارسی الزامیست!"),
|
||||
name: string().required("وارد کردن نام و نام خانوادگی الزامیست!"),
|
||||
code: string()
|
||||
.required("لطفا کد ملی را وارد کنید!!!")
|
||||
.test("max", "کد ملی باید شامل 10 رقم باشد", (value) => value.toString().length === 10)
|
||||
.test("validation", "کد ملی صحیح نمی باشد", (value) => validateNationalCode(value)),
|
||||
phone_number: string()
|
||||
.matches(/^09\d{9}$/, "شماره موبایل باید با 09 شروع شده و 11 رقم باشد")
|
||||
.required("لطفا تلفن همراه را وارد کنید!!!"),
|
||||
});
|
||||
|
||||
const CreateFormContent = ({ setOpen, defaultValues, onSubmitBase }) => {
|
||||
@@ -44,10 +47,10 @@ const CreateFormContent = ({ setOpen, defaultValues, onSubmitBase }) => {
|
||||
<PersianTextField
|
||||
fullWidth
|
||||
size="small"
|
||||
label="نام فارسی"
|
||||
label="نام و نام خانوادگی"
|
||||
value={value}
|
||||
onChange={onChange}
|
||||
placeholder="نام فارسی را وارد کنید"
|
||||
placeholder="نام و نام خانوادگی را وارد کنید"
|
||||
error={!!error}
|
||||
helperText={error ? error.message : null}
|
||||
variant="outlined"
|
||||
@@ -82,6 +85,43 @@ const CreateFormContent = ({ setOpen, defaultValues, onSubmitBase }) => {
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Stack>
|
||||
<Stack>
|
||||
<Grid spacing={2}>
|
||||
<Grid item xs={12} sm={6}>
|
||||
<Controller
|
||||
name="phone_number"
|
||||
control={control}
|
||||
render={({ field, fieldState: { error } }) => (
|
||||
<TextField
|
||||
value={field.value}
|
||||
variant="outlined"
|
||||
name="phone_number"
|
||||
type={"tel"}
|
||||
inputProps={{
|
||||
inputMode: "number",
|
||||
min: 0,
|
||||
pattern: "[0-9]*",
|
||||
}}
|
||||
onChange={(event) => {
|
||||
const inputValue = event.target.value;
|
||||
if (isNaN(Number(inputValue))) {
|
||||
return;
|
||||
}
|
||||
field.onChange(inputValue);
|
||||
}}
|
||||
label="شماره همراه"
|
||||
placeholder={"شماره همراه را وارد کنید"}
|
||||
fullWidth
|
||||
size="small"
|
||||
error={error}
|
||||
helperText={error?.message}
|
||||
InputLabelProps={{ shrink: true }}
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Stack>
|
||||
</Stack>
|
||||
</DialogContent>
|
||||
<DialogActions>
|
||||
|
||||
@@ -10,11 +10,13 @@ const CreateForm = ({ open, setOpen, mutate }) => {
|
||||
const defaultValues = {
|
||||
name: "",
|
||||
code: "",
|
||||
phone_number: "",
|
||||
};
|
||||
const onSubmit = async (result) => {
|
||||
const formData = new FormData();
|
||||
formData.append("name", result.name);
|
||||
formData.append("code", result.code);
|
||||
formData.append("mobile", result.phone_number);
|
||||
|
||||
await requestServer(CREATE_RAHDARAN_ITEM, "post", {
|
||||
data: formData,
|
||||
|
||||
@@ -10,11 +10,13 @@ const EditController = ({ rowId, mutate, setOpen, row }) => {
|
||||
const defaultData = {
|
||||
name: row.original?.name || "",
|
||||
code: row.original?.code || "",
|
||||
phone_number: row.original?.mobile || "",
|
||||
};
|
||||
const handleSubmit = async (result) => {
|
||||
const formData = new FormData();
|
||||
formData.append("name", result.name);
|
||||
formData.append("code", result.code);
|
||||
formData.append("mobile", result.phone_number);
|
||||
|
||||
await requestServer(`${UPDATE_RAHDARAN_ITEM}/${rowId}`, "post", {
|
||||
data: formData,
|
||||
|
||||
@@ -43,6 +43,17 @@ const RahdaranList = () => {
|
||||
grow: false,
|
||||
size: 100,
|
||||
},
|
||||
{
|
||||
accessorKey: "mobile",
|
||||
header: "شماره همراه",
|
||||
id: "mobile",
|
||||
enableColumnFilter: true,
|
||||
datatype: "text",
|
||||
filterMode: "equals",
|
||||
columnFilterModeOptions: ["equals", "contains"],
|
||||
grow: false,
|
||||
size: 100,
|
||||
},
|
||||
],
|
||||
[]
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user