forked from hesabix/arc
2.2 KiB
Executable file
2.2 KiB
Executable file
سناریو: افزودن سریع کالا در فروش سریع
مشکل
در بخش فروش سریع، وقتی کاربر کالایی را جستجو میکند و نتیجهای پیدا نمیشود، باید بتواند سریعاً کالای جدید را اضافه کند.
راهحل
گامهای سناریو:
-
جستجوی ناموفق:
- کاربر متن جستجو (بارکد/کد/نام) را در فیلد جستجو وارد میکند
- سیستم جستجو انجام میدهد
- اگر نتیجهای پیدا نشد، یک دکمه "+" کنار فیلد جستجو نمایش داده میشود
-
افزودن کالای جدید:
- کاربر روی دکمه "+" کلیک میکند
- دیالوگ افزودن کالا باز میشود
- فیلد "نام کالا" به صورت خودکار با متن جستجو شده پر میشود
- کاربر میتواند سایر اطلاعات کالا را تکمیل کند
-
افزودن خودکار به سبد:
- بعد از ثبت موفق کالا
- کالای جدید به صورت خودکار به سبد خرید اضافه میشود
- فیلد جستجو پاک میشود
- فوکوس به فیلد جستجو برمیگردد
پیادهسازی
1. افزودن متغیر state برای نگهداشتن آخرین جستجوی ناموفق
String? _lastFailedSearchQuery;
2. بهروزرسانی تابع _searchByBarcode
- وقتی نتیجهای پیدا نشد،
_lastFailedSearchQueryرا ست کن
3. افزودن دکمه + در UI
- اگر
_lastFailedSearchQueryمقدار داشته باشد، دکمه + نمایش داده شود - دکمه کنار یا داخل فیلد جستجو قرار بگیرد
4. ایجاد تابع _openAddProductDialog
- باز کردن
ProductFormDialogبا نام پیشفرض - منتظر ماندن برای نتیجه
- اگر کالا با موفقیت ثبت شد، آن را به سبد خرید اضافه کن
5. مدیریت حالت
- بعد از موفقیت یا بستن دیالوگ،
_lastFailedSearchQueryرا پاک کن