Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <template>
  2. <!-- eslint-disable max-len -->
  3. <div class="box-collapse">
  4. <div class="title-box-d">
  5. <h3 class="title-d" style="text-align:left">Search</h3>
  6. </div>
  7. <span class="close-box-collapse right-boxed ion-ios-close"></span>
  8. <div class="box-collapse-wrap">
  9. <form class="form-a">
  10. <div class="row">
  11. <div class="col-md-12">
  12. <div class="form-group" style="text-align:left">
  13. <label for="Type">Keyword</label>
  14. <div class="input-group mb-3">
  15. <div class="input-group-prepend">
  16. <span class="input-group-text myFill" style="font-size:75%;">
  17. <i class="fa fa-search"></i>
  18. </span>
  19. </div>
  20. <input type="text" class="form-control" placeholder="Keyword" v-model="keyword" />
  21. <div class="input-group-append" @click="clearFilter('resort')">
  22. <span class="input-group-text cursor-pointer myFill">
  23. <b>X</b>
  24. </span>
  25. </div>
  26. </div>
  27. </div>
  28. </div>
  29. <div class="col-md-12">
  30. <ul class="nav nav-pills-a nav-pills mb-3 section-t3" id="pills-tab" role="tablist">
  31. <li class="nav-item">
  32. <a
  33. class="nav-link active"
  34. id="pills-video-tab"
  35. data-toggle="pill"
  36. href="#pills-video"
  37. role="tab"
  38. aria-controls="pills-video"
  39. aria-selected="true"
  40. v-on:click="updateType('Timeshare')"
  41. >Timeshare</a>
  42. </li>
  43. <li class="nav-item">
  44. <a
  45. class="nav-link"
  46. id="pills-plans-tab"
  47. data-toggle="pill"
  48. href="#pills-plans"
  49. role="tab"
  50. aria-controls="pills-plans"
  51. aria-selected="false"
  52. v-on:click="updateType('Residential')"
  53. >Residential</a>
  54. </li>
  55. <li class="nav-item">
  56. <a
  57. class="nav-link"
  58. id="pills-map-tab"
  59. data-toggle="pill"
  60. href="#pills-map"
  61. role="tab"
  62. aria-controls="pills-map"
  63. aria-selected="false"
  64. v-on:click="updateType('Commercial')"
  65. >Commercial</a>
  66. </li>
  67. </ul>
  68. <div class="tab-content" id="pills-tabContent">
  69. <div
  70. class="tab-pane fade show active"
  71. id="pills-video"
  72. role="tabpanel"
  73. aria-labelledby="pills-video-tab"
  74. >
  75. <timeshareSearch :keyword="keyword" />
  76. </div>
  77. <div
  78. class="tab-pane fade"
  79. id="pills-plans"
  80. role="tabpanel"
  81. aria-labelledby="pills-plans-tab"
  82. >
  83. <propertySearch propertyType="Residential" @updateSearch="updateSearch" />
  84. </div>
  85. <div
  86. class="tab-pane fade"
  87. id="pills-map"
  88. role="tabpanel"
  89. aria-labelledby="pills-map-tab"
  90. >
  91. <propertySearch propertyType="Commercial" @updateSearch="updateSearch" />
  92. </div>
  93. </div>
  94. </div>
  95. <div class="col-md-12">
  96. <button type="submit" class="btn btn-b-n" @click="Search">Search</button>
  97. </div>
  98. </div>
  99. </form>
  100. </div>
  101. </div>
  102. </template>
  103. <script>
  104. import { mapState } from 'vuex';
  105. import propertySearch from '../property/propertySearchFields.vue';
  106. import timeshareSearch from '../timeshare/searchTimeshare.vue';
  107. export default {
  108. components: {
  109. propertySearch,
  110. timeshareSearch,
  111. },
  112. data() {
  113. return {
  114. selectedPropertyType: 'timeshare',
  115. keyword: '',
  116. propertySearch: {
  117. keyword: '',
  118. userName: '',
  119. salesType: 'Sale',
  120. propertyUsageType: 'All',
  121. propertyType: 'All',
  122. province: 'All',
  123. city: 'All',
  124. suburb: 'All',
  125. minPrice: 0,
  126. maxPrice: 0,
  127. },
  128. };
  129. },
  130. computed: {
  131. ...mapState('weekList', ['filter']),
  132. },
  133. methods: {
  134. updateType(item) {
  135. this.selectedPropertyType = item;
  136. },
  137. updateSearch(item) {
  138. this.propertySearch = item;
  139. this.propertySearch.propertyUsageType = this.selectedPropertyType;
  140. this.propertySearch.keyword = this.filter.keyword;
  141. },
  142. Search() {
  143. if (this.selectedPropertyType === 'timeshare') {
  144. this.$router.push('/timesharesearch');
  145. } else {
  146. // this.$router.push('/property/search');
  147. this.$router.push({
  148. path: '/property/search',
  149. query: this.propertySearch,
  150. });
  151. }
  152. },
  153. },
  154. };
  155. </script>