This commit is contained in:
@@ -3,7 +3,8 @@ import {
|
||||
useGetOrderById,
|
||||
useVerifyPayment,
|
||||
useChangeOrderStatus,
|
||||
useRefundPayment
|
||||
useRefundPayment,
|
||||
useUpdateOrderFees,
|
||||
} from './hooks/useOrderData'
|
||||
import { useParams } from 'react-router-dom'
|
||||
import { formatFaNumber } from '@/helpers/func'
|
||||
@@ -16,9 +17,11 @@ import OrderItemsDetails from './components/OrderItemsDetails'
|
||||
import PaymentInfo from './components/PaymentInfo'
|
||||
import PaymentVerificationBox from './components/PaymentVerificationBox'
|
||||
import OrderActions from './components/OrderActions'
|
||||
import UpdateOrderFeesModal from './components/UpdateOrderFeesModal'
|
||||
import { toast } from 'react-toastify'
|
||||
import { extractErrorMessage } from '@/config/func'
|
||||
import { printOrderReceipt } from './print/orderReceiptPrint'
|
||||
import type { UpdateOrderFeesType } from './types/Types'
|
||||
|
||||
const OrderDetails: FC = () => {
|
||||
const { id } = useParams()
|
||||
@@ -26,9 +29,11 @@ const OrderDetails: FC = () => {
|
||||
const { mutate: verifyPayment, isPending: isVerifyingPayment } = useVerifyPayment()
|
||||
const { mutate: changeOrderStatus, isPending: isChangingStatus } = useChangeOrderStatus()
|
||||
const { mutate: refundPayment, isPending: isRefunding } = useRefundPayment()
|
||||
const { mutate: updateOrderFees, isPending: isUpdatingFees } = useUpdateOrderFees()
|
||||
|
||||
const [showCancelModal, setShowCancelModal] = useState(false)
|
||||
const [showRefundModal, setShowRefundModal] = useState(false)
|
||||
const [showEditFeesModal, setShowEditFeesModal] = useState(false)
|
||||
|
||||
const order = orderData?.data
|
||||
|
||||
@@ -95,6 +100,8 @@ const OrderDetails: FC = () => {
|
||||
const isOrderPaid = order.status === OrderStatus.PAID
|
||||
const isPreparing = order.status === OrderStatus.PREPARING
|
||||
const isCanceled = order.status === OrderStatus.CANCELED
|
||||
const isCompleted = order.status === OrderStatus.COMPLETED
|
||||
const canEditFees = !isCanceled && !isCompleted
|
||||
const canCompleteOrder = [
|
||||
OrderStatus.DELIVERED_TO_WAITER,
|
||||
OrderStatus.DELIVERED_TO_RECEPTIONIST,
|
||||
@@ -225,6 +232,21 @@ const OrderDetails: FC = () => {
|
||||
printOrderReceipt(order)
|
||||
}
|
||||
|
||||
const handleUpdateOrderFees = (params: UpdateOrderFeesType) => {
|
||||
updateOrderFees(
|
||||
{ orderId: order.id, params },
|
||||
{
|
||||
onSuccess: () => {
|
||||
toast.success('هزینههای سفارش بهروزرسانی شد')
|
||||
setShowEditFeesModal(false)
|
||||
},
|
||||
onError: (error) => {
|
||||
toast.error(extractErrorMessage(error))
|
||||
},
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='mt-5'>
|
||||
<div className='flex justify-between items-center'>
|
||||
@@ -267,6 +289,7 @@ const OrderDetails: FC = () => {
|
||||
onPrint={handlePrintOrder}
|
||||
showSendToKitchenButton={showSendToKitchenButton}
|
||||
showCancelButton={showCancelButton}
|
||||
showEditFeesButton={canEditFees}
|
||||
isPreparing={isPreparing}
|
||||
isCourierDelivery={isCourierDelivery}
|
||||
isDineInOrCarDelivery={isDineInOrCarDelivery}
|
||||
@@ -280,10 +303,19 @@ const OrderDetails: FC = () => {
|
||||
onDeliverToReceptionist={handleDeliverToReceptionist}
|
||||
onCompleteOrder={handleCompleteOrder}
|
||||
onCancelOrder={() => setShowCancelModal(true)}
|
||||
onEditFees={() => setShowEditFeesModal(true)}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<UpdateOrderFeesModal
|
||||
isOpen={showEditFeesModal}
|
||||
onClose={() => setShowEditFeesModal(false)}
|
||||
order={order}
|
||||
isLoading={isUpdatingFees}
|
||||
onSubmit={handleUpdateOrderFees}
|
||||
/>
|
||||
|
||||
{/* مدال کنسل سفارش */}
|
||||
<ModalConfrim
|
||||
isOpen={showCancelModal}
|
||||
|
||||
Reference in New Issue
Block a user