arc/docs/QUICK_SALES_ADD_PRODUCT_SCENARIO.md
2026-04-14 19:34:55 +03:30

2.2 KiB
Executable file

سناریو: افزودن سریع کالا در فروش سریع

مشکل

در بخش فروش سریع، وقتی کاربر کالایی را جستجو می‌کند و نتیجه‌ای پیدا نمی‌شود، باید بتواند سریعاً کالای جدید را اضافه کند.

راه‌حل

گام‌های سناریو:

  1. جستجوی ناموفق:

    • کاربر متن جستجو (بارکد/کد/نام) را در فیلد جستجو وارد می‌کند
    • سیستم جستجو انجام می‌دهد
    • اگر نتیجه‌ای پیدا نشد، یک دکمه "+" کنار فیلد جستجو نمایش داده می‌شود
  2. افزودن کالای جدید:

    • کاربر روی دکمه "+" کلیک می‌کند
    • دیالوگ افزودن کالا باز می‌شود
    • فیلد "نام کالا" به صورت خودکار با متن جستجو شده پر می‌شود
    • کاربر می‌تواند سایر اطلاعات کالا را تکمیل کند
  3. افزودن خودکار به سبد:

    • بعد از ثبت موفق کالا
    • کالای جدید به صورت خودکار به سبد خرید اضافه می‌شود
    • فیلد جستجو پاک می‌شود
    • فوکوس به فیلد جستجو برمی‌گردد

پیاده‌سازی

1. افزودن متغیر state برای نگه‌داشتن آخرین جستجوی ناموفق

String? _lastFailedSearchQuery;

2. به‌روزرسانی تابع _searchByBarcode

  • وقتی نتیجه‌ای پیدا نشد، _lastFailedSearchQuery را ست کن

3. افزودن دکمه + در UI

  • اگر _lastFailedSearchQuery مقدار داشته باشد، دکمه + نمایش داده شود
  • دکمه کنار یا داخل فیلد جستجو قرار بگیرد

4. ایجاد تابع _openAddProductDialog

  • باز کردن ProductFormDialog با نام پیش‌فرض
  • منتظر ماندن برای نتیجه
  • اگر کالا با موفقیت ثبت شد، آن را به سبد خرید اضافه کن

5. مدیریت حالت

  • بعد از موفقیت یا بستن دیالوگ، _lastFailedSearchQuery را پاک کن