Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. <template>
  2. <div>
  3. <div class="registration-confirm registration__step">
  4. <div class="registration-confirm__inner">
  5. <h2 class="registration__heading">Подтверждение данных</h2>
  6. <div class="registration__select-game"
  7. v-if="!!filteredParticipationType"
  8. >
  9. <div class="registration__select-item">
  10. {{ filteredParticipationType[0].nameRus }} участие
  11. </div>
  12. <div class="registration__select-item">
  13. {{ distanceType.nameRus }}
  14. </div>
  15. <div class="registration__select-item">
  16. {{ distanceCost }} ₽
  17. </div>
  18. </div>
  19. <hr class="registration__divider">
  20. <div class="registration__confirm-info">
  21. <div class="registration__confirm-col">
  22. <p class="registration__confirm-value">
  23. {{ child.data.lastNameRus }} {{ child.data.firstNameRus }} {{ child.data.middleNameRus }}
  24. </p>
  25. <p class="registration__confirm-value">
  26. {{ child.data.birthDate | moment('DD.MM.YYYY')}}
  27. </p>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. <div class="registration__nav-btn">
  33. <button class="btn btn--main btn--size-lg registration__btn"
  34. :class="{ 'sending': sendingSubmit }"
  35. :disabled="sendingSubmit" type="button" @click="submit">
  36. Подтвердить и оплатить
  37. </button>
  38. <slot name="btns"></slot>
  39. </div>
  40. </div>
  41. </template>
  42.  
  43. <script>
  44. import ConfirmData from '@/mixins/confirm-data'
  45. import Axios from 'axios';
  46. export default {
  47. data() {
  48. return {
  49. promocodeInfo: this.$parent.promocodeInfo,
  50. sendingSubmit: false,
  51. }
  52. },
  53. props: ['child', 'isBeneficiary'],
  54. mixins: [ConfirmData],
  55. computed: {
  56. eventId() {
  57. return this.$route.params.id
  58. },
  59. distanceId() {
  60. return this.$route.query.distance
  61. },
  62. distanceCost() {
  63. let distance = this.distances.find(item => item.id == this.chosenDistance);
  64. if (this.promocodeInfo) {
  65. if (this.promocodeInfo.discountType === 'Percent') {
  66. return (distance.distanceCost * (100 - this.promocodeInfo.promocodePercent)) / 100;
  67. }
  68. else return distance.distanceCost - this.promocodeInfo.promocodeSum
  69. } else {
  70.  
  71. return this.isBeneficiary ? distance.distanceCost / 2 : distance.distanceCost;
  72. }
  73.  
  74. //let distance = this.distances.find(item => item.id == this.chosenDistance);
  75. //return this.child.isBeneficiary ? distance.distanceCost / 2 : distance.distanceCost;
  76. }
  77. },
  78. methods: {
  79. submit() {
  80. this.sendingSubmit = true;
  81. Axios.put(`/api/v1/events/${this.eventId}/distances/${this.distanceId}/timerkids/${this.child.data.id}/isBeneficiary/${this.child.isBeneficiary}/promocodeId/${this.promocodeInfo.id}`)
  82. .then((response) => {
  83. this.sendingSubmit = false;
  84. window.location.href = response.data.link;
  85. })
  86. .catch((error) => {
  87. this.$toastr.e(error.response.data.Ru)
  88. //
  89. // if (error.response.status === 400 || error.response.status === 404) {
  90. // this.$toastr.e(error.response.data.Ru)
  91. // }
  92. // console.log(erro)
  93. })
  94. .finally(() => this.sendingSubmit = false)
  95. }
  96. }
  97. }
  98. </script>
  99.  
  100. <style scoped>
  101.  
  102. </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement