Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

resortPage.vue 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. <template>
  2. <!-- eslint-disable max-len -->
  3. <section>
  4. <div class="container intro-single">
  5. <div class="row">
  6. <div class="col-md-12 col-lg-8">
  7. <div class="title-single-box">
  8. <h1 class="title-single" style="text-align:left;">{{resort.prName}}</h1>
  9. </div>
  10. <br />
  11. </div>
  12. <div class="row mb-4">
  13. <div class="col-md-4">
  14. <img class="img-fluid" :src="image1" alt="Resort Image" />
  15. </div>
  16. <div class="col-md-4">
  17. <img class="img-fluid" :src="image2" alt="Resort Image" />
  18. </div>
  19. <div class="col-md-4">
  20. <img class="img-fluid" :src="image3" alt="Resort Image" />
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. <div class="myMargin">
  26. <div class="row">
  27. <div class="col-md-3">
  28. <h3>Filter Resort</h3>
  29. <form
  30. id="mainForm"
  31. method="POST"
  32. action="/filter"
  33. accept-charset="UTF-8"
  34. enctype="multipart/form-data"
  35. >
  36. <div class="form-group">
  37. <select class="form-control" name="season">
  38. <option value>
  39. <span style="color:white;">Season</span>
  40. </option>
  41. </select>
  42. </div>
  43. <div class="form-group">
  44. <select class="form-control" name="bedrooms">
  45. <option value>Bedrooms</option>
  46. </select>
  47. </div>
  48. <div class="form-group">
  49. <input
  50. class="form-control"
  51. type="number"
  52. step="any"
  53. id="minPrice"
  54. name="minPrice"
  55. placeholder="Minimum Price"
  56. />
  57. </div>
  58. <div class="form-group">
  59. <input
  60. class="form-control"
  61. type="number"
  62. step="any"
  63. id="maxPrice"
  64. name="maxPrice"
  65. placeholder="Maximum Price"
  66. />
  67. </div>
  68. <div class="form-group">
  69. <label>Filter Arrival Date From</label>
  70. <input type="date" class="form-control" name="arrivaldate" value />
  71. </div>
  72. <div class="form-group">
  73. <label>Filter Arrival Date To</label>
  74. <input type="date" class="form-control" name="arrivaldate" value />
  75. </div>
  76. <br />
  77. <button class="btn btn-b-n" type="submit">Search</button>
  78. </form>
  79. </div>
  80. <div class="col-md-9">
  81. <WeekList :resortCode="resortCode" />
  82. <div>
  83. <div class="btn btn-b-n" @click="routerGoTo('/timeshare/buy')">Back to Region</div>
  84. <hr />
  85. </div>
  86. {{description}}
  87. <hr />
  88. <div class="row">
  89. <div class="col-md-10 mb-4">
  90. <ul class="nav nav-tabs" id="myTab" role="tablist">
  91. <li class="nav-item">
  92. <a
  93. class="nav-link active"
  94. id="directions-tab"
  95. data-toggle="tab"
  96. href="#directions"
  97. role="tab"
  98. aria-controls="directions"
  99. aria-selected="false"
  100. >Directions</a>
  101. </li>
  102. <li class="nav-item">
  103. <a
  104. class="nav-link"
  105. id="resort-layout-tab"
  106. data-toggle="tab"
  107. href="#resort-layout"
  108. role="tab"
  109. aria-controls="resort-layout"
  110. aria-selected="true"
  111. >Resort Layout</a>
  112. </li>
  113. </ul>
  114. <div class="tab-content" id="myTabContent">
  115. <div
  116. class="tab-pane fade show active"
  117. id="directions"
  118. role="tabpanel"
  119. aria-labelledby="directions-tab"
  120. >
  121. <iframe
  122. :src="mapUrl"
  123. width="100%"
  124. height="450"
  125. frameborder="0"
  126. style="border:0"
  127. allowfullscreen
  128. ></iframe>
  129. <br />
  130. <small>
  131. <a
  132. :href="mapUrl"
  133. style="color:#60CBEB;text-align:left"
  134. target="_blank"
  135. >See map bigger</a>
  136. </small>
  137. </div>
  138. <div
  139. class="tab-pane fade"
  140. id="resort-layout"
  141. role="tabpanel"
  142. aria-labelledby="resort-layout-tab"
  143. >
  144. <img class="img-fluid" :src="layout" alt="Resort Layout" />
  145. </div>
  146. </div>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. </section>
  153. </template>
  154. <script>
  155. import { mapState, mapActions } from 'vuex';
  156. import WeekList from '../buy/weekListComponent.vue';
  157. export default {
  158. props: {
  159. resortCode: {},
  160. },
  161. components: {
  162. WeekList,
  163. },
  164. mounted() {
  165. this.initResort(this.resortCode);
  166. },
  167. computed: {
  168. ...mapState('resort', [
  169. 'resort',
  170. 'description',
  171. 'image1',
  172. 'image2',
  173. 'image3',
  174. 'layout',
  175. ]),
  176. mapUrl() {
  177. return this.resort
  178. ? `http://maps.google.com/maps?q=${this.resort.prLatitude},${this.resort.prLongitude}&z=15&output=embed`
  179. : '';
  180. },
  181. },
  182. methods: {
  183. ...mapActions('resort', ['initResort']),
  184. routerGoTo(goto) {
  185. this.$router.push(goto);
  186. },
  187. },
  188. };
  189. </script>
  190. <style>
  191. .myMargin {
  192. margin-left: 2%;
  193. margin-right: 2%;
  194. }
  195. </style>