Procházet zdrojové kódy

Address province changes & required fields

master
LeneS před 5 roky
rodič
revize
4539bbf940

+ 83
- 12
src/components/misc/address.vue Zobrazit soubor

@@ -9,7 +9,7 @@
9 9
       <div class="form-group row"></div>
10 10
       <div class="row" style="text-align:left">
11 11
         <div class="col-md-6" style="margin-bottom: 1em">
12
-          <label>Street Number</label>
12
+          <label>Street Number *</label>
13 13
           <div class="input-group-prepend">
14 14
             <span class="input-group-text">
15 15
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
@@ -23,7 +23,7 @@
23 23
           </div>
24 24
         </div>
25 25
         <div class="col-md-6" style="margin-bottom: 1em">
26
-          <label>Street Name</label>
26
+          <label>Street Name *</label>
27 27
           <div class="input-group-prepend">
28 28
             <span class="input-group-text">
29 29
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
@@ -32,36 +32,70 @@
32 32
           </div>
33 33
         </div>
34 34
         <div class="col-md-6" style="margin-bottom: 1em">
35
-          <label>Suburb</label>
35
+          <label>Province *</label>
36 36
           <div class="input-group-prepend">
37 37
             <span class="input-group-text">
38 38
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
39 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 54
           </div>
42 55
         </div>
56
+
43 57
         <div class="col-md-6" style="margin-bottom: 1em">
44
-          <label>City</label>
58
+          <label>City *</label>
45 59
           <div class="input-group-prepend">
46 60
             <span class="input-group-text">
47 61
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
48 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 73
           </div>
51 74
         </div>
52 75
         <div class="col-md-6" style="margin-bottom: 1em">
53
-          <label>Province</label>
76
+          <label>Suburb *</label>
54 77
           <div class="input-group-prepend">
55 78
             <span class="input-group-text">
56 79
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
57 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 94
             </select>
61 95
           </div>
62 96
         </div>
63 97
         <div class="col-md-6" style="margin-bottom: 1em">
64
-          <label>Postal Code</label>
98
+          <label>Postal Code *</label>
65 99
           <div class="input-group-prepend">
66 100
             <span class="input-group-text">
67 101
               <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
@@ -75,14 +109,51 @@
75 109
 </template>
76 110
 
77 111
 <script>
78
-import { mapState } from 'vuex';
112
+import { mapState, mapActions } from 'vuex';
79 113
 
80 114
 export default {
115
+  data() {
116
+    return {
117
+      propertyType: 'Residential',
118
+    };
119
+  },
81 120
   props: {
82 121
     address: {},
83 122
   },
84 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 159
 </script>

+ 3
- 3
src/components/shared/bankAccount.vue Zobrazit soubor

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

+ 0
- 1
src/components/timeshare/sell/sellPage.vue Zobrazit soubor

@@ -526,7 +526,6 @@
526 526
           </div>
527 527
 
528 528
           <button type="submit" class="btn btn-b-n btn-lg">Submit</button>
529
-
530 529
           <hr />
531 530
 
532 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 Zobrazit soubor

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

Načítá se…
Zrušit
Uložit