fixes
This commit is contained in:
parent
9b3c1fb49b
commit
7fc7258a24
|
|
@ -37,6 +37,7 @@ const Default = ({
|
||||||
name={name}
|
name={name}
|
||||||
id={name}
|
id={name}
|
||||||
disabled={isDisabled}
|
disabled={isDisabled}
|
||||||
|
value={formik?.values?.[name]}
|
||||||
size="large"
|
size="large"
|
||||||
{...(type === "number" && { min: 0 })}
|
{...(type === "number" && { min: 0 })}
|
||||||
{...props}
|
{...props}
|
||||||
|
|
|
||||||
|
|
@ -5,54 +5,33 @@ import { QueryStatusEnum } from "../../../../enums/QueryStatus";
|
||||||
import ValidationModelForm from "./ValidationModelForm";
|
import ValidationModelForm from "./ValidationModelForm";
|
||||||
import SalesModelForm from "./SalesModelForm";
|
import SalesModelForm from "./SalesModelForm";
|
||||||
import SubmitModelForm from "./SubmitModelForm";
|
import SubmitModelForm from "./SubmitModelForm";
|
||||||
|
|
||||||
import { useAddSales } from "../../../../api/sales";
|
|
||||||
import LayoutModel from "./LayoutModel";
|
import LayoutModel from "./LayoutModel";
|
||||||
import { useObjectToEdit } from "../../../../zustand/ObjectToEditState";
|
import { useObjectToEdit } from "../../../../zustand/ObjectToEditState";
|
||||||
|
import { salesModelEnum } from "../../../../enums/salesForms";
|
||||||
|
|
||||||
const AddModel: React.FC = () => {
|
const AddModel: React.FC = () => {
|
||||||
// const { mutate, status } = useAddSales();
|
|
||||||
|
|
||||||
const handleSubmit = (values: any) => {
|
|
||||||
// mutate({
|
|
||||||
// ...values,
|
|
||||||
// });
|
|
||||||
};
|
|
||||||
enum modal {
|
|
||||||
Number= 0,
|
|
||||||
Package= 1,
|
|
||||||
Sure= 2
|
|
||||||
}
|
|
||||||
|
|
||||||
|
const { objectToEdit } = useObjectToEdit();
|
||||||
|
const handleSubmit = () => {};
|
||||||
const Forms = {
|
const Forms = {
|
||||||
[modal.Number]: <ValidationModelForm /> ,
|
[salesModelEnum.Number]: <ValidationModelForm /> ,
|
||||||
[modal.Package] : <SalesModelForm /> ,
|
[salesModelEnum.Package] : <SalesModelForm /> ,
|
||||||
[modal.Sure]: <SubmitModelForm />
|
[salesModelEnum.Submit]: <SubmitModelForm />
|
||||||
}
|
}
|
||||||
// const modelTitle = Forms.[modal.Number] ? "sale" : Forms.Package ? "adcs" : "Ascas";
|
|
||||||
const { objectToEdit,setObjectToEdit } = useObjectToEdit();
|
|
||||||
console.log(objectToEdit);
|
console.log(objectToEdit);
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<LayoutModel
|
<LayoutModel
|
||||||
status={objectToEdit?.status as QueryStatusEnum}
|
status={objectToEdit?.status as QueryStatusEnum}
|
||||||
ModelEnum={ModalEnum.Sales_ADD}
|
ModelEnum={ModalEnum.Sales_ADD}
|
||||||
modelTitle={"modelTitle"}
|
|
||||||
handleSubmit={handleSubmit}
|
handleSubmit={handleSubmit}
|
||||||
getInitialValues={getInitialValues({})}
|
getInitialValues={getInitialValues(objectToEdit)}
|
||||||
getValidationSchema={getValidationSchema}
|
getValidationSchema={getValidationSchema}
|
||||||
initialButtonName={false}
|
|
||||||
buttonTitle="search"
|
|
||||||
>
|
>
|
||||||
{/* {Forms["Number"]} */}
|
{Forms[salesModelEnum.Number]}
|
||||||
<>
|
{Forms[salesModelEnum.Package]}
|
||||||
<ValidationModelForm/>
|
{Forms[salesModelEnum.Submit]}
|
||||||
<SalesModelForm/>
|
|
||||||
<SubmitModelForm/>
|
|
||||||
</>
|
|
||||||
|
|
||||||
</LayoutModel>
|
</LayoutModel>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import React from "react";
|
|
||||||
import ValidationField from "../../../../Components/ValidationField/ValidationField";
|
import ValidationField from "../../../../Components/ValidationField/ValidationField";
|
||||||
import { Col, Row } from "reactstrap";
|
import { Col, Row } from "reactstrap";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,12 @@ import { useTranslation } from "react-i18next";
|
||||||
import { QueryStatusEnum } from "../../../../enums/QueryStatus";
|
import { QueryStatusEnum } from "../../../../enums/QueryStatus";
|
||||||
import SpinContainer from "../../../../Components/Layout/SpinContainer";
|
import SpinContainer from "../../../../Components/Layout/SpinContainer";
|
||||||
import { MdCancel } from "react-icons/md";
|
import { MdCancel } from "react-icons/md";
|
||||||
import { Form, Formik } from "formik";
|
import { Form, Formik, useFormikContext } from "formik";
|
||||||
|
|
||||||
interface LayoutModalProps {
|
interface LayoutModalProps {
|
||||||
isAddModal?: boolean;
|
isAddModal?: boolean;
|
||||||
modelTitle: string;
|
|
||||||
handleSubmit: (values: any) => void;
|
handleSubmit: (values: any) => void;
|
||||||
|
handleReset?: (values: any) => void;
|
||||||
getInitialValues: any;
|
getInitialValues: any;
|
||||||
getValidationSchema: any;
|
getValidationSchema: any;
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
|
|
@ -20,42 +20,41 @@ interface LayoutModalProps {
|
||||||
ModelClassName?: string;
|
ModelClassName?: string;
|
||||||
width?: string;
|
width?: string;
|
||||||
isLoading?: boolean;
|
isLoading?: boolean;
|
||||||
buttonTitle?:string;
|
|
||||||
initialButtonName?:boolean
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const LayoutModel = ({
|
const LayoutModel = ({
|
||||||
isAddModal = true,
|
isAddModal = true,
|
||||||
children,
|
children,
|
||||||
handleSubmit = () => {},
|
handleSubmit = () => {},
|
||||||
|
handleReset = () => {},
|
||||||
getInitialValues,
|
getInitialValues,
|
||||||
getValidationSchema,
|
getValidationSchema,
|
||||||
status,
|
status,
|
||||||
modelTitle,
|
|
||||||
ModelEnum,
|
ModelEnum,
|
||||||
ModelClassName,
|
ModelClassName,
|
||||||
width = "800px",
|
width = "800px",
|
||||||
isLoading = false,
|
isLoading = false,
|
||||||
buttonTitle,
|
|
||||||
initialButtonName = true,
|
|
||||||
}: LayoutModalProps) => {
|
}: LayoutModalProps) => {
|
||||||
const { isOpen, setIsOpen } = useModalState((state) => state);
|
const { isOpen, setIsOpen } = useModalState((state) => state);
|
||||||
const { setObjectToEdit } = useObjectToEdit();
|
const { setObjectToEdit } = useObjectToEdit();
|
||||||
|
const formik = useFormikContext();
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isAddModal && status === QueryStatusEnum.SUCCESS) {
|
if (isAddModal && status === QueryStatusEnum.SUCCESS) {
|
||||||
setIsOpen("isSuccess");
|
setIsOpen("isSuccess");
|
||||||
setObjectToEdit({});
|
setObjectToEdit({});
|
||||||
|
formik.resetForm();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (status === QueryStatusEnum.SUCCESS) {
|
if (status === QueryStatusEnum.SUCCESS) {
|
||||||
setIsOpen("");
|
setIsOpen("");
|
||||||
setObjectToEdit({});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}, [setIsOpen, status]);
|
}, [setIsOpen, status]);
|
||||||
|
|
||||||
const handleCancel = () => {
|
const handleCancel = () => {
|
||||||
setIsOpen("");
|
setIsOpen("");
|
||||||
setObjectToEdit({});
|
setObjectToEdit({});
|
||||||
|
formik.resetForm();
|
||||||
};
|
};
|
||||||
|
|
||||||
const [t] = useTranslation();
|
const [t] = useTranslation();
|
||||||
|
|
@ -75,6 +74,7 @@ const LayoutModel = ({
|
||||||
initialValues={getInitialValues}
|
initialValues={getInitialValues}
|
||||||
validationSchema={getValidationSchema}
|
validationSchema={getValidationSchema}
|
||||||
onSubmit={handleSubmit}
|
onSubmit={handleSubmit}
|
||||||
|
onReset={handleReset}
|
||||||
>
|
>
|
||||||
{(formik) => {
|
{(formik) => {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
import { Col, Row } from "reactstrap";
|
|
||||||
import ValidationField from "../../../../Components/ValidationField/ValidationField";
|
import ValidationField from "../../../../Components/ValidationField/ValidationField";
|
||||||
import useFormatDataToSelect from "../../../../utils/useFormatDataToSelect";
|
|
||||||
import { useFormikContext } from "formik";
|
import { useFormikContext } from "formik";
|
||||||
import { useModalState } from "../../../../zustand/Modal";
|
import { useModalState } from "../../../../zustand/Modal";
|
||||||
import { useObjectToEdit } from "../../../../zustand/ObjectToEditState";
|
import { useObjectToEdit } from "../../../../zustand/ObjectToEditState";
|
||||||
|
|
@ -11,21 +9,22 @@ import { MdCancel } from "react-icons/md";
|
||||||
|
|
||||||
const Form = () => {
|
const Form = () => {
|
||||||
|
|
||||||
const {values,setFieldValue} = useFormikContext<any>()
|
|
||||||
console.log(values?.currentModalIndex);
|
|
||||||
const { isOpen, setIsOpen } = useModalState((state) => state);
|
|
||||||
const { objectToEdit,setObjectToEdit } = useObjectToEdit();
|
const { objectToEdit,setObjectToEdit } = useObjectToEdit();
|
||||||
|
const { setIsOpen } = useModalState((state) => state);
|
||||||
const {t} = useTranslation();
|
const {t} = useTranslation();
|
||||||
|
|
||||||
const formik = useFormikContext();
|
const formik = useFormikContext();
|
||||||
|
const { values, setFieldValue } = useFormikContext<any>()
|
||||||
|
|
||||||
const handleNext = ()=>{
|
const handleNext = ()=>{
|
||||||
setFieldValue( "currentModalIndex" , values?.currentModalIndex + 1 )
|
setFieldValue( "currentModalIndex" , values?.currentModalIndex + 1 )
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleCancel = () => {
|
const handleCancel = () => {
|
||||||
setIsOpen("");
|
setIsOpen("");
|
||||||
setObjectToEdit({});
|
formik.resetForm();
|
||||||
};
|
};
|
||||||
|
|
||||||
console.log(objectToEdit);
|
|
||||||
const student_info = objectToEdit?.data?.data
|
const student_info = objectToEdit?.data?.data
|
||||||
const PackagesInfo = student_info?.packages.map((info:any) => ({
|
const PackagesInfo = student_info?.packages.map((info:any) => ({
|
||||||
id: info?.id,
|
id: info?.id,
|
||||||
|
|
@ -35,15 +34,15 @@ console.log(objectToEdit);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
values?.currentModalIndex == 1 &&
|
values?.currentModalIndex == 1 &&
|
||||||
|
|
||||||
<div className="w-100">
|
<div className="w-100">
|
||||||
<header className="modal_title">
|
|
||||||
<span>
|
<header className="modal_title">
|
||||||
{t(`models.add_sales`)}{" "}
|
<span>
|
||||||
</span>
|
{t(`models.add_sales`)}{" "}
|
||||||
<MdCancel onClick={handleCancel} />
|
</span>
|
||||||
</header>
|
<MdCancel onClick={handleCancel} />
|
||||||
<Divider />
|
</header>
|
||||||
|
<Divider />
|
||||||
<div className="sales_info_modal">
|
<div className="sales_info_modal">
|
||||||
<div className="info">
|
<div className="info">
|
||||||
<img src="/Image/faker_user.png" alt="" />
|
<img src="/Image/faker_user.png" alt="" />
|
||||||
|
|
@ -60,7 +59,6 @@ console.log(objectToEdit);
|
||||||
option={PackagesInfo}
|
option={PackagesInfo}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
{/* {values?.currentModalIndex} */}
|
|
||||||
<div className="buttons">
|
<div className="buttons">
|
||||||
<Button className="back_button pointer" onClick={handleCancel}>
|
<Button className="back_button pointer" onClick={handleCancel}>
|
||||||
{t("practical.cancel")}
|
{t("practical.cancel")}
|
||||||
|
|
|
||||||
|
|
@ -8,15 +8,16 @@ import { Button, Divider, Spin } from "antd";
|
||||||
import { MdCancel } from "react-icons/md";
|
import { MdCancel } from "react-icons/md";
|
||||||
import { useAddSales } from "../../../../api/sales";
|
import { useAddSales } from "../../../../api/sales";
|
||||||
import { useEffect } from "react";
|
import { useEffect } from "react";
|
||||||
|
import { toast } from "react-toastify";
|
||||||
|
|
||||||
const Form = () => {
|
const Form = () => {
|
||||||
|
|
||||||
const {values,setFieldValue} = useFormikContext<any>()
|
|
||||||
const { isOpen, setIsOpen } = useModalState((state) => state);
|
|
||||||
const { setObjectToEdit,objectToEdit } = useObjectToEdit();
|
const { setObjectToEdit,objectToEdit } = useObjectToEdit();
|
||||||
|
const { resetForm, values, setFieldValue } = useFormikContext<any>();
|
||||||
|
const { setIsOpen } = useModalState((state) => state);
|
||||||
const {t} = useTranslation();
|
const {t} = useTranslation();
|
||||||
|
|
||||||
const {mutate,isSuccess,status} = useAddSales();
|
const {mutate,status,error}:any = useAddSales();
|
||||||
const coupon_id_object = objectToEdit?.data?.data?.packages.find((e:any)=>(e.id === values?.package_id))
|
const coupon_id_object = objectToEdit?.data?.data?.packages.find((e:any)=>(e.id === values?.package_id))
|
||||||
const student_info = objectToEdit?.data?.data
|
const student_info = objectToEdit?.data?.data
|
||||||
const PackagesInfo = student_info?.packages.map((info:any) => ({
|
const PackagesInfo = student_info?.packages.map((info:any) => ({
|
||||||
|
|
@ -24,7 +25,7 @@ const Form = () => {
|
||||||
name: info.name + " " + `( ${info?.original_price} )`
|
name: info.name + " " + `( ${info?.original_price} )`
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
||||||
const handleNext = ()=>{
|
const handleNext = ()=>{
|
||||||
mutate({
|
mutate({
|
||||||
package_id:values?.package_id,
|
package_id:values?.package_id,
|
||||||
|
|
@ -33,9 +34,9 @@ const Form = () => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const handleCancel = () => {
|
const handleCancel = () => {
|
||||||
setObjectToEdit({});
|
resetForm();
|
||||||
setIsOpen("");
|
setIsOpen("");
|
||||||
setFieldValue( "currentModalIndex" , values?.currentModalIndex - 2 )
|
setFieldValue( "currentModalIndex" , 0 )
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -44,26 +45,27 @@ const Form = () => {
|
||||||
setIsOpen("");
|
setIsOpen("");
|
||||||
setObjectToEdit({});
|
setObjectToEdit({});
|
||||||
setFieldValue( "currentModalIndex" , values?.currentModalIndex - 2 )
|
setFieldValue( "currentModalIndex" , values?.currentModalIndex - 2 )
|
||||||
|
}else if(status === QueryStatusEnum.ERROR){
|
||||||
|
toast.error(t(`toast.${error?.response?.data?.message}` || `toast.error_while_trying_please_try_again`))
|
||||||
}
|
}
|
||||||
if(values?.currentModalIndex >= 3){
|
if(values?.currentModalIndex >= 3){
|
||||||
setIsOpen("")
|
setIsOpen("")
|
||||||
setObjectToEdit({})
|
setObjectToEdit({})
|
||||||
setFieldValue( "currentModalIndex" , values?.currentModalIndex - 2 )
|
setFieldValue( "currentModalIndex" , 0 )
|
||||||
|
|
||||||
}
|
}
|
||||||
}, [isSuccess,values?.currentModalIndex])
|
}, [values?.currentModalIndex,status])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
values?.currentModalIndex == 2 &&
|
values?.currentModalIndex == 2 &&
|
||||||
|
|
||||||
<div className="w-100">
|
<div className="w-100">
|
||||||
<header className="modal_title">
|
<header className="modal_title">
|
||||||
<span>
|
<span>
|
||||||
{t(`models.are_you_sure_about_sale`)}{" "}
|
{t(`models.are_you_sure_about_sale`)}{" "}
|
||||||
</span>
|
</span>
|
||||||
<MdCancel onClick={handleCancel} />
|
<MdCancel onClick={handleCancel} />
|
||||||
</header>
|
</header>
|
||||||
<Divider />
|
<Divider />
|
||||||
<div className="sales_info_modal">
|
<div className="sales_info_modal">
|
||||||
<div className="info">
|
<div className="info">
|
||||||
<img src="/Image/faker_user.png" alt="" />
|
<img src="/Image/faker_user.png" alt="" />
|
||||||
|
|
|
||||||
|
|
@ -9,18 +9,20 @@ import { Button, Divider, Spin } from "antd";
|
||||||
import { MdCancel } from "react-icons/md";
|
import { MdCancel } from "react-icons/md";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { useGetStudentByPhone } from "../../../../api/sales";
|
import { useGetStudentByPhone } from "../../../../api/sales";
|
||||||
|
import { toast } from "react-toastify";
|
||||||
|
|
||||||
const Form = () => {
|
const Form = () => {
|
||||||
|
|
||||||
const {values,setFieldValue} = useFormikContext<any>()
|
|
||||||
const [triggerApi, setTriggerApi] = useState(false)
|
const [triggerApi, setTriggerApi] = useState(false)
|
||||||
const phoneNumber : number = values?.phone_number
|
const { setIsOpen } = useModalState((state) => state);
|
||||||
const { isOpen, setIsOpen } = useModalState((state) => state);
|
const { setObjectToEdit } = useObjectToEdit();
|
||||||
const { objectToEdit,setObjectToEdit } = useObjectToEdit();
|
|
||||||
const {t} = useTranslation();
|
const {t} = useTranslation();
|
||||||
const formik = useFormikContext();
|
|
||||||
|
|
||||||
const {data,isError,isSuccess,status} = useGetStudentByPhone({
|
const formik = useFormikContext();
|
||||||
|
const {values,setFieldValue} = useFormikContext<any>()
|
||||||
|
const phoneNumber : number = values?.phone_number
|
||||||
|
|
||||||
|
const { data,isError,status } = useGetStudentByPhone({
|
||||||
phone_number:phoneNumber,
|
phone_number:phoneNumber,
|
||||||
},{
|
},{
|
||||||
enabled: triggerApi
|
enabled: triggerApi
|
||||||
|
|
@ -30,22 +32,13 @@ const Form = () => {
|
||||||
if(values?.phone_number && phoneNumber.toString().length === 10){
|
if(values?.phone_number && phoneNumber.toString().length === 10){
|
||||||
setTriggerApi(true)
|
setTriggerApi(true)
|
||||||
}
|
}
|
||||||
// if(values?.currentModalIndex == 0 && phoneNumber.toString().length === 10){
|
|
||||||
// toast.error("phone number not found ")
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
// console.log(status);
|
|
||||||
// console.log(isSuccess);
|
|
||||||
// console.log(isError);
|
|
||||||
// console.log(data?.data);
|
|
||||||
// console.log(triggerApi);
|
|
||||||
|
|
||||||
|
|
||||||
const handleCancel = () => {
|
const handleCancel = () => {
|
||||||
setIsOpen("");
|
setIsOpen("");
|
||||||
setObjectToEdit({});
|
formik.resetForm();
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if(!!data?.data?.phone_number){
|
if(!!data?.data?.phone_number){
|
||||||
setFieldValue( "currentModalIndex" , values?.currentModalIndex + 1 )
|
setFieldValue( "currentModalIndex" , values?.currentModalIndex + 1 )
|
||||||
|
|
@ -55,49 +48,52 @@ const Form = () => {
|
||||||
else if(!data?.data){
|
else if(!data?.data){
|
||||||
setTriggerApi(false)
|
setTriggerApi(false)
|
||||||
}
|
}
|
||||||
|
if(isError){
|
||||||
}, [data?.data,triggerApi])
|
toast.error(t('toast.phone_number_not_found'))
|
||||||
|
}
|
||||||
|
}, [data?.data,triggerApi,isError])
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
values?.currentModalIndex == 0 &&
|
values?.currentModalIndex == 0 &&
|
||||||
|
|
||||||
<div className="w-100">
|
<div className="w-100">
|
||||||
<header className="modal_title">
|
|
||||||
<span>
|
|
||||||
{t(`models.add_sales`)}{" "}
|
|
||||||
</span>
|
|
||||||
<MdCancel onClick={handleCancel} />
|
|
||||||
</header>
|
|
||||||
<Divider />
|
|
||||||
|
|
||||||
<Row className="w-100">
|
<header className="modal_title">
|
||||||
<Col>
|
<span>
|
||||||
<ValidationField
|
{t(`models.add_sales`)}{" "}
|
||||||
placeholder="phone_number"
|
</span>
|
||||||
label="phone_number"
|
<MdCancel onClick={handleCancel} />
|
||||||
name="phone_number"
|
</header>
|
||||||
/>
|
<Divider />
|
||||||
<Divider className="margin_auto"/>
|
|
||||||
</Col>
|
<Row className="w-100">
|
||||||
<div className="buttons">
|
<Col>
|
||||||
<Button className="back_button pointer" onClick={handleCancel}>
|
<ValidationField
|
||||||
{t("practical.cancel")}
|
placeholder="phone_number"
|
||||||
</Button>
|
label="phone_number"
|
||||||
<Button
|
name="phone_number"
|
||||||
className="add_button"
|
/>
|
||||||
disabled={status === QueryStatusEnum.LOADING || !formik.dirty || !values?.phone_number}
|
<Divider className="margin_auto"/>
|
||||||
onClick={handleNext}
|
</Col>
|
||||||
>
|
<div className="buttons">
|
||||||
{t(`practical.sale`)}
|
<Button className="back_button pointer" onClick={handleCancel}>
|
||||||
{status === QueryStatusEnum.LOADING && (
|
{t("practical.cancel")}
|
||||||
<span className="Spinier_Div">
|
</Button>
|
||||||
<Spin />
|
<Button
|
||||||
</span>
|
className="add_button"
|
||||||
)}
|
disabled={status === QueryStatusEnum.LOADING || !formik.dirty || !values?.phone_number}
|
||||||
</Button>
|
onClick={handleNext}
|
||||||
</div>
|
>
|
||||||
|
{t(`practical.sale`)}
|
||||||
|
{status === QueryStatusEnum.LOADING && (
|
||||||
|
<span className="Spinier_Div">
|
||||||
|
<Spin />
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
</Row>
|
</Row>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
import * as Yup from "yup";
|
import * as Yup from "yup";
|
||||||
import { formatDate } from "../../../../utils/formatDate";
|
|
||||||
|
|
||||||
// Function to get the initial values
|
// Function to get the initial values
|
||||||
export const getInitialValues = (objectToEdit: any): any => {
|
export const getInitialValues = (objectToEdit: any): any => {
|
||||||
|
console.log(objectToEdit);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: objectToEdit?.id ?? null,
|
id: objectToEdit?.id ?? null,
|
||||||
phone_number: objectToEdit?.phone_number ?? null,
|
phone_number: objectToEdit?.phone_number ?? null,
|
||||||
currentModalIndex: 0,
|
currentModalIndex: 0,
|
||||||
package_id: objectToEdit?.package_id ?? null,
|
package_id: objectToEdit?.package_id ?? null,
|
||||||
student_id: objectToEdit?.student_id ?? 0,
|
student_id: objectToEdit?.student_id ?? null,
|
||||||
coupon_id: objectToEdit?.coupon_id ?? 1,
|
coupon_id: objectToEdit?.coupon_id ?? null,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,14 @@ const Table = lazy(() => import("./Table"));
|
||||||
const AddModalForm = lazy(() => import("./Model/AddModel"));
|
const AddModalForm = lazy(() => import("./Model/AddModel"));
|
||||||
|
|
||||||
const TableHeader = () => {
|
const TableHeader = () => {
|
||||||
|
|
||||||
const [t] = useTranslation();
|
const [t] = useTranslation();
|
||||||
useSetPageTitle([
|
useSetPageTitle([
|
||||||
{name:`${t(`page_header.home`)}`, path:"/"},
|
{name:`${t(`page_header.home`)}`, path:"/"},
|
||||||
{name:`${t(`page_header.sales`)}`, path:"sales"}
|
{name:`${t(`page_header.sales`)}`, path:"sales"}
|
||||||
]); return (
|
]);
|
||||||
|
|
||||||
|
return (
|
||||||
<div className="TableWithHeader">
|
<div className="TableWithHeader">
|
||||||
<Suspense fallback={<Spin />}>
|
<Suspense fallback={<Spin />}>
|
||||||
<PageHeader
|
<PageHeader
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,9 @@ import useSearchQuery from "../../../api/utils/useSearchQuery";
|
||||||
import { useFilterState } from "../../../Components/Utils/Filter/FilterState";
|
import { useFilterState } from "../../../Components/Utils/Filter/FilterState";
|
||||||
import { useGetAllSales } from "../../../api/sales";
|
import { useGetAllSales } from "../../../api/sales";
|
||||||
import { formatDate } from "../../../utils/formatDate";
|
import { formatDate } from "../../../utils/formatDate";
|
||||||
|
|
||||||
const App: React.FC = () => {
|
const App: React.FC = () => {
|
||||||
|
|
||||||
const [searchQuery] = useSearchQuery("name");
|
const [searchQuery] = useSearchQuery("name");
|
||||||
const { filterState }:any = useFilterState();
|
const { filterState }:any = useFilterState();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,10 @@ import Table from "./Table";
|
||||||
import { FaPlus } from "react-icons/fa";
|
import { FaPlus } from "react-icons/fa";
|
||||||
|
|
||||||
import AddModalForm from "./Model/AddModel";
|
import AddModalForm from "./Model/AddModel";
|
||||||
import EditModalForm from "./Model/EditModel";
|
|
||||||
// import DeleteModalForm from "../../";
|
|
||||||
|
|
||||||
export {
|
export {
|
||||||
Table,
|
Table,
|
||||||
useColumns,
|
useColumns,
|
||||||
AddModalForm,
|
AddModalForm,
|
||||||
EditModalForm,
|
|
||||||
// DeleteModalForm,
|
|
||||||
FaPlus,
|
FaPlus,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ import { useTranslation } from "react-i18next";
|
||||||
export const useColumns = () => {
|
export const useColumns = () => {
|
||||||
const [t] = useTranslation();
|
const [t] = useTranslation();
|
||||||
|
|
||||||
|
|
||||||
const columns: TableColumnsType<Sales> = [
|
const columns: TableColumnsType<Sales> = [
|
||||||
{
|
{
|
||||||
title: t("columns.id"),
|
title: t("columns.id"),
|
||||||
|
|
|
||||||
5
src/enums/salesForms.ts
Normal file
5
src/enums/salesForms.ts
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
export enum salesModelEnum {
|
||||||
|
Number= 0,
|
||||||
|
Package= 1,
|
||||||
|
Submit= 2
|
||||||
|
}
|
||||||
|
|
@ -1018,6 +1018,12 @@
|
||||||
"reseller_profit":"نسبة الأرباح (10%)",
|
"reseller_profit":"نسبة الأرباح (10%)",
|
||||||
"total_sells":"إجمالي المبيعات"
|
"total_sells":"إجمالي المبيعات"
|
||||||
},
|
},
|
||||||
|
"toast" : {
|
||||||
|
"phone_number_not_found":"رقم الهاتف غير موجود",
|
||||||
|
"error_while_trying_please_try_again":"حدث خطأ أثناء المحاولة، يرجى المحاولة مرة أخرى",
|
||||||
|
"Student Already Have this Package":"الطالب لديه هذه الحزمة بالفعل",
|
||||||
|
"The combination of student_id and package_id already exists.":"مجموعة الطالب والحزمة موجودة بالفعل."
|
||||||
|
},
|
||||||
"alphabet": {
|
"alphabet": {
|
||||||
"A": "A",
|
"A": "A",
|
||||||
"B": "B",
|
"B": "B",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user