Selaa lähdekoodia

Address province changes & required fields

master
LeneS 5 vuotta sitten
vanhempi
commit
4539bbf940

+ 83
- 12
src/components/misc/address.vue Näytä tiedosto

9
       <div class="form-group row"></div>
9
       <div class="form-group row"></div>
10
       <div class="row" style="text-align:left">
10
       <div class="row" style="text-align:left">
11
         <div class="col-md-6" style="margin-bottom: 1em">
11
         <div class="col-md-6" style="margin-bottom: 1em">
12
-          <label>Street Number</label>
12
+          <label>Street Number *</label>
13
           <div class="input-group-prepend">
13
           <div class="input-group-prepend">
14
             <span class="input-group-text">
14
             <span class="input-group-text">
15
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
15
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
23
           </div>
23
           </div>
24
         </div>
24
         </div>
25
         <div class="col-md-6" style="margin-bottom: 1em">
25
         <div class="col-md-6" style="margin-bottom: 1em">
26
-          <label>Street Name</label>
26
+          <label>Street Name *</label>
27
           <div class="input-group-prepend">
27
           <div class="input-group-prepend">
28
             <span class="input-group-text">
28
             <span class="input-group-text">
29
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
29
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
32
           </div>
32
           </div>
33
         </div>
33
         </div>
34
         <div class="col-md-6" style="margin-bottom: 1em">
34
         <div class="col-md-6" style="margin-bottom: 1em">
35
-          <label>Suburb</label>
35
+          <label>Province *</label>
36
           <div class="input-group-prepend">
36
           <div class="input-group-prepend">
37
             <span class="input-group-text">
37
             <span class="input-group-text">
38
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
38
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
39
             </span>
39
             </span>
40
-            <input class="form-control" type="text" name="suburb" v-model="address.suburb" />
40
+            <select
41
+              class="form-control"
42
+              name="propertyType"
43
+              id="propertyType"
44
+              @change="ProvinceSelected"
45
+              v-model="address.provinceId"
46
+            >
47
+              <option value="0">Please select province</option>
48
+              <option
49
+                v-for="province in provinces"
50
+                :value="province.id"
51
+                :key="province.id"
52
+              >{{ province.description }}</option>
53
+            </select>
41
           </div>
54
           </div>
42
         </div>
55
         </div>
56
+
43
         <div class="col-md-6" style="margin-bottom: 1em">
57
         <div class="col-md-6" style="margin-bottom: 1em">
44
-          <label>City</label>
58
+          <label>City *</label>
45
           <div class="input-group-prepend">
59
           <div class="input-group-prepend">
46
             <span class="input-group-text">
60
             <span class="input-group-text">
47
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
61
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
48
             </span>
62
             </span>
49
-            <input class="form-control" type="text" name="city" v-model="address.city" />
63
+            <select
64
+              class="form-control"
65
+              name="propertyType"
66
+              id="propertyType"
67
+              @change="CitySelected"
68
+              v-model="address.cityId"
69
+            >
70
+              <option value="0">Please select city</option>
71
+              <option v-for="city in cities" :value="city.id" :key="city.id">{{ city.description }}</option>
72
+            </select>
50
           </div>
73
           </div>
51
         </div>
74
         </div>
52
         <div class="col-md-6" style="margin-bottom: 1em">
75
         <div class="col-md-6" style="margin-bottom: 1em">
53
-          <label>Province</label>
76
+          <label>Suburb *</label>
54
           <div class="input-group-prepend">
77
           <div class="input-group-prepend">
55
             <span class="input-group-text">
78
             <span class="input-group-text">
56
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
79
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
57
             </span>
80
             </span>
58
-            <select class="form-control" name="region" id="region" v-model="address.province">
59
-              <option v-for="(region, r) in regions" :key="r">{{region.regionName}}</option>
81
+            <select
82
+              class="form-control"
83
+              name="propertyType"
84
+              id="suburbselector"
85
+              v-model="address.suburbId"
86
+              @change="getPostalCode"
87
+            >
88
+              <option value="0">Please select suburb</option>
89
+              <option
90
+                v-for="suburb in suburbs"
91
+                :value="suburb.id"
92
+                :key="suburb.id"
93
+              >{{ suburb.description }}</option>
60
             </select>
94
             </select>
61
           </div>
95
           </div>
62
         </div>
96
         </div>
63
         <div class="col-md-6" style="margin-bottom: 1em">
97
         <div class="col-md-6" style="margin-bottom: 1em">
64
-          <label>Postal Code</label>
98
+          <label>Postal Code *</label>
65
           <div class="input-group-prepend">
99
           <div class="input-group-prepend">
66
             <span class="input-group-text">
100
             <span class="input-group-text">
67
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
101
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
75
 </template>
109
 </template>
76
 
110
 
77
 <script>
111
 <script>
78
-import { mapState } from 'vuex';
112
+import { mapState, mapActions } from 'vuex';
79
 
113
 
80
 export default {
114
 export default {
115
+  data() {
116
+    return {
117
+      propertyType: 'Residential',
118
+    };
119
+  },
81
   props: {
120
   props: {
82
     address: {},
121
     address: {},
83
   },
122
   },
84
   computed: {
123
   computed: {
85
-    ...mapState('timeshare', ['regions']),
124
+    ...mapState('searchTab', ['provinces', 'cities', 'suburbs']),
125
+  },
126
+  methods: {
127
+    ...mapActions('searchTab', ['getProvince', 'getCities', 'getSuburbs']),
128
+    ProvinceSelected(item) {
129
+      if (item.target.options.selectedIndex > 0) {
130
+        this.selectedProvince = this.provinces[
131
+          item.target.options.selectedIndex - 1
132
+        ].description;
133
+        this.getCities(Object.assign({}, { province: this.selectedProvince }));
134
+      }
135
+    },
136
+    CitySelected(item) {
137
+      if (item.target.options.selectedIndex > 0) {
138
+        this.selectedCity = this.cities[
139
+          item.target.options.selectedIndex - 1
140
+        ].description;
141
+        this.getSuburbs(
142
+          Object.assign(
143
+            {},
144
+            { province: this.selectedProvince, city: this.selectedCity },
145
+          ),
146
+        );
147
+      }
148
+    },
149
+    getPostalCode(item) {
150
+      this.address.postalCode = this.suburbs[
151
+        item.target.options.selectedIndex - 1
152
+      ].postalCode;
153
+    },
154
+  },
155
+  mounted() {
156
+    this.getProvince();
86
   },
157
   },
87
 };
158
 };
88
 </script>
159
 </script>

+ 3
- 3
src/components/shared/bankAccount.vue Näytä tiedosto

9
       <div class="form-group row"></div>
9
       <div class="form-group row"></div>
10
       <div class="row" style="text-align:left">
10
       <div class="row" style="text-align:left">
11
         <div class="col-md-6" style="margin-bottom: 1em">
11
         <div class="col-md-6" style="margin-bottom: 1em">
12
-          <label>Bank</label>
12
+          <label>Bank *</label>
13
           <div class="input-group-prepend">
13
           <div class="input-group-prepend">
14
             <span class="input-group-text">
14
             <span class="input-group-text">
15
               <eva-icon name="behance-outline" fill="#60CBEB"></eva-icon>
15
               <eva-icon name="behance-outline" fill="#60CBEB"></eva-icon>
18
           </div>
18
           </div>
19
         </div>
19
         </div>
20
         <div class="col-md-6" style="margin-bottom: 1em">
20
         <div class="col-md-6" style="margin-bottom: 1em">
21
-          <label>Account Number</label>
21
+          <label>Account Number *</label>
22
           <div class="input-group-prepend">
22
           <div class="input-group-prepend">
23
             <span class="input-group-text">
23
             <span class="input-group-text">
24
               <eva-icon name="navigation-outline" fill="#60CBEB"></eva-icon>
24
               <eva-icon name="navigation-outline" fill="#60CBEB"></eva-icon>
32
           </div>
32
           </div>
33
         </div>
33
         </div>
34
         <div class="col-md-6" style="margin-bottom: 1em">
34
         <div class="col-md-6" style="margin-bottom: 1em">
35
-          <label>Account Holder</label>
35
+          <label>Account Holder *</label>
36
           <div class="input-group-prepend">
36
           <div class="input-group-prepend">
37
             <span class="input-group-text">
37
             <span class="input-group-text">
38
               <eva-icon name="person-done-outline" fill="#60CBEB"></eva-icon>
38
               <eva-icon name="person-done-outline" fill="#60CBEB"></eva-icon>

+ 0
- 1
src/components/timeshare/sell/sellPage.vue Näytä tiedosto

526
           </div>
526
           </div>
527
 
527
 
528
           <button type="submit" class="btn btn-b-n btn-lg">Submit</button>
528
           <button type="submit" class="btn btn-b-n btn-lg">Submit</button>
529
-
530
           <hr />
529
           <hr />
531
 
530
 
532
           <p>* A listing fee of R380 including VAT is payable to list your timeshare week/module on the Uni-Vate website</p>
531
           <p>* A listing fee of R380 including VAT is payable to list your timeshare week/module on the Uni-Vate website</p>

+ 8
- 8
src/components/user/timeshareIndividual.vue Näytä tiedosto

10
       <div class="form-group row"></div>
10
       <div class="form-group row"></div>
11
       <div class="row" style="text-align:left">
11
       <div class="row" style="text-align:left">
12
         <div class="col-md-6">
12
         <div class="col-md-6">
13
-          <label>Name</label>
13
+          <label>Name *</label>
14
           <div class="input-group-prepend">
14
           <div class="input-group-prepend">
15
             <span class="input-group-text">
15
             <span class="input-group-text">
16
               <eva-icon name="person-outline" fill="#60CBEB"></eva-icon>
16
               <eva-icon name="person-outline" fill="#60CBEB"></eva-icon>
19
           </div>
19
           </div>
20
         </div>
20
         </div>
21
         <div class="col-md-6" style="margin-bottom: 1em">
21
         <div class="col-md-6" style="margin-bottom: 1em">
22
-          <label>Surname</label>
22
+          <label>Surname *</label>
23
           <div class="input-group-prepend">
23
           <div class="input-group-prepend">
24
             <span class="input-group-text">
24
             <span class="input-group-text">
25
               <eva-icon name="book-outline" fill="#60CBEB"></eva-icon>
25
               <eva-icon name="book-outline" fill="#60CBEB"></eva-icon>
28
           </div>
28
           </div>
29
         </div>
29
         </div>
30
         <div class="col-md-6" style="margin-bottom: 1em">
30
         <div class="col-md-6" style="margin-bottom: 1em">
31
-          <label>ID Number</label>
31
+          <label>ID Number *</label>
32
           <div class="input-group-prepend">
32
           <div class="input-group-prepend">
33
             <span class="input-group-text">
33
             <span class="input-group-text">
34
               <eva-icon name="archive" fill="#60CBEB"></eva-icon>
34
               <eva-icon name="archive" fill="#60CBEB"></eva-icon>
37
           </div>
37
           </div>
38
         </div>
38
         </div>
39
         <div class="col-md-6" style="margin-bottom: 1em">
39
         <div class="col-md-6" style="margin-bottom: 1em">
40
-          <label>Company Reg Number</label>
40
+          <label>Company Reg Number *</label>
41
           <div class="input-group-prepend">
41
           <div class="input-group-prepend">
42
             <span class="input-group-text">
42
             <span class="input-group-text">
43
               <eva-icon name="npm-outline" fill="#60CBEB"></eva-icon>
43
               <eva-icon name="npm-outline" fill="#60CBEB"></eva-icon>
51
           </div>
51
           </div>
52
         </div>
52
         </div>
53
         <div class="col-md-6" style="margin-bottom: 1em">
53
         <div class="col-md-6" style="margin-bottom: 1em">
54
-          <label>Marital Status</label>
54
+          <label>Marital Status *</label>
55
           <div class="input-group-prepend">
55
           <div class="input-group-prepend">
56
             <span class="input-group-text">
56
             <span class="input-group-text">
57
               <eva-icon name="people-outline" fill="#60CBEB"></eva-icon>
57
               <eva-icon name="people-outline" fill="#60CBEB"></eva-icon>
62
           </div>
62
           </div>
63
         </div>
63
         </div>
64
         <div class="col-md-6" style="margin-bottom: 1em">
64
         <div class="col-md-6" style="margin-bottom: 1em">
65
-          <label>Email Address</label>
65
+          <label>Email Address *</label>
66
           <div class="input-group-prepend">
66
           <div class="input-group-prepend">
67
             <span class="input-group-text">
67
             <span class="input-group-text">
68
               <eva-icon name="email-outline" fill="#60CBEB"></eva-icon>
68
               <eva-icon name="email-outline" fill="#60CBEB"></eva-icon>
71
           </div>
71
           </div>
72
         </div>
72
         </div>
73
         <div class="col-md-6" style="margin-bottom: 1em">
73
         <div class="col-md-6" style="margin-bottom: 1em">
74
-          <label>Cell Number</label>
74
+          <label>Cell Number *</label>
75
           <div class="input-group-prepend">
75
           <div class="input-group-prepend">
76
             <span class="input-group-text">
76
             <span class="input-group-text">
77
               <eva-icon name="smartphone-outline" fill="#60CBEB"></eva-icon>
77
               <eva-icon name="smartphone-outline" fill="#60CBEB"></eva-icon>
80
           </div>
80
           </div>
81
         </div>
81
         </div>
82
         <div class="col-md-6" style="margin-bottom: 1em">
82
         <div class="col-md-6" style="margin-bottom: 1em">
83
-          <label>Landline Number</label>
83
+          <label>Landline Number *</label>
84
           <div class="input-group-prepend">
84
           <div class="input-group-prepend">
85
             <span class="input-group-text">
85
             <span class="input-group-text">
86
               <eva-icon name="phone-outline" fill="#60CBEB"></eva-icon>
86
               <eva-icon name="phone-outline" fill="#60CBEB"></eva-icon>

Loading…
Peruuta
Tallenna