Files
boursecu_admin/src/pages/dashboard/dashboardSectionCopy.ts
T

141 lines
7.1 KiB
TypeScript
Raw Normal View History

2026-06-21 20:27:13 +03:30
/** توضیح و فرمول فارسی — برای tooltip آیکون راهنما */
2026-06-23 22:31:07 +03:30
import { m } from '@/utils/metalLabels'
2026-06-21 20:27:13 +03:30
export type DashboardHelp = {
description: string
formula: string
}
export const MESGHAL_FACTOR = '۴.۳۳۱۸۰۲'
2026-06-23 22:31:07 +03:30
function help(description: string, formula: string): DashboardHelp {
return {
description: m(description),
formula: m(formula),
}
2026-06-21 20:27:13 +03:30
}
2026-06-23 22:31:07 +03:30
export const dashboardHero = help(
'آخرین قیمت پایه هر گرم طلا در سیستم.',
`قیمت هر مثقال = قیمت هر گرم × ${MESGHAL_FACTOR}`
)
export const dashboardGateway = help(
'وقتی فعال باشد مشتری می‌تواند از درگاه بانکی واریز کند؛ در حالت غیرفعال فقط واریز دستی ممکن است.',
'وضعیت: فعال یا غیرفعال'
)
2026-06-21 20:27:13 +03:30
export const dashboardKpi = {
2026-07-02 01:25:29 +03:30
priceDiffProfit: help(
'مجموع سود اختلاف قیمت (فاصله بین قیمت پایه و قیمت مشتری) — فقط از تفاوت buy/sell price. کارمزد جداگانه در کارت «کارمزد معامله» است.',
'سود اختلاف قیمت = جمع «سود کل» (total_fee) هر سفارش در بازه'
2026-06-23 22:31:07 +03:30
),
commission: help(
2026-07-02 01:25:29 +03:30
'مجموع کارمزد ریالی معاملات (درصد/وزن کارمزد) — جدا از سود اختلاف قیمت.',
2026-07-01 22:28:09 +03:30
'کارمزد = جمع service_charge_price هر سفارش در بازه'
),
totalTradingProfit: help(
2026-07-02 01:25:29 +03:30
'مجموع سود اختلاف قیمت و کارمزد — همان ردیف «جمع» در خلاصه درآمد.',
'جمع = سود اختلاف قیمت + کارمزد معاملات'
2026-06-23 22:31:07 +03:30
),
orderCount: help(
'تعداد همه سفارش‌هایی که در بازه انتخابی ثبت شده‌اند (هر وضعیتی).',
'تعداد = شمارش سفارش‌ها بین دو تاریخ'
),
goldBalance: help(
'تراز وزنی طلا از سفارشات موفق؛ مثبت یعنی به مشتری بیشتر فروخته‌اید.',
'تراز طلا = گرم فروش − گرم خرید (سفارش موفق)'
),
cashBalance: help(
'تراز ریالی همان سفارشات موفق؛ ورود و خروج نقد از معاملات.',
'تراز ریال = مبلغ فروش − مبلغ خرید'
),
mazanehBalance: help(
'میانگین موزون قیمت معاملات، تبدیل‌شده به مثقال.',
`(جمع مبلغ معاملات ÷ جمع گرم) × ${MESGHAL_FACTOR}`
),
2026-06-21 20:27:13 +03:30
} as const satisfies Record<string, DashboardHelp>
2026-07-01 22:28:09 +03:30
export const dashboardTradingIncomeSummary = help(
2026-07-11 00:35:37 +03:30
'تفکیک کارمزد فروشگاه در بازهٔ انتخابی: بخشی از ریال مشتری کسر شده (کارمزد ریالی) و بخشی از طلا (کارمزد طلایی با معادل ریالی). جمع = مجموع هر دو به ریال.',
'جمع کارمزد = کارمزد ریالی + (گرم کارمزد طلایی × قیمت روز)'
2026-07-01 22:28:09 +03:30
)
2026-06-23 22:31:07 +03:30
export const dashboardDateRange = help(
'تاریخ شروع و پایان برای محاسبه کارت‌ها، تراز و نمودارها.',
'گزارش = از تاریخ … تا تاریخ …'
)
2026-06-21 20:27:13 +03:30
export const dashboardDateMetrics = {
2026-06-23 22:31:07 +03:30
bankDeposit: help(
'کل واریزهای موفق مشتریان از درگاه آنلاین در این بازه.',
'جمع مبلغ واریزهای تأییدشده از درگاه'
),
netIncome: help(
2026-07-01 22:28:09 +03:30
'شاخص قدیمی: اختلاف قیمت اصلی و پرداختی منهای ارزش هدایا — با «جمع سود معاملات» یکی نیست.',
'تراز قیمت−پرداخت = جمع |قیمت اصلی − پرداختی| − (گرم هدیه × مظنه)'
),
totalTradingProfit: help(
2026-07-02 01:25:29 +03:30
'همان «جمع سود معاملات» در خلاصه بالا — اختلاف قیمت + کارمزد.',
2026-07-01 22:28:09 +03:30
'جمع = fullPriceSood + fullPriceKarmozd'
2026-06-23 22:31:07 +03:30
),
gifts: help(
'طلایی که ادمین به مشتریان هدیه داده در همین بازه.',
'گرم هدیه = جمع طلای ثبت‌شده در تراکنش‌های ادمین'
),
2026-06-21 20:27:13 +03:30
} as const satisfies Record<string, DashboardHelp>
export const dashboardCharts = {
2026-06-23 22:31:07 +03:30
incomeMix: help(
2026-07-02 01:25:29 +03:30
'تفکیک درآمد: سود اختلاف قیمت، کارمزد ریالی، و ارزش هدایا.',
'درآمد = سود اختلاف قیمت + کارمزد + (گرم هدیه × مظنه)'
2026-06-23 22:31:07 +03:30
),
buySellVolume: help(
'مقدار طلای خرید و فروش مشتری در هر روز (فقط سفارش موفق).',
'هر روز: گرم خرید مشتری و گرم فروش به مشتری'
),
priceChart: help(
'روند تغییر قیمت پایه هر گرم در ۲۴ ساعت، هفته یا ماه.',
'نمودار = قیمت پایه در هر لحظه'
),
productActivity: help(
'مقایسه حجم خرید و فروش هر محصول در بازه انتخابی.',
'خرید = جمع گرم مثبت | فروش = جمع گرم منفی (معاملات همان بازه)'
),
2026-06-21 20:27:13 +03:30
} as const satisfies Record<string, DashboardHelp>
export const dashboardOrders = {
2026-06-23 22:31:07 +03:30
peakHours: help(
'توزیع سفارش‌های موفق مشتریان خانگی در ۲۴ ساعت شبانه‌روز؛ برای شناخت ساعات شلوغ.',
'هر ستون = تعداد سفارش در آن ساعت (جمع چند روز اخیر)'
),
recent: help(
'۱۴ سفارش آخر با جزئیات مظنه و سود.',
2026-07-02 01:25:29 +03:30
'مظنه = قیمت پایه | قیمت مشتری = مظنه ± اختلاف قیمت | سود/گرم = همان اختلاف قیمت'
2026-06-23 22:31:07 +03:30
),
2026-06-21 20:27:13 +03:30
} as const satisfies Record<string, DashboardHelp>
2026-06-23 22:31:07 +03:30
export const dashboardCustomers = help(
'آمار مشتریان خانگی ثبت‌شده در سیستم.',
'فعال = دارای کیف پول | بدون احراز = هویت تأیید نشده'
)
2026-06-21 20:27:13 +03:30
export const dashboardCustomerMetrics = {
2026-06-23 22:31:07 +03:30
total: help('همه مشتریان خانگی ثبت‌شده.', 'شمارش کل مشتریان'),
new: help('مشتریانی که در ۳ ماه اخیر ثبت‌نام کرده‌اند.', 'ثبت‌نام در ۹۰ روز گذشته'),
active: help('مشتریانی که حداقل یک کیف پول دارند.', 'دارای موجودی در کیف'),
notVerified: help('مشتریانی که احراز هویت را تکمیل نکرده‌اند.', 'وضعیت احراز: ناقص'),
2026-06-21 20:27:13 +03:30
} as const satisfies Record<string, DashboardHelp>
2026-06-23 22:31:07 +03:30
export const dashboardWallet = help(
'مجموع موجودی طلا و ریال همه مشتریان.',
'ارزش طلا به ریال = جمع گرم × مظنه لحظه‌ای'
)
2026-06-21 20:27:13 +03:30
export const dashboardWalletMetrics = {
2026-06-23 22:31:07 +03:30
gold: help('مجموع طلای موجود در کیف همه مشتریان.', 'جمع گرم طلا در کیف‌ها'),
cash: help('مجموع ریال موجود در کیف همه مشتریان.', 'جمع ریال در کیف‌ها'),
goldToCash: help('ارزش ریالی کل طلای مشتریان با مظنه فعلی.', 'جمع گرم × قیمت هر گرم'),
2026-06-21 20:27:13 +03:30
} as const satisfies Record<string, DashboardHelp>