You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
4.3 KiB

2 years ago
  1. <template>
  2. <div
  3. class="BookingInfo tw-flex tw-flex-col xl:tw-flex-row xl:tw-justify-between tw-bg-neutrals-0 tw-rounded-[20px] tw-text-base-primary tw-p-5"
  4. >
  5. <div class="tw-mb-[31px] md:tw-mb-[29px]">
  6. <div
  7. class="tw-body-4 tw-text-error-default tw-font-bold tw-mb-[12px] tw-mt-[4px] md:tw-body-2 md:tw-mt-[8px]"
  8. >
  9. <span :class="bookingColor(bookingStatusMap(BookingOrder.order_status))"
  10. >{{ bookingStatusMap(BookingOrder.order_status) }},&nbsp;</span
  11. >
  12. <span v-if="BookingOrder.order_payment != null" :class="bookingColor(paymentStatusMap(BookingOrder.order_payment[0].payment_status))">{{
  13. paymentStatusMap(BookingOrder.order_payment[0].payment_status)
  14. }}</span>
  15. </div>
  16. <div class="tw-flex tw-items-center tw-mb-[11px] md:tw-mb-[18px]">
  17. <div class="tw-body-4 tw-text-neutrals-800 tw-mr-[11px] md:tw-body-3">
  18. {{ BookingOrder.order_display_id }}
  19. </div>
  20. <button
  21. class="tw-body-5 tw-py-[4px] tw-px-[10px] tw-rounded-[12px] tw-bg-complementary-3 tw-text-complementary-1 md:tw-body-4 hover:tw-text-[#A0B5FF]"
  22. @click="copy(BookingOrder.order_display_id)"
  23. >
  24. Copy
  25. </button>
  26. </div>
  27. <div
  28. class="tw-body-4 tw-text-neutrals-800 tw-mb-[14px] md:tw-body-3 md:tw-mb-[18px]"
  29. >
  30. Booking Date: {{ BookingOrder.created_at }}
  31. </div>
  32. <div
  33. class="tw-flex tw-flex-col md:tw-flex-row md:tw-flex-row-reverse md:tw-justify-end"
  34. >
  35. <div
  36. v-if="BookingOrder.subTotal > 50000"
  37. class="tw-grid tw-grid-cols-[20px_auto] tw-gap-[4px] tw-items-center tw-mb-[14px]"
  38. >
  39. <img src="~/assets/svg/Alert.svg" />
  40. <div class="tw-body-4 tw-text-warning-default">Remittance only</div>
  41. </div>
  42. <div class="tw-body-4 tw-flex md:tw-body-3">
  43. <div class="tw-mr-[4px]">Awaiting Payment:</div>
  44. <div
  45. class="tw-text-primary-1 tw-font-bold tw-mr-[12px] md:tw-mr-[32px]"
  46. >
  47. {{ BookingOrder.subTotal }} {{ BookingOrder.currency }}
  48. </div>
  49. <button
  50. class="tw-text-complementary-1 tw-flex md:tw-mr-[33px] hover:tw-text-[#A0B5FF]"
  51. @click="$modal.show('ViewDetails')"
  52. >
  53. View Details
  54. </button>
  55. </div>
  56. </div>
  57. </div>
  58. <div class="tw-flex tw-flex-col lg:tw-pr-[0px]">
  59. <div
  60. class="tw-grid tw-cols-2 tw-gap-[10px] tw-body-3 tw-mb-[22px] lg:tw-cols-1"
  61. >
  62. <button
  63. class="tw-col-span-2 tw-bg-primary-1 tw-py-[10px] tw-px-[121px] tw-rounded-[16px] tw-text-neutrals-0 hover:tw-bg-primary-2"
  64. >
  65. Go to Pay
  66. </button>
  67. <button
  68. class="tw-py-[10px] tw-px-[19px] tw-rounded-[12px] tw-text-neutrals-400 tw-border-solid tw-border-neutrals-400 tw-border-[1px] xl:tw-col-span-2 hover:tw-bg-neutrals-100"
  69. @click="$modal.show('CancelBooking')"
  70. >
  71. Cancel Booking
  72. </button>
  73. <button
  74. class="tw-py-[10px] tw-px-[35px] tw-rounded-[12px] tw-text-primary-1 tw-border-solid tw-border-primary-1 tw-border-[1px] xl:tw-col-span-2 hover:tw-bg-primary-3"
  75. @click="$modal.show('ContactUs')"
  76. >
  77. Contact Us
  78. </button>
  79. </div>
  80. <div
  81. class="tw-grid tw-grid-cols-[16px_auto] tw-gap-[10px] tw-items-center tw-mb-[21px] lg:tw-mb-[9px] xl:tw-place-self-end"
  82. >
  83. <img src="~/assets/svg/fi_help-circle.svg" />
  84. <button
  85. class="tw-text-complementary-1 tw-flex md:tw-mr-[33px] hover:tw-text-[#A0B5FF]"
  86. @click="$modal.show('CancellationPolicy')"
  87. >
  88. Cancellation Policy
  89. </button>
  90. </div>
  91. </div>
  92. </div>
  93. </template>
  94. <script>
  95. import { bookingStatusMap, paymentStatusMap, bookingColor } from '@/plugins/util.js'
  96. export default {
  97. props: {
  98. BookingOrder: {
  99. type: Object,
  100. order_items:[],
  101. order_payment: [],
  102. order_as: [],
  103. },
  104. },
  105. methods: {
  106. bookingStatusMap,
  107. paymentStatusMap,
  108. bookingColor,
  109. async copy(copyText){
  110. window.navigator.clipboard.writeText(copyText);
  111. }
  112. },
  113. created() {
  114. console.log(this.BookingOrder);
  115. },
  116. };
  117. </script>
  118. <style lang="scss" scoped></style>