{{-- يعرض صفوف قسم واحد من شجرة حسابات هرمية على شكل أعمدة حسب المستوى، تماماً كنموذج الـ PDF: كل صف يظهر مبلغه في عمود واحد فقط حسب مستواه (1=مبلغ كلي، 2=مبلغ جزئي، 3=مبلغ فرعي ٢، 4 وما فوق=مبلغ فرعي ١)، وباقي أعمدة المبلغ فاضية لنفس الصف — وهذا هو الشكل الصحيح المقصود، وليس عيباً. متغيرات مطلوبة: $tree (Collection بها depth/is_parent/madeen/daen لكل صف، حيث depth=0 هو صف الجذر ويمثّل "مستوى 1" أي إجمالي القسم كله)، $flip (bool: هل نعكس صيغة المبلغ لدائن-مدين بدل مدين-دائن، للحسابات الدائنة بطبيعتها كالخصوم/حقوق الملكية/الإيرادات). $lang و $digits يُفترض توفرهما من نطاق العرض المستدعي (Blade تُورّث النطاق تلقائياً للـ include). --}} @php // كل صف يعرض قيمته الحقيقية بإشارتها (+/-) حسب اتجاه القسم الثابت ($flip)، // عشان مجموع أي مجموعة حسابات فرعية يطابق دايماً مجموع الحساب الأب تماماً. // حساب باتجاه عكسي (شاذ) بيظهر بالسالب عمداً — مش عيباً، ده تنبيه مفيد إنه // بيقلل من إجمالي المجموعة بدل ما يزيده. الإشارة النهائية (ربح/خسارة) بتفضل // موجودة بس في صف "الصافي" بقائمة الدخل. $sectionAmount = function ($row) use ($flip) { $madeen = (float) ($row->madeen ?? 0); $daen = (float) ($row->daen ?? 0); return $flip ? ($daen - $madeen) : ($madeen - $daen); }; // مستوى 1 => مبلغ كلي، مستوى 2 => مبلغ جزئي، مستوى 3 => مبلغ فرعي ٢، // مستوى 4 وما فوق (بما فيها 5) => مبلغ فرعي ١. $columnForDepth = function ($depth) { $level = $depth + 1; if ($level <= 1) return 'kolli'; if ($level == 2) return 'jozi'; if ($level == 3) return 'far2'; return 'far1'; }; @endphp @foreach($tree as $row) @php $accName = ($lang === 'ar') ? ($row->account_name_ar ?? '') : ($row->account_name_en ?? ''); $amount = $sectionAmount($row); $col = $columnForDepth($row->depth); $cellTag = $row->depth === 0 ? 'th' : 'td'; @endphp {{-- كل صف يمثّل "مجموع كلي" (مستوى 1، depth=0) يُميَّز بلون واضح ومختلف عن باقي الصفوف، وصفوف الإجمالي الفرعي (is_parent) تُخط بالعريض فقط --}} depth === 0) style="background-color:#0d6efd;color:#fff;font-weight:bold;" @elseif($row->is_parent) style="font-weight:bold;" @endif> <{{ $cellTag }}>{{ $row->depth + 1 }} <{{ $cellTag }}>{{ $row->account_code ?? '' }} <{{ $cellTag }} style="padding-{{ trans('admin.float-right') }}: {{ $row->depth * 12 + 8 }}px;">{{ $accName }} <{{ $cellTag }}>{{ $col === 'far1' ? number_format($amount, $digits) : '' }} <{{ $cellTag }}>{{ $col === 'far2' ? number_format($amount, $digits) : '' }} <{{ $cellTag }}>{{ $col === 'jozi' ? number_format($amount, $digits) : '' }} <{{ $cellTag }}>{{ $col === 'kolli' ? number_format($amount, $digits) : '' }} @endforeach