feat: convert deposit amounts from toman to rials in appointment handling

This commit is contained in:
hamed
2026-07-17 10:21:52 +03:30
parent a0ddb4c0d1
commit fcd7a0596d
9 changed files with 468 additions and 17 deletions
+5 -4
View File
@@ -9,6 +9,7 @@ import PersianDateInput from '../components/ui/PersianDateInput';
import PriceInput from '../components/ui/PriceInput';
import SearchableSelect from '../components/ui/SearchableSelect';
import { WalletChargeLink } from '../components/AppointmentActions';
import { rialToToman, tomanToRial } from '../lib/utils';
interface Option { uuid: string; name?: string; full_name?: string }
@@ -51,7 +52,7 @@ export default function AppointmentEditPage() {
const [start, setStart] = useState('');
const [end, setEnd] = useState('');
const [depositRequired, setDepositRequired] = useState(false);
const [depositRials, setDepositRials] = useState(0);
const [depositToman, setDepositToman] = useState(0);
const [status, setStatus] = useState('');
const [note, setNote] = useState('');
@@ -65,7 +66,7 @@ export default function AppointmentEditPage() {
setStart(isoTime(a.slot_start));
setEnd(isoTime(a.slot_end));
setDepositRequired(!!a.deposit_required);
setDepositRials(a.deposit_amount_rials ?? 0);
setDepositToman(rialToToman(a.deposit_amount_rials ?? 0));
setStatus(a.status);
setNote(a.note ?? '');
}, [a]);
@@ -86,7 +87,7 @@ export default function AppointmentEditPage() {
service_item_uuid: itemUuid,
staff_uuid: staffUuid,
deposit_required: depositRequired,
deposit_amount_rials: depositRequired ? depositRials : null,
deposit_amount_rials: depositRequired ? tomanToRial(depositToman) : null,
note,
...(status !== a?.status ? { status } : {}),
version: a?.version,
@@ -191,7 +192,7 @@ export default function AppointmentEditPage() {
<>
<div style={{ minWidth: 220 }}>
<label style={label}>مبلغ بیعانه (تومان)</label>
<div style={{ marginTop: 6 }}><PriceInput value={depositRials} onChange={setDepositRials} /></div>
<div style={{ marginTop: 6 }}><PriceInput value={depositToman} onChange={setDepositToman} /></div>
</div>
<WalletChargeLink mobile={a.patient_mobile || a.user?.mobile || ''} />
</>