fix some bugs
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
/** توضیح و فرمول فارسی — برای tooltip آیکون راهنما */
|
||||
|
||||
import { m } from '@/utils/metalLabels'
|
||||
|
||||
export type DashboardHelp = {
|
||||
description: string
|
||||
formula: string
|
||||
@@ -7,133 +9,119 @@ export type DashboardHelp = {
|
||||
|
||||
export const MESGHAL_FACTOR = '۴.۳۳۱۸۰۲'
|
||||
|
||||
export const dashboardHero: DashboardHelp = {
|
||||
description: 'آخرین قیمت پایه هر گرم طلا در سیستم.',
|
||||
formula: `قیمت هر مثقال = قیمت هر گرم × ${MESGHAL_FACTOR}`,
|
||||
function help(description: string, formula: string): DashboardHelp {
|
||||
return {
|
||||
description: m(description),
|
||||
formula: m(formula),
|
||||
}
|
||||
}
|
||||
|
||||
export const dashboardGateway: DashboardHelp = {
|
||||
description: 'وقتی فعال باشد مشتری میتواند از درگاه بانکی واریز کند؛ در حالت غیرفعال فقط واریز دستی ممکن است.',
|
||||
formula: 'وضعیت: فعال یا غیرفعال',
|
||||
}
|
||||
export const dashboardHero = help(
|
||||
'آخرین قیمت پایه هر گرم طلا در سیستم.',
|
||||
`قیمت هر مثقال = قیمت هر گرم × ${MESGHAL_FACTOR}`
|
||||
)
|
||||
|
||||
export const dashboardGateway = help(
|
||||
'وقتی فعال باشد مشتری میتواند از درگاه بانکی واریز کند؛ در حالت غیرفعال فقط واریز دستی ممکن است.',
|
||||
'وضعیت: فعال یا غیرفعال'
|
||||
)
|
||||
|
||||
export const dashboardKpi = {
|
||||
profit: {
|
||||
description: 'مجموع سود اسپرد (تفاوت قیمت خرید/فروش با مشتری) روی همه سفارشهای ثبتشده در بازه.',
|
||||
formula: 'سود کل = جمع «سود هر سفارش»',
|
||||
},
|
||||
commission: {
|
||||
description: 'مجموع کارمزد طلایی محصول که روی همان سفارشها محاسبه شده.',
|
||||
formula: 'کارمزد کل = جمع «کارمزد هر سفارش»',
|
||||
},
|
||||
orderCount: {
|
||||
description: 'تعداد همه سفارشهایی که در بازه انتخابی ثبت شدهاند (هر وضعیتی).',
|
||||
formula: 'تعداد = شمارش سفارشها بین دو تاریخ',
|
||||
},
|
||||
goldBalance: {
|
||||
description: 'تراز وزنی طلا از سفارشات موفق؛ مثبت یعنی به مشتری بیشتر فروختهاید.',
|
||||
formula: 'تراز طلا = گرم فروش − گرم خرید (سفارش موفق)',
|
||||
},
|
||||
cashBalance: {
|
||||
description: 'تراز ریالی همان سفارشات موفق؛ ورود و خروج نقد از معاملات.',
|
||||
formula: 'تراز ریال = مبلغ فروش − مبلغ خرید',
|
||||
},
|
||||
mazanehBalance: {
|
||||
description: 'میانگین موزون قیمت معاملات، تبدیلشده به مثقال.',
|
||||
formula: `(جمع مبلغ معاملات ÷ جمع گرم) × ${MESGHAL_FACTOR}`,
|
||||
},
|
||||
profit: help(
|
||||
'مجموع سود اسپرد (تفاوت قیمت خرید/فروش با مشتری) روی همه سفارشهای ثبتشده در بازه.',
|
||||
'سود کل = جمع «سود هر سفارش»'
|
||||
),
|
||||
commission: help(
|
||||
'مجموع کارمزد طلایی محصول که روی همان سفارشها محاسبه شده.',
|
||||
'کارمزد کل = جمع «کارمزد هر سفارش»'
|
||||
),
|
||||
orderCount: help(
|
||||
'تعداد همه سفارشهایی که در بازه انتخابی ثبت شدهاند (هر وضعیتی).',
|
||||
'تعداد = شمارش سفارشها بین دو تاریخ'
|
||||
),
|
||||
goldBalance: help(
|
||||
'تراز وزنی طلا از سفارشات موفق؛ مثبت یعنی به مشتری بیشتر فروختهاید.',
|
||||
'تراز طلا = گرم فروش − گرم خرید (سفارش موفق)'
|
||||
),
|
||||
cashBalance: help(
|
||||
'تراز ریالی همان سفارشات موفق؛ ورود و خروج نقد از معاملات.',
|
||||
'تراز ریال = مبلغ فروش − مبلغ خرید'
|
||||
),
|
||||
mazanehBalance: help(
|
||||
'میانگین موزون قیمت معاملات، تبدیلشده به مثقال.',
|
||||
`(جمع مبلغ معاملات ÷ جمع گرم) × ${MESGHAL_FACTOR}`
|
||||
),
|
||||
} as const satisfies Record<string, DashboardHelp>
|
||||
|
||||
export const dashboardDateRange: DashboardHelp = {
|
||||
description: 'تاریخ شروع و پایان برای محاسبه کارتها، تراز و نمودارها.',
|
||||
formula: 'گزارش = از تاریخ … تا تاریخ …',
|
||||
}
|
||||
export const dashboardDateRange = help(
|
||||
'تاریخ شروع و پایان برای محاسبه کارتها، تراز و نمودارها.',
|
||||
'گزارش = از تاریخ … تا تاریخ …'
|
||||
)
|
||||
|
||||
export const dashboardDateMetrics = {
|
||||
bankDeposit: {
|
||||
description: 'کل واریزهای موفق مشتریان از درگاه آنلاین در این بازه.',
|
||||
formula: 'جمع مبلغ واریزهای تأییدشده از درگاه',
|
||||
},
|
||||
netIncome: {
|
||||
description: 'درآمد پس از کسر ارزش طلای هدیهدادهشده.',
|
||||
formula: 'درآمد خالص = (اختلاف قیمت اصلی و پرداختی) − (گرم هدیه × مظنه)',
|
||||
},
|
||||
gifts: {
|
||||
description: 'طلایی که ادمین به مشتریان هدیه داده در همین بازه.',
|
||||
formula: 'گرم هدیه = جمع طلای ثبتشده در تراکنشهای ادمین',
|
||||
},
|
||||
bankDeposit: help(
|
||||
'کل واریزهای موفق مشتریان از درگاه آنلاین در این بازه.',
|
||||
'جمع مبلغ واریزهای تأییدشده از درگاه'
|
||||
),
|
||||
netIncome: help(
|
||||
'درآمد پس از کسر ارزش طلای هدیهدادهشده.',
|
||||
'درآمد خالص = (اختلاف قیمت اصلی و پرداختی) − (گرم هدیه × مظنه)'
|
||||
),
|
||||
gifts: help(
|
||||
'طلایی که ادمین به مشتریان هدیه داده در همین بازه.',
|
||||
'گرم هدیه = جمع طلای ثبتشده در تراکنشهای ادمین'
|
||||
),
|
||||
} as const satisfies Record<string, DashboardHelp>
|
||||
|
||||
export const dashboardCharts = {
|
||||
incomeMix: {
|
||||
description: 'نشان میدهد سود معامله، کارمزد و هدایا چقدر از درآمد کل را تشکیل میدهند.',
|
||||
formula: 'درآمد = سود معامله + کارمزد + (گرم هدیه × مظنه)',
|
||||
},
|
||||
buySellVolume: {
|
||||
description: 'مقدار طلای خرید و فروش مشتری در هر روز (فقط سفارش موفق).',
|
||||
formula: 'هر روز: گرم خرید مشتری و گرم فروش به مشتری',
|
||||
},
|
||||
priceChart: {
|
||||
description: 'روند تغییر قیمت پایه هر گرم در ۲۴ ساعت، هفته یا ماه.',
|
||||
formula: 'نمودار = قیمت پایه در هر لحظه',
|
||||
},
|
||||
productActivity: {
|
||||
description: 'مقایسه حجم خرید و فروش هر محصول در بازه انتخابی.',
|
||||
formula: 'خرید = جمع گرم مثبت | فروش = جمع گرم منفی (معاملات همان بازه)',
|
||||
},
|
||||
incomeMix: help(
|
||||
'نشان میدهد سود معامله، کارمزد و هدایا چقدر از درآمد کل را تشکیل میدهند.',
|
||||
'درآمد = سود معامله + کارمزد + (گرم هدیه × مظنه)'
|
||||
),
|
||||
buySellVolume: help(
|
||||
'مقدار طلای خرید و فروش مشتری در هر روز (فقط سفارش موفق).',
|
||||
'هر روز: گرم خرید مشتری و گرم فروش به مشتری'
|
||||
),
|
||||
priceChart: help(
|
||||
'روند تغییر قیمت پایه هر گرم در ۲۴ ساعت، هفته یا ماه.',
|
||||
'نمودار = قیمت پایه در هر لحظه'
|
||||
),
|
||||
productActivity: help(
|
||||
'مقایسه حجم خرید و فروش هر محصول در بازه انتخابی.',
|
||||
'خرید = جمع گرم مثبت | فروش = جمع گرم منفی (معاملات همان بازه)'
|
||||
),
|
||||
} as const satisfies Record<string, DashboardHelp>
|
||||
|
||||
export const dashboardOrders = {
|
||||
peakHours: {
|
||||
description: 'توزیع سفارشهای موفق مشتریان خانگی در ۲۴ ساعت شبانهروز؛ برای شناخت ساعات شلوغ.',
|
||||
formula: 'هر ستون = تعداد سفارش در آن ساعت (جمع چند روز اخیر)',
|
||||
},
|
||||
recent: {
|
||||
description: '۱۴ سفارش آخر با جزئیات مظنه و سود.',
|
||||
formula: 'مظنه = قیمت پایه | قیمت مشتری = مظنه ± اسپرد | سود/گرم = تفاوت اسپرد',
|
||||
},
|
||||
peakHours: help(
|
||||
'توزیع سفارشهای موفق مشتریان خانگی در ۲۴ ساعت شبانهروز؛ برای شناخت ساعات شلوغ.',
|
||||
'هر ستون = تعداد سفارش در آن ساعت (جمع چند روز اخیر)'
|
||||
),
|
||||
recent: help(
|
||||
'۱۴ سفارش آخر با جزئیات مظنه و سود.',
|
||||
'مظنه = قیمت پایه | قیمت مشتری = مظنه ± اسپرد | سود/گرم = تفاوت اسپرد'
|
||||
),
|
||||
} as const satisfies Record<string, DashboardHelp>
|
||||
|
||||
export const dashboardCustomers: DashboardHelp = {
|
||||
description: 'آمار مشتریان خانگی ثبتشده در سیستم.',
|
||||
formula: 'فعال = دارای کیف پول | بدون احراز = هویت تأیید نشده',
|
||||
}
|
||||
export const dashboardCustomers = help(
|
||||
'آمار مشتریان خانگی ثبتشده در سیستم.',
|
||||
'فعال = دارای کیف پول | بدون احراز = هویت تأیید نشده'
|
||||
)
|
||||
|
||||
export const dashboardCustomerMetrics = {
|
||||
total: {
|
||||
description: 'همه مشتریان خانگی ثبتشده.',
|
||||
formula: 'شمارش کل مشتریان',
|
||||
},
|
||||
new: {
|
||||
description: 'مشتریانی که در ۳ ماه اخیر ثبتنام کردهاند.',
|
||||
formula: 'ثبتنام در ۹۰ روز گذشته',
|
||||
},
|
||||
active: {
|
||||
description: 'مشتریانی که حداقل یک کیف پول دارند.',
|
||||
formula: 'دارای موجودی در کیف',
|
||||
},
|
||||
notVerified: {
|
||||
description: 'مشتریانی که احراز هویت را تکمیل نکردهاند.',
|
||||
formula: 'وضعیت احراز: ناقص',
|
||||
},
|
||||
total: help('همه مشتریان خانگی ثبتشده.', 'شمارش کل مشتریان'),
|
||||
new: help('مشتریانی که در ۳ ماه اخیر ثبتنام کردهاند.', 'ثبتنام در ۹۰ روز گذشته'),
|
||||
active: help('مشتریانی که حداقل یک کیف پول دارند.', 'دارای موجودی در کیف'),
|
||||
notVerified: help('مشتریانی که احراز هویت را تکمیل نکردهاند.', 'وضعیت احراز: ناقص'),
|
||||
} as const satisfies Record<string, DashboardHelp>
|
||||
|
||||
export const dashboardWallet: DashboardHelp = {
|
||||
description: 'مجموع موجودی طلا و ریال همه مشتریان.',
|
||||
formula: 'ارزش طلا به ریال = جمع گرم × مظنه لحظهای',
|
||||
}
|
||||
export const dashboardWallet = help(
|
||||
'مجموع موجودی طلا و ریال همه مشتریان.',
|
||||
'ارزش طلا به ریال = جمع گرم × مظنه لحظهای'
|
||||
)
|
||||
|
||||
export const dashboardWalletMetrics = {
|
||||
gold: {
|
||||
description: 'مجموع طلای موجود در کیف همه مشتریان.',
|
||||
formula: 'جمع گرم طلا در کیفها',
|
||||
},
|
||||
cash: {
|
||||
description: 'مجموع ریال موجود در کیف همه مشتریان.',
|
||||
formula: 'جمع ریال در کیفها',
|
||||
},
|
||||
goldToCash: {
|
||||
description: 'ارزش ریالی کل طلای مشتریان با مظنه فعلی.',
|
||||
formula: 'جمع گرم × قیمت هر گرم',
|
||||
},
|
||||
gold: help('مجموع طلای موجود در کیف همه مشتریان.', 'جمع گرم طلا در کیفها'),
|
||||
cash: help('مجموع ریال موجود در کیف همه مشتریان.', 'جمع ریال در کیفها'),
|
||||
goldToCash: help('ارزش ریالی کل طلای مشتریان با مظنه فعلی.', 'جمع گرم × قیمت هر گرم'),
|
||||
} as const satisfies Record<string, DashboardHelp>
|
||||
|
||||
Reference in New Issue
Block a user