feat(F-189): completed feature
This commit is contained in:
@@ -5,6 +5,7 @@ import DiscountPanel from '@/components/DiscountPanel';
|
||||
import FreeItemModal from '@/components/FreeItemModal';
|
||||
import PaymentModal from '@/components/PaymentModal';
|
||||
import ReceiptModal from '@/components/ReceiptModal';
|
||||
import ReturnModal from '@/components/ReturnModal';
|
||||
import { posApi } from '@/lib/api-client';
|
||||
import { generateIdempotencyKey } from '@/lib/idempotency';
|
||||
import { formatPrice } from '@/lib/money';
|
||||
@@ -112,6 +113,9 @@ export default function RegisterPage() {
|
||||
const [loadingPending, setLoadingPending] = useState(false);
|
||||
const [restPaymentFor, setRestPaymentFor] = useState<PosPendingSale | null>(null);
|
||||
const [processingRest, setProcessingRest] = useState(false);
|
||||
const [returnOrder, setReturnOrder] = useState<{ orderId: string; receipt: PosReceipt } | null>(
|
||||
null,
|
||||
);
|
||||
|
||||
const loadConfig = useCallback(async () => {
|
||||
setConfigError('');
|
||||
@@ -1163,6 +1167,26 @@ export default function RegisterPage() {
|
||||
receipt={receipt}
|
||||
initialEmail={customer?.email ?? receipt.customerEmail ?? ''}
|
||||
onDelivered={resetCashier}
|
||||
onReturn={
|
||||
config?.session && config?.terminal
|
||||
? (orderId, latest) => {
|
||||
setReturnOrder({ orderId, receipt: latest });
|
||||
}
|
||||
: undefined
|
||||
}
|
||||
/>
|
||||
)}
|
||||
{returnOrder && config?.session && config?.terminal && (
|
||||
<ReturnModal
|
||||
receipt={returnOrder.receipt}
|
||||
orderId={returnOrder.orderId}
|
||||
cashSessionId={config.session.id}
|
||||
terminalId={config.terminal.id}
|
||||
onClose={() => setReturnOrder(null)}
|
||||
onReturned={(latest) => {
|
||||
setReturnOrder(null);
|
||||
setReceipt(latest);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user