Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

unitPage.vue 6.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. <template>
  2. <!-- eslint-disable max-len -->
  3. <div class="container">
  4. <br />
  5. <br />
  6. <br />
  7. <br />
  8. <div class="row">
  9. <div class="col-md-12 col-lg-8">
  10. <div class="title-box-d">
  11. <h1
  12. class="title-d"
  13. style="text-align:left; font-size: 250%"
  14. >{{week ? week.resortName : ''}}</h1>
  15. </div>
  16. <br />
  17. </div>
  18. <div class="row mb-4">
  19. <div class="col-md-4">
  20. <img class="img-fluid" :src="image1" alt="Resort Image" style="border-radius:10px" />
  21. </div>
  22. <div class="col-md-4">
  23. <img class="img-fluid" :src="image2" alt="Resort Image" style="border-radius:10px" />
  24. </div>
  25. <div class="col-md-4">
  26. <img class="img-fluid" :src="image3" alt="Resort Image" style="border-radius:10px" />
  27. </div>
  28. </div>
  29. </div>
  30. <br />
  31. <div class="container col-md-12" style="text-align:left;">
  32. <div class="row">
  33. <div class="col-md-6">
  34. <div class="title-box-d">
  35. <h3 class="title-d">Property Description</h3>
  36. </div>
  37. <p>{{description}}</p>
  38. <div>
  39. <div class="title-box-d">
  40. <h3 class="title-d">Facilities</h3>
  41. </div>
  42. <ul v-if="resort.prUnitFacilities">
  43. <li v-for="(item, i) in resort.prUnitFacilities.split('\n')" :key="i">{{item}}</li>
  44. </ul>
  45. </div>
  46. </div>
  47. <div class="col-md-6" v-if="week">
  48. <form
  49. id="mainForm"
  50. method="POST"
  51. action="/interested-timeshare/"
  52. accept-charset="UTF-8"
  53. enctype="multipart/form-data"
  54. >
  55. <div class="title-box-d">
  56. <h3 class="title-d">Summary</h3>
  57. </div>
  58. <div class="form-row">
  59. <div class="col-md-6">
  60. <label for="resortunit">Unit</label>
  61. <div class="input-group mb-3">
  62. <div class="input-group-prepend">
  63. <span class="input-group-text" style="color: #60CBEB">
  64. <b>U#</b>
  65. </span>
  66. </div>
  67. <input
  68. class="form-control"
  69. type="text"
  70. id="resort"
  71. name="resortunit"
  72. :value="week ? week.unitNumber : ''"
  73. disabled
  74. />
  75. </div>
  76. </div>
  77. <div class="col-md-6">
  78. <label for="resortWeek">Module / Week Number</label>
  79. <div class="input-group mb-3">
  80. <div class="input-group-prepend">
  81. <span class="input-group-text" style="color: #60CBEB">
  82. <b>M</b>
  83. </span>
  84. </div>
  85. <input
  86. class="form-control"
  87. type="text"
  88. id="week"
  89. name="resortWeek"
  90. :value="week ? week.weekNumber : ''"
  91. disabled
  92. />
  93. </div>
  94. </div>
  95. <div class="col-md-6">
  96. <label for="resortModule">Current Year Levy</label>
  97. <div class="input-group mb-3">
  98. <div class="input-group-prepend">
  99. <span class="input-group-text" style="color: #60CBEB">
  100. <b>R</b>
  101. </span>
  102. </div>
  103. <input
  104. class="form-control"
  105. type="text"
  106. id="levy"
  107. name="levy"
  108. :value="formatPrice(week ? week.levyAmount : 0)"
  109. disabled
  110. />
  111. </div>
  112. </div>
  113. <div class="col-md-6">
  114. <label for="price">Price</label>
  115. <div class="property-price d-flex">
  116. <!-- <div class="card-header-c d-flex"> -->
  117. <div style="width: 260px; height: 70px; border-style: solid; color: #60CBEB;">
  118. <!-- <div class="card-title-c align-self-center"> -->
  119. <a class="justify-content-center" style="color: black; font-size: 250%">
  120. <b>R{{ formatPrice(week ? week.sellPrice : 0) }}</b>
  121. </a>
  122. <!-- </div> -->
  123. </div>
  124. <!-- </div> -->
  125. </div>
  126. </div>
  127. </div>
  128. <br />
  129. </form>
  130. <br />
  131. <!-- <a
  132. class="btn btn-b-n even-width mr-auto"
  133. href="/share-transfer-initiation-for-purchaser/"
  134. >Make an Offer</a>-->
  135. <button
  136. type="button"
  137. class="btn btn-b-n even-width mr-auto"
  138. data-toggle="modal"
  139. data-target="#myModal"
  140. >Make an Offer</button>
  141. <div class="col-md-12">
  142. <div id="myModal" class="modal fade" role="dialog">
  143. <div class="modal-dialog modal-lg">
  144. <!-- Modal content-->
  145. <div class="modal-content">
  146. <div class="modal-header">
  147. <button type="button" class="close" data-dismiss="modal">&times;</button>
  148. </div>
  149. <div padding-left="20px">
  150. <makeOffer
  151. name="MakeOffer"
  152. :isMakeOffer="true"
  153. :isProperty="false"
  154. :item="week"
  155. />
  156. </div>
  157. </div>
  158. </div>
  159. </div>
  160. </div>
  161. <a class="btn btn-b-c even-width mr-auto" href="javascript:history.back()">Back</a>
  162. </div>
  163. </div>
  164. </div>
  165. </div>
  166. </template>
  167. <script>
  168. import { mapState, mapActions } from 'vuex';
  169. import makeOffer from '../../processFlow/makeOffer.vue';
  170. export default {
  171. name: 'unit',
  172. components: {
  173. makeOffer,
  174. },
  175. props: {
  176. resortCode: {},
  177. weekId: {},
  178. },
  179. mounted() {
  180. this.initResort(this.resortCode);
  181. this.initWeek(this.weekId);
  182. },
  183. computed: {
  184. ...mapState('resort', [
  185. 'resort',
  186. 'description',
  187. 'image1',
  188. 'image2',
  189. 'image3',
  190. ]),
  191. ...mapState('week', ['week']),
  192. },
  193. methods: {
  194. ...mapActions('resort', ['initResort']),
  195. ...mapActions('week', ['initWeek']),
  196. formatPrice(value) {
  197. if (value) {
  198. const val = (value / 1).toFixed(2);
  199. return val.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
  200. }
  201. return '';
  202. },
  203. },
  204. };
  205. </script>
  206. <style scoped>
  207. .btn.btn-b-c {
  208. background-color: #ffffff;
  209. color: #60cbeb;
  210. border-radius: 0;
  211. }
  212. .btn.btn-b-c:hover {
  213. background-color: #089bf0;
  214. color: #ffffff;
  215. }
  216. </style>