Lene Scholtz 5 years ago
parent
commit
8720041239

BIN
public/img/kloader.gif View File


BIN
public/img/loading.gif View File


+ 15
- 5
src/components/timeshare/buy/weekListComponent.vue View File

38
     </div>
38
     </div>
39
     <div v-else>
39
     <div v-else>
40
       <div class="row">
40
       <div class="row">
41
-        <div class="col-md-12">
42
-          <hr />No Results Found
43
-          <hr />
41
+        <hr />
42
+        <div class="col-md-12" v-if="status !== '' && status !== undefined">
43
+          <b>{{status}}</b>
44
         </div>
44
         </div>
45
+        <div class="col-md-12" v-if="status !== '' && status !== undefined">
46
+          <img
47
+            class="img-fluid"
48
+            src="/img/kloader.gif"
49
+            alt="UVProp logo"
50
+            style="width:400px;height:364px;"
51
+          />
52
+        </div>
53
+        <div v-else>No Results Found</div>
54
+        <hr />
45
       </div>
55
       </div>
46
     </div>
56
     </div>
47
   </div>
57
   </div>
55
   },
65
   },
56
   components: {},
66
   components: {},
57
   computed: {
67
   computed: {
58
-    ...mapState('weekList', ['weeks']),
68
+    ...mapState('weekList', ['weeks', 'status']),
59
     ...mapGetters({
69
     ...mapGetters({
60
       filteredWeeks: 'weekList/filteredWeeks',
70
       filteredWeeks: 'weekList/filteredWeeks',
71
+      getRegions: 'weekList/getRegions',
61
     }),
72
     }),
62
   },
73
   },
63
   mounted() {
74
   mounted() {
68
   },
79
   },
69
   methods: {
80
   methods: {
70
     View(item) {
81
     View(item) {
71
-      console.log(item);
72
       this.$router.push(`/resort/${item.resort.resortCode}/${item.id}`);
82
       this.$router.push(`/resort/${item.resort.resortCode}/${item.id}`);
73
     },
83
     },
74
     ...mapActions('weekList', ['getWeeks', 'applyResortFilter']),
84
     ...mapActions('weekList', ['getWeeks', 'applyResortFilter']),

+ 18
- 1
src/store/modules/timeshare/timeshare.js View File

120
     },
120
     },
121
   },
121
   },
122
   getters: {
122
   getters: {
123
-
123
+    getRegionCode(state) {
124
+      return (value) => {
125
+        const reg = state.detailedRegion.find(region => region.children.some(resort => resort
126
+          .resortCode === value));
127
+        if (reg && reg.region) {
128
+          return reg.region.regionCode;
129
+        }
130
+        return '';
131
+      };
132
+    },
133
+    getResortName(state) {
134
+      return (value) => {
135
+        const res = state.resorts.find(resort => resort.resortCode === value);
136
+        if (res) {
137
+          return res.resortName;
138
+        }
139
+      };
140
+    },
124
   },
141
   },
125
   actions: {
142
   actions: {
126
     initTimeshare({
143
     initTimeshare({

+ 56
- 15
src/store/modules/timeshare/weekList.js View File

1
+/* eslint-disable no-unused-expressions */
1
 /* eslint-disable eqeqeq */
2
 /* eslint-disable eqeqeq */
2
 /* eslint-disable no-restricted-syntax */
3
 /* eslint-disable no-restricted-syntax */
3
 /* eslint-disable guard-for-in */
4
 /* eslint-disable guard-for-in */
8
   namespaced: true,
9
   namespaced: true,
9
   state: {
10
   state: {
10
     weeks: [],
11
     weeks: [],
12
+    status: undefined,
11
     filter: {
13
     filter: {
14
+      status: undefined,
12
       region: undefined,
15
       region: undefined,
13
       resort: undefined,
16
       resort: undefined,
14
       bedrooms: undefined,
17
       bedrooms: undefined,
21
     difFilter: undefined,
24
     difFilter: undefined,
22
   },
25
   },
23
   mutations: {
26
   mutations: {
27
+    onLoading(state) {
28
+      state.status = 'Loading...';
29
+    },
30
+    onError(state) {
31
+      state.status = 'Error occurred getting data.';
32
+    },
24
     onClearFilter(state, filter) {
33
     onClearFilter(state, filter) {
25
       state.filter[filter] = undefined;
34
       state.filter[filter] = undefined;
26
     },
35
     },
27
     setWeeks(state, weeks) {
36
     setWeeks(state, weeks) {
28
       state.weeks = weeks;
37
       state.weeks = weeks;
38
+      state.status = '';
29
     },
39
     },
30
     addWeek(state, week) {
40
     addWeek(state, week) {
31
       state.weeks.push(week);
41
       state.weeks.push(week);
41
       const {
51
       const {
42
         filter,
52
         filter,
43
       } = state;
53
       } = state;
44
-      // console.log(JSON.stringify(weekList));
45
       if (filter) {
54
       if (filter) {
46
         if (filter.keyword) {
55
         if (filter.keyword) {
47
           const list = [];
56
           const list = [];
49
             const item = weekList[i];
58
             const item = weekList[i];
50
             for (const r in item) {
59
             for (const r in item) {
51
               const innerItem = item[r];
60
               const innerItem = item[r];
52
-              if (innerItem && JSON.stringify(innerItem).toLowerCase().includes(filter.keyword
53
-                .toLowerCase())) {
61
+              if (
62
+                innerItem
63
+                && JSON.stringify(innerItem)
64
+                  .toLowerCase()
65
+                  .includes(filter.keyword.toLowerCase())
66
+              ) {
54
                 list.push(item);
67
                 list.push(item);
55
                 break;
68
                 break;
56
               }
69
               }
59
           weekList = list;
72
           weekList = list;
60
         }
73
         }
61
         if (filter.region) {
74
         if (filter.region) {
62
-          weekList = _.filter(weekList, x => x.region && x.region.regionCode === filter.region
63
-            .regionCode);
75
+          weekList = _.filter(
76
+            weekList,
77
+            x => x.region && x.region.regionCode === filter.region.regionCode,
78
+          );
64
         }
79
         }
65
         if (filter.resort) {
80
         if (filter.resort) {
66
-          weekList = _.filter(weekList, x => x.resort.resortCode
67
-            && x.resort.resortCode === filter.resort.resortCode);
81
+          weekList = _.filter(
82
+            weekList,
83
+            x => x.resort.resortCode && x.resort.resortCode === filter.resort.resortCode,
84
+          );
68
         }
85
         }
69
         if (filter.bedrooms) {
86
         if (filter.bedrooms) {
70
           weekList = _.filter(weekList, x => x.bedrooms && x.bedrooms == filter.bedrooms);
87
           weekList = _.filter(weekList, x => x.bedrooms && x.bedrooms == filter.bedrooms);
74
           minDate.setDate(minDate.getDate() - 7);
91
           minDate.setDate(minDate.getDate() - 7);
75
           const maxDate = new Date(filter.date);
92
           const maxDate = new Date(filter.date);
76
           maxDate.setDate(maxDate.getDate() + 7);
93
           maxDate.setDate(maxDate.getDate() + 7);
77
-          weekList = _.filter(weekList, x => new Date(x.arrivalDate)
94
+          weekList = _.filter(
95
+            weekList,
96
+            x => new Date(x.arrivalDate)
78
             && new Date(x.departureDate)
97
             && new Date(x.departureDate)
79
             && new Date(x.arrivalDate) >= minDate
98
             && new Date(x.arrivalDate) >= minDate
80
-            && new Date(x.arrivalDate) <= maxDate);
99
+            && new Date(x.arrivalDate) <= maxDate,
100
+          );
81
         }
101
         }
82
         if (filter.minPrice && filter.minPrice !== 0) {
102
         if (filter.minPrice && filter.minPrice !== 0) {
83
-          weekList = _.filter(weekList, x => x.sellPrice
84
-            && x.sellPrice >= filter.minPrice);
103
+          weekList = _.filter(weekList, x => x.sellPrice && x.sellPrice >= filter.minPrice);
85
         }
104
         }
86
         if (filter.maxPrice && filter.maxPrice !== 0) {
105
         if (filter.maxPrice && filter.maxPrice !== 0) {
87
-          weekList = _.filter(weekList, x => x.sellPrice
88
-            && x.sellPrice <= filter.maxPrice);
106
+          weekList = _.filter(weekList, x => x.sellPrice && x.sellPrice <= filter.maxPrice);
89
         }
107
         }
90
       }
108
       }
91
-      return weekList;
109
+      return _.sortBy((_.sortBy(weekList, 'arrivalDate')), 'resort.resortName');
110
+    },
111
+    getRegions(state, getters, rootState, rootGetters) {
112
+      return rootGetters['timeshare/getRegionCode']('KK');
92
     },
113
     },
93
   },
114
   },
94
   actions: {
115
   actions: {
101
     },
122
     },
102
     getWeeks({
123
     getWeeks({
103
       commit,
124
       commit,
125
+      rootGetters,
104
     }) {
126
     }) {
127
+      commit('onLoading');
105
       axios
128
       axios
106
         .get('/api/timeshareweek')
129
         .get('/api/timeshareweek')
107
-        .then(result => commit('setWeeks', result.data))
130
+        .then((result) => {
131
+          const arr2 = result.data.filter(x => x.region !== null);
132
+          const arr3 = result.data.filter(x => x.region === null);
133
+          for (const item in arr3) {
134
+            const myItem = arr3[item];
135
+            if (myItem !== undefined) {
136
+              const code = myItem.resort.resortCode;
137
+              myItem.region = {
138
+                regionName: rootGetters['timeshare/getRegionCode'](code),
139
+              };
140
+              myItem.resort = {
141
+                resortName: rootGetters['timeshare/getResortName'](code),
142
+                resortCode: code,
143
+              };
144
+              arr2.push(myItem);
145
+            }
146
+          }
147
+          commit('setWeeks', arr2);
148
+        })
108
         .catch(console.error);
149
         .catch(console.error);
109
     },
150
     },
110
     clearFilter({
151
     clearFilter({

+ 4
- 0
vue.config.js View File

5
         target: 'http://192.168.6.188:5000',
5
         target: 'http://192.168.6.188:5000',
6
         changeOrigin: true,
6
         changeOrigin: true,
7
       },
7
       },
8
+      '/nph-srep': {
9
+        target: 'http://www.unipoint-consoft.co.za',
10
+        changeOrigin: true,
11
+      },
8
     },
12
     },
9
   },
13
   },
10
 };
14
 };

Loading…
Cancel
Save