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.

137 lines
3.6 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <div
  3. class="price-info tw-p-5 tw-mb-[20px] tw-bg-white tw-rounded-xl tw-hidden xl:tw-block"
  4. >
  5. <h4>
  6. {{ info.title }}
  7. </h4>
  8. <div class="element collapse tw-my-[12px]">
  9. <div
  10. :class="[
  11. 'label',
  12. 'tw-body-4',
  13. 'tw-mb-[12px]',
  14. 'tw-cursor-pointer',
  15. 'service-info',
  16. show ? 'show' : 'hide',
  17. ]"
  18. @click="show = !show"
  19. >
  20. {{ $t("Package Detail") }}
  21. </div>
  22. <Transition name="bounce">
  23. <div v-if="show">
  24. <div v-for="(item, key) in info.order_item" :key="key"
  25. class="detail tw-body-5 tw-mb-[10px] xl:tw-text-neutrals-600 xl:tw-mb-[4px]"
  26. >
  27. {{ item }}
  28. </div>
  29. </div>
  30. </Transition>
  31. </div>
  32. <div
  33. class="element tw-flex tw-justify-between tw-items-center tw-flex-nowrap tw-my-[12px]"
  34. >
  35. <div class="label tw-body-4">{{ $t("Select Exhibition") }}</div>
  36. <div class="content tw-body-4">{{ info.selectExhibition }}</div>
  37. </div>
  38. <!-- <div
  39. class="element tw-flex tw-justify-between tw-items-center tw-flex-nowrap tw-my-[12px]"
  40. >
  41. <div class="label tw-body-4">{{ $t("Select Exhibition") }}</div>
  42. <div class="content tw-body-4">
  43. {{ info.selectExhibition }}
  44. </div>
  45. </div> -->
  46. <!-- <div
  47. class="element tw-flex tw-justify-between tw-items-center tw-flex-nowrap tw-my-[12px]"
  48. >
  49. <div class="label tw-body-4">{{ $t("Service Date") }}</div>
  50. <div class="content tw-body-4">
  51. {{ info.date }}
  52. </div>
  53. </div> -->
  54. <!-- <div
  55. class="element tw-flex tw-justify-between tw-items-center tw-flex-nowrap tw-my-[12px]"
  56. >
  57. <div class="label tw-body-4">{{ $t("Quantity") }}</div>
  58. <div class="content tw-body-4">{{ info.quantity }}</div>
  59. </div> -->
  60. <div
  61. class="element total tw-flex tw-justify-between tw-items-center tw-flex-nowrap tw-pt-[12px] tw-border-0 tw-border-t tw-border-solid tw-border-neutrals-200"
  62. >
  63. <div class="label tw-body-4 tw-text-black tw-font-bold">
  64. {{ $t("Total")}}
  65. <!-- <span class="tw-text-neutrals-400 tw-font-medium tw-ml-[4px]">{{
  66. $t("(Tax included)")
  67. }}</span> -->
  68. </div>
  69. <div class="content tw-body-4 tw-font-bold">
  70. ${{ info.total.toLocaleString() + currency}}
  71. </div>
  72. </div>
  73. </div>
  74. </template>
  75. <script>
  76. export default {
  77. name: "PriceInfo",
  78. props: {
  79. info: {
  80. type: Object,
  81. },
  82. currency:{
  83. type: String,
  84. }
  85. },
  86. data() {
  87. return {
  88. show: false,
  89. };
  90. },
  91. };
  92. </script>
  93. <style lang="scss" scoped>
  94. .service-info {
  95. position: relative;
  96. &::after {
  97. content: "";
  98. display: inline-block;
  99. position: absolute;
  100. right: 0;
  101. top: 0;
  102. background-image: url("~/assets/svg/down-arrow.svg");
  103. background-size: 100%;
  104. background-position: right center;
  105. background-repeat: no-repeat;
  106. width: 10px;
  107. height: 6px;
  108. transition: all 0.2s linear;
  109. }
  110. &.show {
  111. &::after {
  112. transition: all 0.2s linear;
  113. transform: rotate(180deg);
  114. }
  115. }
  116. }
  117. .bounce-enter-active {
  118. animation: bounce-in 0.3s ease-out;
  119. }
  120. .bounce-leave-active {
  121. animation: bounce-in 0.3s cubic-bezier(1, 0.5, 0.8, 1) reverse;
  122. }
  123. @keyframes bounce-in {
  124. 0% {
  125. opacity: 0;
  126. transform: translateY(-10px);
  127. }
  128. 50% {
  129. opacity: 0.5;
  130. transform: translateY(-5px);
  131. }
  132. 100% {
  133. opacity: 1;
  134. transform: translateY(0);
  135. }
  136. }
  137. </style>