جاري الاتصال بقاعدة البيانات...

النظام العام

إدارة الخزانات والقناني

تسجيل الدخول

أدخل بياناتك للوصول إلى لوحة التحكم.

{{ loginError }}

تطوير MythX

النظام العام

OVERVIEW

نظرة عامة

تحليل سريع ومختصر لأداء النظام.

طن

السعة المخزنة (كل الخزانات)

{{ totalGasInTons.toFixed(2) }}

د.ع

صافي الربح الكلي

{{ netBalance.toLocaleString() }}

إجمالي العملاء

{{ clients.length }}

الحركات المسجلة

{{ transactions.length }}

USERS

إدارة المستخدمين

الحسابات اللي تضيفها هنا حسابات كاشير — تدخل بوابة الموظف (cash.html) فقط، وما تكدر تدخل لوحة الإدارة. حساب الإدارة ما ينشأ من أي واجهة.
الاسم البريد الإلكتروني الصلاحية الحالة إجراءات
{{ user.name || '—' }} أنت {{ user.email }} {{ isAdminUser(user) ? 'إدارة' : 'كاشير' }} {{ user.disabled ? 'معطّل' : 'فعّال' }}
لا يوجد مستخدمين مضافين.

EMPLOYEES

الموظفين

العقود والرواتب والحوافز والخصومات والغياب والسلف لكل موظف.

{{ contractsAlertCount }}

عدد الموظفين

{{ employees.length }}

د.ع

إجمالي الرواتب الاسمية

{{ totalBaseSalaries.toLocaleString() }}

حوافز الراتب القادم

{{ totalActiveBonuses.toLocaleString() }}

السلف المتبقية على الموظفين

{{ totalLoansRemaining.toLocaleString() }}

المصروف رواتب هذا الشهر

{{ paidThisMonth.toLocaleString() }}

الموظف الفئة الراتب الاسمي العقد موعد الراتب الراتب القادم إجراءات
{{ emp.name }} {{ emp.jobTitle || '—' }} · {{ emp.phone }}
{{ emp.category || '—' }}
{{ Number(emp.baseSalary || 0).toLocaleString() }}
يومية: {{ dayRate(emp).toLocaleString() }} · أوفر: {{ Number(emp.overtimeRate || 0).toLocaleString() }}
لغاية {{ emp.contract.endDate }}
يوم {{ emp.payDay || '—' }} من الشهر
آخر تسليم: {{ formatDay(emp.lastPaidAt) }}
+{{ empPending(emp).bonus.toLocaleString() }} {{ empPending(emp).otHours }} س -{{ empPending(emp).deduction.toLocaleString() }} غياب {{ empPending(emp).absences }} إجازة {{ empPending(emp).leaves }} سلفة {{ empPending(emp).loan.toLocaleString() }}
الصافي المتوقع: {{ empPending(emp).net.toLocaleString() }}
لا يوجد موظفين مضافين بعد.

السلف

كل سلفة الها رقم وموظف، والقسط ينخصم تلقائياً ويا كل راتب وتكدر تزيده أو تنقصه وقت التسليم.

رقم السلفة الموظف التاريخ مبلغ السلفة المسدد المتبقي القسط مع كل راتب إجراءات
#{{ loan.no }} {{ employeeName(loan.employeeId) }}

{{ loan.note }}

{{ loan.date }} {{ Number(loan.amount || 0).toLocaleString() }} {{ (Number(loan.amount || 0) - Number(loan.remaining || 0)).toLocaleString() }} {{ Number(loan.remaining || 0).toLocaleString() }}
{{ Number(loan.installment || 0).toLocaleString() }}
ماكو سلف مسجلة.

اختصارات الحوافز حسب الفئة

هذي الحوافز تظهر جاهزة بضغطة وحدة عند إضافة حافز لأي موظف من نفس الفئة.

{{ group.category }}

{{ group.items.length }} حافز جاهز

{{ p.name }}

{{ p.details }}

{{ Number(p.amount || 0).toLocaleString() }}

ماكو حوافز جاهزة لهاي الفئة.

FINANCE

الإدارة المالية

تتبع الدخل والصرفيات حسب الفترة المحددة.

الدخل (مبيعات الفترة)

{{ filteredTotalIncome.toLocaleString() }} د.ع

الصرفيات (الفترة المحددة)

{{ filteredTotalExpense.toLocaleString() }} د.ع

التمويل المدخل (الفترة المحددة)

{{ filteredTotalFunds.toLocaleString() }} د.ع

LOG

سجل الحركات

التاريخ والوقت نوع الحركة التفاصيل
{{ tx.dateString }} {{ tx.action }} {{ tx.desc }}
لا توجد حركات مطابقة للبحث.

ARCHIVE

الأرشيف المالي الشامل

التاريخ نوع الحركة التفاصيل المبلغ (د.ع)
{{ tx.dateString }} {{ tx.action }} {{ tx.desc }} {{ tx.category === 'expense' ? '-' : '+' }} {{ tx.amount.toLocaleString() }} ---
الأرشيف فارغ أو لا توجد نتائج مطابقة.

SUPPLIERS

إدارة الموردين

اسم الجِهة / الشركة جِهات الاتصال الرقعة الجغرافية الرصيد المطلوب (د.ع) المرفقات

{{ sup.companyName }}

{{ sup.email }}

ضريبي: {{ sup.taxNumber }}

{{ c.name }} {{ c.phone }}
{{ sup.area }} {{ sup.financialDebt?.toLocaleString() || 0 }} د.ع {{ sup.contracts.length }} لا يوجد
لا توجد نتائج مطابقة.

TANKS

الخزانات

{{ t.name }}

السعة الكلية {{ t.maxCapacity }} طن

{{ getPercentage(t) }}%

الضغط

{{ t.pressure }}

المتبقي

{{ (t.maxCapacity - t.currentAmount).toFixed(2) }} طن

نوع الغاز

{{ gasLabel(t.gasTypeId, t.gasType) }}

درجة الغاز

{{ t.gasColorGrade }}

1007550250

المتوفر حالياً

{{ t.currentAmount.toFixed(2) }}

TON

لا توجد خزانات مضافة.

CYLINDERS

إدارة قناني الغاز

{{ cyl.name }}

{{ cyl.pressure }}
{{ gasLabel(cyl.gasTypeId, cyl.gasType) }} {{ cyl.volumeLiters }} لتر {{ cyl.capacityKg }} كغم
تكلفة القنينة (تلقائي) {{ Math.round(costOf(cyl.id).total).toLocaleString() }} د.ع
مادة خام (هدر {{ costOf(cyl.id).venting }}%){{ Math.round(costOf(cyl.id).direct).toLocaleString() }}
مصاريف تشغيلية{{ Math.round(costOf(cyl.id).opex).toLocaleString() }}
الربح بسعر {{ costOf(cyl.id).sale.toLocaleString() }}{{ Math.round(costOf(cyl.id).margin).toLocaleString() }}

فارغة

{{ cyl.emptyCount }}

مملوءة

{{ cyl.filledCount }}

مسحوبة

{{ cyl.withdrawnCount }}

لا توجد قناني مطابقة للبحث.

CLIENTS

العملاء وإدارة الديون

{{ client.name }}

{{ client.type }}

{{ client.area }} · {{ client.email }}

{{ c.name }} {{ c.phone }}

الدين المالي

{{ client.financialDebt.toLocaleString() }} د.ع

دين القناني

{{ client.cylinderDebt }} قنينة

لا توجد نتائج مطابقة للعملاء.

PRODUCTS

المنتجات

أصناف البيع المعتمدة في الوصل الذكي.

عدد الأصناف

{{ products.length }}

قيمة المخزون بالتكلفة

{{ productsStockCost.toLocaleString() }}

الربح المتوقع عند بيع الكل

{{ productsExpectedProfit.toLocaleString() }}

اسم المنتج الوحدة المورد التكلفة (د.ع) سعر البيع (د.ع) هامش الربح الكمية المتوفرة إجراءات
{{ prod.name }} {{ prod.unit || '—' }}
{{ prod.supplierName || '—' }} {{ prod.supplierPhone }}
{{ Number(prod.cost || 0).toLocaleString() }} {{ Number(prod.price || 0).toLocaleString() }} {{ (Number(prod.price || 0) - Number(prod.cost || 0)).toLocaleString() }} {{ Number(prod.qty || 0) }}
لا توجد منتجات مضافة بعد.

GAS SETTINGS

إعدادات الغاز

أنواع الغاز المعتمدة بالنظام — الخزانات والقناني تختار منها فقط.

الترتيب نوع الغاز الرمز سعر طن السائل (د.ع) نسبة الهدر المعامل اليدوي مستخدم في إجراءات
{{ g.order }} {{ g.name }} {{ g.symbol || '—' }} {{ gasLiquidPrice(g).price.toLocaleString() }} {{ gasLiquidPrice(g).source === 'invoice' ? 'آخر فاتورة' : 'يدوي' }} {{ g.venting }}% × {{ g.effortFactor }} {{ gasUsage(g) }} خزان/قنينة
ماكو أنواع غاز مضافة.

أساس حساب التكلفة التلقائي — {{ monthLabel(costBasis.key) }}

المصاريف التشغيلية للشهر تتوزع على القناني المسحوبة حسب المعامل. تنحسب وحدها وتتحدث مع كل صرفية أو بيع.

المصاريف: {{ Math.round(costBasis.opex).toLocaleString() }} د.ع
الغازقناني مسحوبةالترتيبالمعاملتشغيلية لكل قنينة
{{ r.name }} {{ r.symbol }} {{ r.count.toLocaleString() }} #{{ r.rank }} × {{ r.factor }} {{ Math.round(r.opexPerCyl).toLocaleString() }}

طريقة تحديد معامل الجهد

المعامل يضرب بحصة القنينة من المصاريف التشغيلية.

الحالي: {{ (settings.effortTiers || []).join(' / ') }} — الغاز اللي ما انسحب منه شي ياخذ آخر معامل.

نقل البيانات القديمة

إذا كنت تستخدم النظام قبل الربط، بياناتك (المنتجات، الزبائن، الموظفين، السلف، الوصولات، الضيعان) محفوظة بهذا المتصفح فقط. هذا الزر يرفعها لقاعدة البيانات مرة وحدة.

CUSTOMERS

الزبائن

قائمة الزبائن المستخدمة عند إصدار الوصل الذكي.

اسم الزبون جِهات الاتصال إجراءات
{{ cust.name }}
{{ c.name }} {{ c.phone }} لا يوجد
لا يوجد زبائن مضافين بعد.

{{ editingEmployeeId ? 'تعديل بيانات موظف' : 'إضافة موظف جديد' }}

الراتب الاسمي وسعر ساعة الأوفر تايم وموعد التسليم.

حوافز الموظف

{{ selectedEmployee?.name }} · {{ selectedEmployee?.category }}

ماكو اختصارات محفوظة لهاي الفئة بعد.

الحافز ينصرف ويا الراتب القادم فقط، وبعد التسليم ينشال تلقائياً.

حوافز الراتب القادم

{{ selectedEmployee ? employeeBonusTotal(selectedEmployee).toLocaleString() : 0 }} د.ع

{{ b.name }}

{{ b.details }}

{{ Number(b.amount || 0).toLocaleString() }}

ماكو حوافز مضافة لهذا الموظف.

{{ editingPresetId ? 'تعديل حافز جاهز' : 'حافز جاهز جديد' }}

يصير اختصار يظهر لكل موظفين الفئة.

تسليم راتب

{{ selectedEmployee?.name }} · {{ selectedEmployee?.jobTitle || selectedEmployee?.category }}

الراتب الاسمي {{ Number(selectedEmployee?.baseSalary || 0).toLocaleString() }} د.ع

الأوفر تايم

+{{ payrollOvertime.toLocaleString() }}

{{ payrollLoggedHours }}

الحوافز (شيل الصح عن أي حافز تأجله)

+{{ payrollBonusTotal.toLocaleString() }}

ماكو حوافز لهذا الراتب.

الخصومات والغياب

-{{ (payrollDeductionTotal + payrollAbsenceTotal).toLocaleString() }}

عنده {{ payrollLeaves }} يوم إجازة مدفوعة من آخر راتب (ما تنخصم).

أقساط السلف (تكدر تزيد أو تنقص)

-{{ payrollLoanTotal.toLocaleString() }}

سلفة #{{ l.no }}

المتبقي {{ Number(l.remaining).toLocaleString() }} · بعد الخصم {{ Math.max(0, l.remaining - clampLoan(l)).toLocaleString() }}

الصافي المستحق للموظف {{ payrollNet.toLocaleString() }} د.ع

سجل الرواتب

{{ selectedEmployee?.name }}

التاريخ الراتب أوفر تايم الحوافز خصم وغياب السلف الصافي السند
{{ rec.dateString }} {{ Number(rec.base || 0).toLocaleString() }} {{ Number(rec.overtimeAmount || 0).toLocaleString() }} {{ Number(rec.bonusesTotal || 0).toLocaleString() }} {{ (Number(rec.deductions || 0) + Number(rec.absenceAmount || 0)).toLocaleString() }} ({{ rec.absenceDays.length }} غياب) {{ Number(rec.loansTotal || 0).toLocaleString() }} {{ Number(rec.total || 0).toLocaleString() }}
ماكو رواتب مسجلة لهذا الموظف.

عقد العمل

{{ selectedEmployee?.name }} · {{ selectedEmployee ? contractStatus(selectedEmployee).label : '' }}

خصم على الموظف

{{ selectedEmployee?.name }} · ينخصم من الراتب القادم

خصومات الراتب القادم

{{ selectedEmployee ? sumAmounts(selectedEmployee.deductions).toLocaleString() : 0 }} د.ع

{{ d.name }}

{{ d.date }} · {{ d.details }}

-{{ Number(d.amount || 0).toLocaleString() }}

ماكو خصومات على هذا الموظف.

أوفر تايم

{{ selectedEmployee?.name }} · سعر الساعة {{ Number(selectedEmployee?.overtimeRate || 0).toLocaleString() }} د.ع

{{ ((Number(newOvertime.hours) || 0) * (Number(selectedEmployee?.overtimeRate) || 0)).toLocaleString() }}

ساعات الراتب القادم: {{ selectedEmployee ? empPending(selectedEmployee).otHours : 0 }}

{{ selectedEmployee ? empPending(selectedEmployee).otAmount.toLocaleString() : 0 }} د.ع

{{ o.hours }} ساعة

{{ o.date }} · {{ o.note }}

{{ ((Number(o.hours) || 0) * (Number(selectedEmployee?.overtimeRate) || 0)).toLocaleString() }}

ماكو ساعات أوفر مسجلة.

غياب / إجازة

{{ selectedEmployee?.name }} · أجر اليوم {{ selectedEmployee ? dayRate(selectedEmployee).toLocaleString() : 0 }} د.ع

{{ newAttendance.type === 'absence' ? 'راح ينخصم ' + (selectedEmployee ? dayRate(selectedEmployee).toLocaleString() : 0) + ' د.ع من الراتب القادم.' : 'الإجازة مدفوعة وما ينخصم منها شي.' }}

غياب غير مخصوم

{{ selectedEmployee ? empPending(selectedEmployee).absences : 0 }}

إجازات هذي السنة

{{ selectedEmployee ? leavesThisYear(selectedEmployee) : 0 }} / {{ selectedEmployee.contract.leaveDays }}

مبلغ الخصم

{{ selectedEmployee ? empPending(selectedEmployee).absenceAmount.toLocaleString() : 0 }}

السجل

{{ a.type === 'absence' ? 'غياب' : 'إجازة' }} {{ a.date }} {{ a.settled ? 'انخصم' : 'بانتظار الراتب' }}

{{ a.note }}

ماكو غيابات أو إجازات مسجلة.

{{ editingLoanId ? 'تعديل سلفة' : 'سلفة جديدة' }}

القسط ينخصم تلقائياً عند تسليم كل راتب.

{{ Number(newLoan.amount || 0).toLocaleString() }}

تتسدد خلال {{ Math.ceil((editingLoanId ? Number(newLoan.remaining) : Number(newLoan.amount) || 0) / Number(newLoan.installment)) }} راتب تقريباً.

كشف السلفة #{{ selectedLoan.no }}

{{ employeeName(selectedLoan.employeeId) }} · {{ selectedLoan.date }}

المبلغ

{{ Number(selectedLoan.amount).toLocaleString() }}

المسدد

{{ (Number(selectedLoan.amount) - Number(selectedLoan.remaining)).toLocaleString() }}

المتبقي

{{ Number(selectedLoan.remaining).toLocaleString() }}

الأقساط المستقطعة

{{ r.dateString }} {{ r.source }} {{ Number(r.amount).toLocaleString() }}

ما انخصم أي قسط بعد.

{{ editingProductId ? 'تعديل منتج' : 'إضافة منتج جديد' }}

الأصناف هنا تظهر مباشرة في الوصل الذكي.

هامش الربح للوحدة الواحدة {{ productMargin.toLocaleString() }} د.ع

{{ editingCustomerId ? 'تعديل زبون' : 'إضافة زبون جديد' }}

الاسم وجِهات الاتصال فقط.

أول رقم بالقائمة هو الرقم الذي يظهر تلقائياً في الوصل الذكي.

إضافة حساب كاشير

{{ userForm.error }}

{{ editingGasId ? 'تعديل نوع الغاز' : 'إضافة نوع غاز' }}

يُستخدم إذا ماكو فاتورة إدخال غاز مسجلة ببوابة الموظف — آخر فاتورة تغلب عليه تلقائياً.

الترتيب يحدد تسلسل العرض بالتقارير (الأرجون ← الأوكسجين ← CO2 ← النيتروجين).

جاري تحميل البيانات...
جاري الحفظ...
{{ syncState.error }}

تسجيل صرفية جديدة

إدخال أموال للصندوق

إنشاء خزان جديد

ماكو أنواع غاز. ضيفها من .

إضافة كمية مباشرة

إلى الخزان: {{ selectedTank?.name }}

{{ editingCylinderId ? 'تعديل بيانات القناني' : 'إضافة نوع قناني جديد' }}

{{ isCreatingSupplier ? 'إضافة مورد جديد' : 'إضافة عميل جديد' }}

إدارة ومطابقة عهد المشاريع

للعميل: {{ selectedClient?.name }}

سند قبض

من العميل: {{ selectedClient?.name }}

استرجاع فوارغ

للعميل: {{ selectedClient?.name }} · الدين الحالي: {{ selectedClient?.cylinderDebt }} قنينة

تعبئة قناني

الإجمالي المسحوب من الخزان {{ computedFillGasTotal.toFixed(2) }} طن