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.

124 lines
4.2 KiB

2 years ago
2 years ago
2 years ago
  1. <template>
  2. <div
  3. class="BookingInfoItem booking-info-item tw-p-[20px] tw-mb-[20px] tw-bg-neutrals-0 tw-rounded-xl xl:tw-p-[20px]"
  4. >
  5. <div class="tw-body-3 tw-font-bold md:tw-body-2 tw-mb-[21.5px]">
  6. {{ $t('Booking Details') }}
  7. </div>
  8. <div :class="['info-content','tw-flex','tw-items-start','tw-mb-[10px]','md:tw-mb-[15px]','-tw-mx-[7px]','xl:-tw-mx-[8px]',]">
  9. <div>
  10. <!-- <img class="tw-rounded tw-ml-[6px] tw-px-[2px] md:tw-rounded-[8px]" :src="Img"/> -->
  11. </div>
  12. <div
  13. class="element content-text tw-ml-[13px] md:tw-ml-[17px] tw-text-black"
  14. >
  15. <div class="t14 tw-font-bold tw-mb-[10px] md:t16 xl:tw-leading-[21px]">
  16. {{ info.service_name}}
  17. </div>
  18. <div
  19. class="tw-grid tw-grid-cols-[40px_auto] tw-gap-[10px] tw-items-center tw-mb-[12px]"
  20. >
  21. <img :src="Supplier.logo" />
  22. <div class="id tw-body-5 lg:tw-body-3 tw-text-hint">
  23. {{ Supplier.brand }}
  24. </div>
  25. </div>
  26. <div class="detail tw-body-5 tw-mb-[10px]" v-for="(item, key) in info.order_item" :key="key">
  27. {{ (item.package_name && item.package_name!='' ? item.package_name + ",&nbsp;" : "") + (item.customer_plan_name ? item.customer_plan_name + ",&nbsp;" : "") + item.specification_name +
  28. "&nbsp;x&nbsp;" + item.quantity }}
  29. </div>
  30. <div class="date tw-body-5 tw-mb-[10px]" v-for="(item, key) in info.order_as" :key="key">{{ item.as_name + "&nbsp;x&nbsp;" + item.quantity }}
  31. </div>
  32. <div v-if="info.service_date != null || info.service_time != null" class="date tw-body-5 tw-mb-[10px]">
  33. {{info.service_date}} {{info.service_time}} (Local time)
  34. </div>
  35. <div
  36. class="total t14 tw-text-primary-1 tw-mb-[10px] md:tw-mb-[20px] md:t16"
  37. >
  38. ${{ info.subTotal }} {{ info.currency }}
  39. </div>
  40. <button
  41. v-if="info.order_question_answer.length > 0 "
  42. class="t14 tw-font-bold tw-p-[11px] tw-bg-complementary-1 tw-bg-opacity-10 tw-rounded-[10px] tw-text-complementary-1 hover:tw-text-secondary-light"
  43. @click="$modal.show('OtherDetails')"
  44. >
  45. {{ $t('Other Details') }}
  46. </button>
  47. </div>
  48. </div>
  49. <div
  50. class="tw-grid tw-grid-rows-[18px_auto_32px] tw-gap-[15px] tw-border-solid tw-border-neutrals-200 tw-rounded-[20px] tw-p-[20px] lg:tw-ml-[120px]"
  51. >
  52. <div
  53. class="tw-grid tw-grid-cols-[16px_auto] tw-gap-[10px] tw-items-center tw-mb-[15px]"
  54. >
  55. <img src="~/assets/svg/Vector.svg" />
  56. <div
  57. class="t14 tw-font-bold tw-text-warning-default tw-items-center tw-font-bold md:t12 lg:t16"
  58. >
  59. {{ $t('Notice') }}
  60. </div>
  61. </div>
  62. <div v-html="NoticeDetails.message_content">
  63. </div>
  64. <button
  65. class="tw-body-3 tw-text-warning-default tw-border-solid tw-border-warning-default tw-border-[1px] tw-rounded-[12px] tw-place-self-center tw-py-[7px] tw-px-[16px] md:t14 lg:tw-body-3 lg:tw-place-self-start hover:tw-bg-success-background"
  66. @click="$modal.show('NoticeDetails')"
  67. >
  68. {{ $t('Notice Details') }}
  69. </button>
  70. </div>
  71. </div>
  72. </template>
  73. <script>
  74. import elementTextarea from "@/components/newComponent/form/ElementTextarea";
  75. import elementPromoCode from "@/components/newComponent/form/ElementPromoCode";
  76. import elementTimePicker from "@/components/newComponent/form/ElementTimePicker";
  77. export default {
  78. components: {
  79. elementTextarea,
  80. elementPromoCode,
  81. elementTimePicker,
  82. },
  83. props: {
  84. info: {
  85. type: Object,
  86. },
  87. NoticeDetails: {
  88. type: Object,
  89. },
  90. Supplier: {
  91. type: Object,
  92. },
  93. Img: {
  94. type: String,
  95. }
  96. },
  97. data() {
  98. return {};
  99. },
  100. methods: {},
  101. };
  102. </script>
  103. <style lang="scss" scoped>
  104. .bounce-enter-active {
  105. animation: bounce-in 0.3s ease-out;
  106. }
  107. .bounce-leave-active {
  108. animation: bounce-in 0.3s cubic-bezier(1, 0.5, 0.8, 1) reverse;
  109. }
  110. @keyframes bounce-in {
  111. 0% {
  112. opacity: 0;
  113. transform: translateY(-10px);
  114. }
  115. 50% {
  116. opacity: 0.5;
  117. transform: translateY(-5px);
  118. }
  119. 100% {
  120. opacity: 1;
  121. transform: translateY(0);
  122. }
  123. }
  124. </style>