"use client"; import React, { useContext, useRef, useState } from "react"; import { BottomSheet } from "react-spring-bottom-sheet"; import Input from "plugins/Input/page"; import AppContext from "@ctx/AppContext"; import SimpleReactValidator from "simple-react-validator"; import { toast } from "react-toastify"; import Buttonbriz from "plugins/Buttonbriz/page"; const BottomSheetCreateEmployees = (props) => { const CTX = useContext(AppContext); const [firstName, setFirstName] = useState(""); const [lastName, setLastName] = useState(""); const [phoneNumber, setPhoneNumber] = useState(""); const [nationalId, setNationalId] = useState(""); const [gender, setGender] = useState(0); const [roleSelectData, setRoleSelectData] = useState(""); const [, forceUpdate] = useState(); const validator = useRef( new SimpleReactValidator({ messages: { required: "پر کردن این فیلد الزامی میباشد", }, element: (message) => ( <>
{message}
), }) ); const rolesChoose = CTX.state.rolesChoose; const rolesData = CTX.state.rolesData; const body = { phoneNumber, firstName, lastName, // birthDate, gender, nationalId, roleIds: rolesChoose, }; const handleCreateUser = () => { if (validator.current.allValid()) { CTX.CreateUser(body); } else { toast.error("پرکردن همه ی فیلد ها واجب است", { position: "bottom-right", autoClose: 2000, hideProgressBar: false, closeOnClick: true, pauseOnHover: true, draggable: true, progress: undefined, }); validator.current.showMessages(); forceUpdate(1); } }; const deleteRole = (id) => { CTX.setRolesChoose(rolesChoose.filter((el) => el !== id)); }; return ( { if (e.type == "OPEN") { CTX.GetRoles(); } }} open={CTX.state.BottomSheetCreateEmployeesOpen} onDismiss={() => CTX.setBottomSheetCreateEmployeesOpen(false)} >

افزودن کاربر جدید

{ setFirstName(e.target.value); validator.current.showMessageFor("firstName"); }} style="text-right" validator={true} validatorData={validator.current.message( "firstName", firstName, "required" )} />
{ setLastName(e.target.value); validator.current.showMessageFor("lastName"); }} style="text-right" validator={true} validatorData={validator.current.message( "lastName", lastName, "required" )} />
{ setGender(e.target.value); validator.current.showMessageFor("gender"); }} style="text-right" validator={true} validatorData={validator.current.message( "gender", gender, "required" )} select={true} selectData={[ { key: "مرد", value: "0" }, { key: "زن", value: "1" }, ]} />
{ setPhoneNumber(e.target.value); validator.current.showMessageFor("phoneNumber"); }} style="text-right" validator={true} validatorData={validator.current.message( "phoneNumber", phoneNumber, "required" )} />
{ setNationalId(e.target.value); }} style="text-right" />
{ setRoleSelectData(e.target.value); console.log("s11515", e.target.value); if (!!rolesChoose.find((b) => b == e.target.value)) { toast.error("نقش تکراری است", { position: "bottom-right", closeOnClick: true, }); } else { CTX.setRolesChoose((current) => [...current, e.target.value]); } }} style="text-right" validatorData={validator.current.message( "phoneNumber", phoneNumber, "required" )} select={true} selectData={CTX.state.rolesData} />
{rolesChoose && rolesChoose.map((e) => (
deleteRole(e)} >

{rolesData?.find((b) => b.id == e).persianName}

))}
handleCreateUser()} />
); }; export default BottomSheetCreateEmployees;