feat(settings): add appointment fee configuration and update payment logic

This commit is contained in:
hamed
2026-06-24 20:25:58 +03:30
parent 93fa0fc2c9
commit 763ad82b69
6 changed files with 27 additions and 4 deletions
+14
View File
@@ -29,6 +29,7 @@ const schema = z.object({
tax_enabled: z.string(),
tax_percent: z.string(),
sms_panel_fee_rials: z.string(),
appointment_fee_rials: z.string(),
// payment gateways
payment_test_mode: z.string(),
mellat_terminal_id: z.string(),
@@ -55,6 +56,7 @@ interface Settings {
tax_enabled: string;
tax_percent: string;
sms_panel_fee_rials: string;
appointment_fee_rials: string;
payment_test_mode: string;
mellat_terminal_id: string;
mellat_username: string;
@@ -112,6 +114,7 @@ export default function SettingsPage() {
tax_enabled: settings.tax_enabled ?? '0',
tax_percent: settings.tax_percent ?? '10',
sms_panel_fee_rials: settings.sms_panel_fee_rials ?? '1500000',
appointment_fee_rials: settings.appointment_fee_rials ?? '150000',
payment_test_mode: settings.payment_test_mode ?? '0',
mellat_terminal_id: settings.mellat_terminal_id ?? '',
mellat_username: settings.mellat_username ?? '',
@@ -313,6 +316,16 @@ export default function SettingsPage() {
)}
</div>
{/* مبلغ هر نوبت */}
<div style={{ maxWidth: 320 }}>
<label style={{ fontSize: 13, fontWeight: 500, display: 'block', marginBottom: 6 }}>مبلغ هر نوبت (ریال)</label>
<input {...register('appointment_fee_rials')} type="number" min={0} dir="ltr" placeholder="150000"
style={{ width: 200, height: 38, padding: '0 12px', borderRadius: 'var(--r-sm)', border: '1px solid var(--border)', background: 'var(--surface)', color: 'var(--text)', fontSize: 13.5, boxSizing: 'border-box' }} />
<p className="muted" style={{ fontSize: 12, marginTop: 6 }}>
مبلغی که بیمار هنگام رزرو نوبت آنلاین پرداخت میکند. ۱۵۰٬۰۰۰ ریال = ۱۵٬۰۰۰ تومان.
</p>
</div>
{/* هزینه پنل پیامک */}
<div style={{ maxWidth: 320 }}>
<label style={{ fontSize: 13, fontWeight: 500, display: 'block', marginBottom: 6 }}>هزینه ثابت پنل پیامک (ریال)</label>
@@ -522,6 +535,7 @@ export default function SettingsPage() {
tax_enabled: settings.tax_enabled,
tax_percent: settings.tax_percent,
sms_panel_fee_rials: settings.sms_panel_fee_rials,
appointment_fee_rials: settings.appointment_fee_rials,
payment_test_mode: settings.payment_test_mode,
mellat_terminal_id: settings.mellat_terminal_id,
mellat_username: settings.mellat_username,