From 59f892cb10ee018232f13f7ea98466b1a73b2a3f Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Thu, 18 Jun 2026 18:23:45 +0330 Subject: [PATCH] add avaiable stock --- src/pages/food/Create.tsx | 17 ++++++++++++++++- src/pages/food/Update.tsx | 5 +++++ src/pages/food/components/BasicInfoSection.tsx | 13 ++++++++++++- src/pages/food/types/Types.ts | 1 + 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/pages/food/Create.tsx b/src/pages/food/Create.tsx index e5449a7..5420dc2 100644 --- a/src/pages/food/Create.tsx +++ b/src/pages/food/Create.tsx @@ -50,6 +50,7 @@ const CreateFood: FC = () => { images: [], isSpecialOffer: false, dailyStock: 0, + availableStock: 0, order: 0 }, validationSchema: Yup.object().shape({ @@ -59,6 +60,9 @@ const CreateFood: FC = () => { prepareTime: Yup.number().required('زمان آماده‌سازی الزامی است').min(0, 'زمان آماده‌سازی باید مثبت باشد'), discount: Yup.number().min(0, 'تخفیف باید مثبت باشد'), dailyStock: Yup.number().required('موجودی روزانه الزامی است').min(0, 'موجودی روزانه باید مثبت باشد'), + availableStock: Yup.number() + .required('موجودی فعلی الزامی است') + .min(0, 'موجودی فعلی باید مثبت باشد'), content: Yup.array().of(Yup.string()), weekDays: Yup.array().of(Yup.number()), mealTypes: Yup.array().of(Yup.string()) @@ -147,7 +151,7 @@ const CreateFood: FC = () => { /> -
+
{ onChange={(e) => formik.setFieldValue('dailyStock', Number(e.target.value))} error_text={formik.touched.dailyStock && formik.errors.dailyStock ? formik.errors.dailyStock : ''} /> + + formik.setFieldValue('availableStock', Number(e.target.value))} + error_text={formik.touched.availableStock && formik.errors.availableStock ? formik.errors.availableStock : ''} + />
diff --git a/src/pages/food/Update.tsx b/src/pages/food/Update.tsx index 30b3469..356459c 100644 --- a/src/pages/food/Update.tsx +++ b/src/pages/food/Update.tsx @@ -53,6 +53,7 @@ const UpdateFood: FC = () => { images: [], isSpecialOffer: false, dailyStock: 0, + availableStock: 0, order: 0 }, validationSchema: Yup.object().shape({ @@ -62,6 +63,9 @@ const UpdateFood: FC = () => { prepareTime: Yup.number().required('زمان آماده‌سازی الزامی است').min(0, 'زمان آماده‌سازی باید مثبت باشد'), discount: Yup.number().min(0, 'تخفیف باید مثبت باشد'), dailyStock: Yup.number().required('موجودی روزانه الزامی است').min(0, 'موجودی روزانه باید مثبت باشد'), + availableStock: Yup.number() + .required('موجودی فعلی الزامی است') + .min(0, 'موجودی فعلی باید مثبت باشد'), content: Yup.array().of(Yup.string()), weekDays: Yup.array().of(Yup.number()), mealTypes: Yup.array().of(Yup.string()) @@ -127,6 +131,7 @@ const UpdateFood: FC = () => { images: food.images || [], isSpecialOffer: food.isSpecialOffer || false, dailyStock: food.inventory?.totalStock || 0, + availableStock: food.inventory?.availableStock || 0, order: food.order || 0 }) setIsActive(food.isActive || false) diff --git a/src/pages/food/components/BasicInfoSection.tsx b/src/pages/food/components/BasicInfoSection.tsx index 0f799cc..a10a0cc 100644 --- a/src/pages/food/components/BasicInfoSection.tsx +++ b/src/pages/food/components/BasicInfoSection.tsx @@ -37,7 +37,7 @@ const BasicInfoSection: FC = ({ formik, categories }) => />
-
+
= ({ formik, categories }) => onChange={(e) => formik.setFieldValue('dailyStock', Number(e.target.value))} error_text={formik.touched.dailyStock && formik.errors.dailyStock ? formik.errors.dailyStock : ''} /> + + formik.setFieldValue('availableStock', Number(e.target.value))} + error_text={formik.touched.availableStock && formik.errors.availableStock ? formik.errors.availableStock : ''} + />
diff --git a/src/pages/food/types/Types.ts b/src/pages/food/types/Types.ts index 62a36ba..ea55680 100644 --- a/src/pages/food/types/Types.ts +++ b/src/pages/food/types/Types.ts @@ -16,6 +16,7 @@ export type CreateFoodType = { discount: number; isSpecialOffer: boolean; dailyStock: number; + availableStock: number; order: number; };