feat(invoice): synchronize invoice totals with patient session updates and add resync command
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { useEffect, useMemo, useState } from 'react';
|
||||
import { useQuery, useMutation } from '@tanstack/react-query';
|
||||
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
|
||||
import { toast } from 'sonner';
|
||||
import { PlusIcon, MinusIcon } from '@heroicons/react/24/outline';
|
||||
import { api } from '../../lib/api';
|
||||
@@ -57,6 +57,7 @@ interface Props {
|
||||
* موجودِ NewSessionPage (نمایش شرطی: سرویسِ تحت پوشش بیمه یا بیمه در پروفایل بیمار).
|
||||
*/
|
||||
export default function CreateStep({ recordUuid, profile, onCreated, onCancel, editSession }: Props) {
|
||||
const qc = useQueryClient();
|
||||
const userName = useAuthStore((s) => s.userName);
|
||||
const isEdit = !!editSession;
|
||||
|
||||
@@ -307,6 +308,16 @@ export default function CreateStep({ recordUuid, profile, onCreated, onCancel, e
|
||||
? api.patch(`/api/v1/session/${editSession!.uuid}`, body)
|
||||
: api.post(`/api/v1/patient/${recordUuid}/session`, body),
|
||||
onSuccess: (res: any) => {
|
||||
// بدون این، صفحهٔ پرونده و فهرست پرداختها نسخهٔ کششده را نشان میدادند و
|
||||
// وضعیت مراجعه تا رفرشِ دستی عوض نمیشد. صورتحساب هم سمت سرور با همین ویرایش
|
||||
// همتراز میشود، پس آمار پرداختها هم کهنه میماند.
|
||||
qc.invalidateQueries({ queryKey: ['patient-sessions', recordUuid] });
|
||||
qc.invalidateQueries({ queryKey: ['patient-detail', recordUuid] });
|
||||
qc.invalidateQueries({ queryKey: ['patient', recordUuid] });
|
||||
qc.invalidateQueries({ queryKey: ['patient-invoices', recordUuid] });
|
||||
qc.invalidateQueries({ queryKey: ['payments'] });
|
||||
qc.invalidateQueries({ queryKey: ['payments-summary'] });
|
||||
|
||||
toast.success(isEdit ? 'مراجعه ویرایش شد' : 'مراجعه ثبت شد');
|
||||
onCreated((isEdit ? editSession!.uuid : res?.data?.uuid) as string);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user