瀏覽代碼

ClearFilter on search

master
Kobus 5 年之前
父節點
當前提交
9212d030a3

+ 4
- 4
src/components/processFlow/makeOffer.vue 查看文件

@@ -21,7 +21,7 @@
21 21
         <div class="form-group row">
22 22
           <div class="col-md-6 col-lg-5 section-md-t3">
23 23
             <div class="title-box-d">
24
-              <h3 class="title-d">{{ item.resort }}</h3>
24
+              <h3 class="title-d">{{ item.resort.resortName }}</h3>
25 25
             </div>
26 26
           </div>
27 27
         </div>
@@ -40,7 +40,7 @@
40 40
                 id="resort"
41 41
                 name="resortunit"
42 42
                 disabled
43
-                v-model="item.unit"
43
+                v-model="item.unitNumber"
44 44
               />
45 45
             </div>
46 46
           </div>
@@ -58,7 +58,7 @@
58 58
                 id="week"
59 59
                 name="resortWeek"
60 60
                 disabled
61
-                v-model="item.module"
61
+                v-model="item.weekNumber"
62 62
               />
63 63
             </div>
64 64
           </div>
@@ -73,7 +73,7 @@
73 73
                 <b>R</b>
74 74
               </span>
75 75
             </div>
76
-            <input class="form-control" type="number" v-model="item.price" disabled />
76
+            <input class="form-control" type="number" v-model="item.sellPrice" disabled />
77 77
           </div>
78 78
         </div>
79 79
         <div class="col-md-6">

+ 32
- 1
src/components/timeshare/buy/weekListComponent.vue 查看文件

@@ -20,7 +20,34 @@
20 20
           <td>{{item.bedrooms}}</td>
21 21
           <td>{{item.sellPrice | toCurrency}}</td>
22 22
           <td>{{item.status ? item.status.description : ''}}</td>
23
-          <td></td>
23
+          <td>
24
+            <div class="col-md-12">
25
+              <button
26
+                type="button"
27
+                class="btn btn-b-n"
28
+                data-toggle="modal"
29
+                data-target="#myModal"
30
+              >Make an Offer</button>
31
+              <div id="myModal" class="modal fade" role="dialog">
32
+                <div class="modal-dialog modal-lg">
33
+                  <!-- Modal content-->
34
+                  <div class="modal-content">
35
+                    <div class="modal-header">
36
+                      <button type="button" class="close" data-dismiss="modal">&times;</button>
37
+                    </div>
38
+                    <div padding-left="20px">
39
+                      <makeOffer
40
+                        name="MakeOffer"
41
+                        :isMakeOffer="true"
42
+                        :isProperty="false"
43
+                        :item="item"
44
+                      />
45
+                    </div>
46
+                  </div>
47
+                </div>
48
+              </div>
49
+            </div>
50
+          </td>
24 51
         </tr>
25 52
       </tbody>
26 53
     </table>
@@ -28,8 +55,12 @@
28 55
 </template>
29 56
 <script>
30 57
 import { mapState, mapActions, mapGetters } from 'vuex';
58
+import makeOffer from '../../processFlow/makeOffer.vue';
31 59
 
32 60
 export default {
61
+  components: {
62
+    makeOffer,
63
+  },
33 64
   computed: {
34 65
     ...mapState('weekList', ['weeks']),
35 66
     ...mapGetters({

+ 31
- 0
src/components/timeshare/searchTimeshare.vue 查看文件

@@ -18,6 +18,11 @@
18 18
           <select class="form-control" name="region" id="region" v-model="filter.region">
19 19
             <option v-for="(item, i) in regions" :key="i" :value="item">{{item.regionName}}</option>
20 20
           </select>
21
+          <div class="input-group-append" @click="clearFilter('region')">
22
+            <span class="input-group-text cursor-pointer" style="color: #60CBEB">
23
+              <b>X</b>
24
+            </span>
25
+          </div>
21 26
         </div>
22 27
       </div>
23 28
       <div class="form-group text-left">
@@ -31,6 +36,11 @@
31 36
           <select class="form-control" name="resort" id="resort" v-model="filter.resort">
32 37
             <option v-for="(item, i) in filteredResorts" :key="i" :value="item">{{item.resortName}}</option>
33 38
           </select>
39
+          <div class="input-group-append" @click="clearFilter('resort')">
40
+            <span class="input-group-text cursor-pointer" style="color: #60CBEB">
41
+              <b>X</b>
42
+            </span>
43
+          </div>
34 44
         </div>
35 45
       </div>
36 46
       <div class="form-group text-left">
@@ -44,6 +54,11 @@
44 54
           <select class="form-control" name="bedrooms" v-model="filter.bedrooms">
45 55
             <option v-for="(item, i) in resortBedrooms" :key="i">{{item}}</option>
46 56
           </select>
57
+          <div class="input-group-append" @click="clearFilter('bedrooms')">
58
+            <span class="input-group-text cursor-pointer" style="color: #60CBEB">
59
+              <b>X</b>
60
+            </span>
61
+          </div>
47 62
         </div>
48 63
       </div>
49 64
       <hr />
@@ -56,6 +71,11 @@
56 71
             </span>
57 72
           </div>
58 73
           <input type="date" class="form-control" name="arrivaldate" v-model="filter.date" />
74
+          <div class="input-group-append" @click="clearFilter('date')">
75
+            <span class="input-group-text cursor-pointer" style="color: #60CBEB">
76
+              <b>X</b>
77
+            </span>
78
+          </div>
59 79
         </div>
60 80
       </div>
61 81
       <hr />
@@ -78,6 +98,11 @@
78 98
                 placeholder="Minimum Price"
79 99
                 v-model="filter.minPrice"
80 100
               />
101
+              <div class="input-group-append" @click="clearFilter('minPrice')">
102
+                <span class="input-group-text cursor-pointer" style="color: #60CBEB">
103
+                  <b>X</b>
104
+                </span>
105
+              </div>
81 106
             </div>
82 107
           </div>
83 108
           <div class="col-md-6 text-left">
@@ -97,6 +122,11 @@
97 122
                 placeholder="Maximum Price"
98 123
                 v-model="filter.maxPrice"
99 124
               />
125
+              <div class="input-group-append" @click="clearFilter('maxPrice')">
126
+                <span class="input-group-text cursor-pointer" style="color: #60CBEB">
127
+                  <b>X</b>
128
+                </span>
129
+              </div>
100 130
             </div>
101 131
           </div>
102 132
         </div>
@@ -135,6 +165,7 @@ export default {
135 165
   },
136 166
   methods: {
137 167
     ...mapActions('timeshare', ['initTimeshare']),
168
+    ...mapActions('weekList', ['clearFilter']),
138 169
   },
139 170
 };
140 171
 </script>

+ 1
- 3
src/main.js 查看文件

@@ -13,11 +13,9 @@ Vue.filter('toCurrency', (value) => {
13 13
     return value;
14 14
   }
15 15
   const formatter = new Intl.NumberFormat('en-US', {
16
-    style: 'currency',
17
-    currency: 'ZAR',
18 16
     minimumFractionDigits: 2,
19 17
   });
20
-  return formatter.format(value);
18
+  return `R ${formatter.format(value)}`;
21 19
 });
22 20
 
23 21
 new Vue({

+ 8
- 0
src/store/modules/timeshare/weekList.js 查看文件

@@ -17,6 +17,9 @@ export default {
17 17
     },
18 18
   },
19 19
   mutations: {
20
+    onClearFilter(state, filter) {
21
+      state.filter[filter] = undefined;
22
+    },
20 23
     setWeeks(state, weeks) {
21 24
       state.weeks = weeks;
22 25
     },
@@ -76,6 +79,11 @@ export default {
76 79
         .then(result => commit('setWeeks', result.data))
77 80
         .catch(console.error);
78 81
     },
82
+    clearFilter({
83
+      commit,
84
+    }, filter) {
85
+      commit('onClearFilter', filter);
86
+    },
79 87
     addDummyWeek({
80 88
       commit,
81 89
     }) {

Loading…
取消
儲存