Kobus 5 gadus atpakaļ
vecāks
revīzija
18721c0f44

+ 2
- 0
.gitignore Parādīt failu

@@ -19,3 +19,5 @@ yarn-error.log*
19 19
 *.njsproj
20 20
 *.sln
21 21
 *.sw?
22
+vue.config.js
23
+.gitignore

Binārs
public/img/buy.jpg Parādīt failu


Binārs
public/img/sell2.jpg Parādīt failu


Binārs
public/img/timeshare2.jpg Parādīt failu


+ 4
- 0
src/assets/staticData/maritalStatus.js Parādīt failu

@@ -0,0 +1,4 @@
1
+const items = ['ICOP (In Community of Property)', 'OCOP (Out of Community of Property)', 'Other',
2
+  'Traditional Wedding', 'Single', 'Divorced', 'Widow', 'Committed Relationship', 'Partner',
3
+];
4
+export default items;

+ 1
- 1
src/components/about/aboutTimeshare.vue Parādīt failu

@@ -6,7 +6,7 @@
6 6
         <div class="col-sm-12">
7 7
           <div class="about-img-box">
8 8
             <img
9
-              src="img/slide-3.jpg"
9
+              src="img/timeshare2.jpg"
10 10
               alt="About Timeshare"
11 11
               class="img-fluid"
12 12
               style="width:800px;height:400px;"

+ 94
- 0
src/components/misc/address.vue Parādīt failu

@@ -0,0 +1,94 @@
1
+<template>
2
+  <!-- eslint-disable max-len -->
3
+  <div>
4
+    <br />
5
+    <div class="col-md-12" style="text-align:centre">
6
+      <div class="myWell">
7
+        <h4>Address</h4>
8
+      </div>
9
+      <div class="form-group row"></div>
10
+      <div class="row" style="text-align:left">
11
+        <div class="col-md-6" style="margin-bottom: 1em">
12
+          <label>Street Number</label>
13
+          <div class="input-group-prepend">
14
+            <span class="input-group-text">
15
+              <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
16
+            </span>
17
+            <input
18
+              class="form-control"
19
+              type="text"
20
+              name="streetnumber"
21
+              v-model="address.streetNumber"
22
+            />
23
+          </div>
24
+        </div>
25
+        <div class="col-md-6" style="margin-bottom: 1em">
26
+          <label>Street Name</label>
27
+          <div class="input-group-prepend">
28
+            <span class="input-group-text">
29
+              <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
30
+            </span>
31
+            <input class="form-control" type="text" name="streetname" v-model="address.streetName" />
32
+          </div>
33
+        </div>
34
+        <div class="col-md-6" style="margin-bottom: 1em">
35
+          <label>Suburb</label>
36
+          <div class="input-group-prepend">
37
+            <span class="input-group-text">
38
+              <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
39
+            </span>
40
+            <input class="form-control" type="text" name="suburb" v-model="address.suburb" />
41
+          </div>
42
+        </div>
43
+        <div class="col-md-6" style="margin-bottom: 1em">
44
+          <label>City</label>
45
+          <div class="input-group-prepend">
46
+            <span class="input-group-text">
47
+              <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
48
+            </span>
49
+            <input class="form-control" type="text" name="city" v-model="address.city" />
50
+          </div>
51
+        </div>
52
+        <div class="col-md-6" style="margin-bottom: 1em">
53
+          <label>Province</label>
54
+          <div class="input-group-prepend">
55
+            <span class="input-group-text">
56
+              <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
57
+            </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>
60
+            </select>
61
+          </div>
62
+        </div>
63
+        <div class="col-md-6" style="margin-bottom: 1em">
64
+          <label>Postal Code</label>
65
+          <div class="input-group-prepend">
66
+            <span class="input-group-text">
67
+              <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
68
+            </span>
69
+            <input class="form-control" type="text" name="postalcode" v-model="address.postalCode" />
70
+          </div>
71
+        </div>
72
+      </div>
73
+    </div>
74
+  </div>
75
+</template>
76
+
77
+<script>
78
+import { mapState } from 'vuex';
79
+
80
+export default {
81
+  props: {
82
+    address: {},
83
+  },
84
+  computed: {
85
+    ...mapState('timeshare', ['regions']),
86
+  },
87
+};
88
+</script>
89
+
90
+<style>
91
+.goDown {
92
+  margin-top: 150px;
93
+}
94
+</style>

+ 193
- 0
src/components/processFlow/makeOffer.vue Parādīt failu

@@ -0,0 +1,193 @@
1
+<template>
2
+  <!-- eslint-disable max-len -->
3
+  <div style="padding-left:50px; padding-right:50px; padding-bottom:50px;">
4
+    <div>
5
+      <br />
6
+      <div v-if="isProperty">
7
+        <div class="form-group row">
8
+          <div class="col-md-6">
9
+            <div class="title-box-d">
10
+              <h3 class="title-d">{{ item.shortDescription }}</h3>
11
+            </div>
12
+          </div>
13
+        </div>
14
+        <div class="form-group row">
15
+          <div class="col-md-12" style="text-align:left">
16
+            <div v-html="item.description"></div>
17
+          </div>
18
+        </div>
19
+      </div>
20
+      <div v-if="!isProperty">
21
+        <div class="form-group row">
22
+          <div class="col-md-6 col-lg-5 section-md-t3">
23
+            <div class="title-box-d">
24
+              <h3 class="title-d">{{ item.resort }}</h3>
25
+            </div>
26
+          </div>
27
+        </div>
28
+        <div class="form-group row">
29
+          <div class="col-md-6">
30
+            <label for="resortunit">Unit</label>
31
+            <div class="input-group mb-3">
32
+              <div class="input-group-prepend">
33
+                <span class="input-group-text" style="color: #60CBEB">
34
+                  <b>U#</b>
35
+                </span>
36
+              </div>
37
+              <input
38
+                class="form-control"
39
+                type="text"
40
+                id="resort"
41
+                name="resortunit"
42
+                disabled
43
+                v-model="item.unit"
44
+              />
45
+            </div>
46
+          </div>
47
+          <div class="col-md-6">
48
+            <label for="resortWeek">Module / Week Number</label>
49
+            <div class="input-group mb-3">
50
+              <div class="input-group-prepend">
51
+                <span class="input-group-text" style="color: #60CBEB">
52
+                  <b>M</b>
53
+                </span>
54
+              </div>
55
+              <input
56
+                class="form-control"
57
+                type="text"
58
+                id="week"
59
+                name="resortWeek"
60
+                disabled
61
+                v-model="item.module"
62
+              />
63
+            </div>
64
+          </div>
65
+        </div>
66
+      </div>
67
+      <div class="form-group row">
68
+        <div class="col-md-6">
69
+          <label>Current Price</label>
70
+          <div class="input-group mb-3">
71
+            <div class="input-group-prepend">
72
+              <span class="input-group-text" style="color: #60CBEB">
73
+                <b>R</b>
74
+              </span>
75
+            </div>
76
+            <input class="form-control" type="number" v-model="item.price" disabled />
77
+          </div>
78
+        </div>
79
+        <div class="col-md-6">
80
+          <label>Offer</label>
81
+          <div class="input-group mb-3">
82
+            <div class="input-group-prepend">
83
+              <span class="input-group-text" style="color: #60CBEB">
84
+                <b>R</b>
85
+              </span>
86
+            </div>
87
+            <input
88
+              class="form-control"
89
+              type="number"
90
+              step="any"
91
+              id="minPrice"
92
+              name="minPrice"
93
+              v-model="item.offer"
94
+              :disabled="!isMakeOffer"
95
+            />
96
+          </div>
97
+        </div>
98
+      </div>
99
+      <div class="form-group row">
100
+        <div class="col-md-12">
101
+          <label>Comments</label>
102
+          <textarea
103
+            class="form-control editor form-control-lg form-control-a"
104
+            name="description"
105
+            v-model="item.comments"
106
+            :disabled="!isMakeOffer"
107
+          ></textarea>
108
+        </div>
109
+      </div>
110
+    </div>
111
+    <div class="container">
112
+      <button
113
+        v-if="isMakeOffer"
114
+        type="button"
115
+        @click="SendOffer()"
116
+        class="btn btn-b-n"
117
+        style="width: 150px; height:40px;"
118
+        data-dismiss="modal"
119
+      >Send Offer</button>
120
+      <button
121
+        v-if="!isMakeOffer && !isDecline"
122
+        type="submit"
123
+        @click="Accept()"
124
+        class="btn btn-b-n"
125
+        style="width: 150px; height:40px;"
126
+        data-dismiss="modal"
127
+      >Accept</button>
128
+      <button
129
+        v-if="!isMakeOffer && !isDecline"
130
+        type="button"
131
+        @click="Decline()"
132
+        class="btn btn-b-n"
133
+        style="width: 150px; height:40px;"
134
+      >Decline</button>
135
+      <div v-if="isDecline" class="form-group row">
136
+        <div class="col-md-12">
137
+          <br />
138
+          <label>Decline Reason</label>
139
+          <textarea class="form-control editor form-control-lg form-control-a" name="description"></textarea>
140
+        </div>
141
+      </div>
142
+      <button
143
+        v-if="isDecline"
144
+        type="button"
145
+        @click="Complete()"
146
+        class="btn btn-b-n"
147
+        style="width: 150px; height:40px;"
148
+        data-dismiss="modal"
149
+      >Complete</button>
150
+    </div>
151
+  </div>
152
+</template>
153
+
154
+<script>
155
+export default {
156
+  name: 'MakeOffer',
157
+  props: {
158
+    isMakeOffer: Boolean,
159
+    isProperty: Boolean,
160
+    item: Object,
161
+  },
162
+  data() {
163
+    return {
164
+      isDecline: false,
165
+    };
166
+  },
167
+  methods: {
168
+    SendOffer() {
169
+      // Save Offer data
170
+    },
171
+    Accept() {
172
+      // Accept Offer
173
+    },
174
+    Decline() {
175
+      this.isDecline = true;
176
+    },
177
+    Complete() {
178
+      this.isDecline = false;
179
+    },
180
+    Close() {},
181
+  },
182
+};
183
+</script>
184
+
185
+<style scoped>
186
+.myWell {
187
+  width: 100%;
188
+  background-color: rgba(217, 217, 217, 0.85);
189
+  border-radius: 6px;
190
+  padding: 5px;
191
+  margin: 3px;
192
+}
193
+</style>

+ 109
- 0
src/components/processFlow/offers.vue Parādīt failu

@@ -0,0 +1,109 @@
1
+<template>
2
+  <!-- eslint-disable max-len -->
3
+  <div>
4
+    <div class="container">
5
+      <section class="intro-single">
6
+        <div class="container">
7
+          <div class="row">
8
+            <div class="col-md-12 col-lg-8">
9
+              <div class="title-single-box">
10
+                <h1 class="title-single">Bid Offers</h1>
11
+              </div>
12
+            </div>
13
+          </div>
14
+        </div>
15
+      </section>
16
+    </div>
17
+    <div class="container">
18
+      <table class="table table-bordered">
19
+        <thead>
20
+          <tr>
21
+            <th>Type</th>
22
+            <th>Description</th>
23
+            <th></th>
24
+          </tr>
25
+        </thead>
26
+        <tbody>
27
+          <tr v-for="(item, i) in items" :key="i">
28
+            <td v-if="item.isProperty">Property</td>
29
+            <td v-else>Timeshare</td>
30
+            <td>{{ item.uid }}</td>
31
+            <td>
32
+              <button
33
+                type="button"
34
+                class="btn btn-b-n"
35
+                data-toggle="modal"
36
+                :data-target="'#myModal' + i"
37
+              >View</button>
38
+              <div :id="'myModal' + i" class="modal fade" role="dialog">
39
+                <div class="modal-dialog modal-lg">
40
+                  <!-- Modal content-->
41
+                  <div class="modal-content">
42
+                    <div class="modal-header">
43
+                      <button type="button" class="close" data-dismiss="modal">&times;</button>
44
+                    </div>
45
+                    <div padding-left="20px">
46
+                      <makeOffer
47
+                        name="MakeOffer"
48
+                        :isMakeOffer="false"
49
+                        :isProperty="item.isProperty"
50
+                        :item="item"
51
+                      />
52
+                    </div>
53
+                  </div>
54
+                </div>
55
+              </div>
56
+            </td>
57
+          </tr>
58
+        </tbody>
59
+      </table>
60
+    </div>
61
+  </div>
62
+</template>
63
+
64
+<script>
65
+import makeOffer from './makeOffer.vue';
66
+
67
+export default {
68
+  name: 'offers',
69
+  components: { makeOffer },
70
+  data() {
71
+    return {
72
+      item: {},
73
+      items: [
74
+        {
75
+          isProperty: true,
76
+          uid: '1 - 2 Bedroom House',
77
+          id: 1,
78
+          shortDescription: '2 Bedroom House',
79
+          description: '<div><i>Property Description</i></div>',
80
+          price: 1000,
81
+          offer: 1500,
82
+          comments: 'Bla Bla Bla',
83
+        },
84
+        {
85
+          isProperty: false,
86
+          uid: 'NL N18 359',
87
+          id: 2,
88
+          shortDescription: '',
89
+          description: '',
90
+          price: 85000,
91
+          offer: 90000,
92
+          comments: 'I want to go....',
93
+          resort: 'Ngwenya Lodge',
94
+          unit: '359',
95
+          week: 'N18',
96
+          module: '359/N18 River View',
97
+        },
98
+      ],
99
+    };
100
+  },
101
+  //   methods: {
102
+  //     SetItem(data) {
103
+  //       this.item = data;
104
+  //       const element = this.$refs.modal.$el;
105
+  //       $(element).modal('show');
106
+  //     },
107
+  //   },
108
+};
109
+</script>

+ 28
- 0
src/components/property/propertyPage.vue Parādīt failu

@@ -96,6 +96,32 @@
96 96
                     </ul>
97 97
                   </div>
98 98
                 </div>
99
+                <div class="col-md-12">
100
+                  <button
101
+                    type="button"
102
+                    class="btn btn-b-n"
103
+                    data-toggle="modal"
104
+                    data-target="#myModal"
105
+                  >Make an Offer</button>
106
+                  <div id="myModal" class="modal fade" role="dialog">
107
+                    <div class="modal-dialog modal-lg">
108
+                      <!-- Modal content-->
109
+                      <div class="modal-content">
110
+                        <div class="modal-header">
111
+                          <button type="button" class="close" data-dismiss="modal">&times;</button>
112
+                        </div>
113
+                        <div padding-left="20px">
114
+                          <makeOffer
115
+                            name="MakeOffer"
116
+                            :isMakeOffer="true"
117
+                            :isProperty="true"
118
+                            :item="{id: property.id, shortDescription: property.shortDescription, description: property.description, price: property.price}"
119
+                          />
120
+                        </div>
121
+                      </div>
122
+                    </div>
123
+                  </div>
124
+                </div>
99 125
                 <div class="col-md-12">
100 126
                   <div class="row section-t3">
101 127
                     <div class="col-sm-12">
@@ -229,11 +255,13 @@
229 255
 <script>
230 256
 import { mapState, mapActions } from 'vuex';
231 257
 import lightBox from '../shared/lightBoxGallery.vue';
258
+import makeOffer from '../processFlow/makeOffer.vue';
232 259
 
233 260
 export default {
234 261
   name: 'property',
235 262
   components: {
236 263
     lightBox,
264
+    makeOffer,
237 265
   },
238 266
   data() {
239 267
     return {};

+ 37
- 20
src/components/property/propertyUserField.vue Parādīt failu

@@ -2,27 +2,31 @@
2 2
   <div class="form-group row">
3 3
     <div class="col-md-4 mb-2" v-for="(currentField, i) in fields" :key="i">
4 4
       <label>{{ currentField.name }}</label>
5
-      <input
6
-        v-if="currentField.type === 'number'"
7
-        class="form-control form-control-lg form-control-a"
8
-        type="number"
9
-        name="currentField.name"
10
-        id="currentField.id"
11
-        v-model="setFields[i]"
12
-        @change="UpdateSetFields(currentField, i)"
13
-      />
14
-      <input
15
-        v-if="currentField.type === 'text'"
16
-        class="form-control form-control-lg form-control-a"
17
-        type="text"
18
-        name="currentField.name"
19
-        id="currentField.id"
20
-        v-model="setFields[i]"
21
-        @change="UpdateSetFields(currentField, i)"
22
-      />
23
-      <div v-if="currentField.type === 'yesno'">
5
+      <div class="input-group-prepend">
6
+        <span class="input-group-text" style="color: #60CBEB">
7
+          <b>{{ GetFirstLetter(currentField.name) }}</b>
8
+        </span>
9
+        <input
10
+          v-if="currentField.type === 'number'"
11
+          class="form-control"
12
+          type="number"
13
+          name="currentField.name"
14
+          id="currentField.id"
15
+          v-model="setFields[i]"
16
+          @change="UpdateSetFields(currentField, i)"
17
+        />
18
+        <input
19
+          v-if="currentField.type === 'text'"
20
+          class="form-control"
21
+          type="text"
22
+          name="currentField.name"
23
+          id="currentField.id"
24
+          v-model="setFields[i]"
25
+          @change="UpdateSetFields(currentField, i)"
26
+        />
24 27
         <select
25
-          class="form-control form-control-lg form-control-a"
28
+          v-if="currentField.type === 'yesno'"
29
+          class="form-control"
26 30
           id="currentField.id"
27 31
           v-model="setFields[i]"
28 32
           @change="UpdateSetFields(currentField, i)"
@@ -54,6 +58,19 @@ export default {
54 58
       };
55 59
       this.$emit('UpdateUserDefinedFields', item);
56 60
     },
61
+    GetFirstLetter(value) {
62
+      if (value) {
63
+        return value.slice(0, 1);
64
+      }
65
+      return '';
66
+    },
57 67
   },
68
+  // Testing editing
69
+  // created() {
70
+  //   this.setFields = [];
71
+  //   for (let i = 0; i < this.fields.length; i++) {
72
+  //     this.setFields[i] = this.fields[i].value;
73
+  //   }
74
+  // },
58 75
 };
59 76
 </script>

+ 157
- 120
src/components/property/propertyeditPage.vue Parādīt failu

@@ -27,138 +27,170 @@
27 27
         </div>
28 28
       </div>
29 29
       <div class="row mb-3">
30
-        <div class="container col-md-10">
30
+        <div class="container col-md-10" style="text-align:left">
31 31
           <form id="mainForm">
32 32
             <div class="form-group row">
33 33
               <div class="col-md-4">
34 34
                 <label>Property Type</label>
35
-                <select
36
-                  class="form-control"
37
-                  name="propertyType"
38
-                  id="propertyType"
39
-                  v-model="property.propertyTypeId"
40
-                >
41
-                  <option value="0">Please select type</option>
42
-                  <option
43
-                    v-for="item in propertyTypes"
44
-                    :value="item.id"
45
-                    :key="item.id"
46
-                  >{{ item.description }}</option>
47
-                </select>
35
+                <div class="input-group-prepend">
36
+                  <span class="input-group-text" style="color: #60CBEB">
37
+                    <b>T</b>
38
+                  </span>
39
+                  <select
40
+                    class="form-control"
41
+                    name="propertyType"
42
+                    id="propertyType"
43
+                    v-model="property.propertyTypeId"
44
+                  >
45
+                    <option value="0">Please select type</option>
46
+                    <option
47
+                      v-for="item in propertyTypes"
48
+                      :value="item.id"
49
+                      :key="item.id"
50
+                    >{{ item.description }}</option>
51
+                  </select>
52
+                </div>
48 53
               </div>
49 54
               <div v-if="propertyType === 'Commercial'" class="col-md-4">
50 55
                 <label>Property Name</label>
51
-                <input
52
-                  class="form-control"
53
-                  type="text"
54
-                  name="propertyName"
55
-                  id="propertyName"
56
-                  v-model="property.propertyName"
57
-                />
56
+                <div class="input-group-prepend">
57
+                  <span class="input-group-text" style="color: #60CBEB">
58
+                    <b>N</b>
59
+                  </span>
60
+                  <input
61
+                    class="form-control"
62
+                    type="text"
63
+                    name="propertyName"
64
+                    id="propertyName"
65
+                    v-model="property.propertyName"
66
+                  />
67
+                </div>
58 68
               </div>
59 69
               <div v-if="propertyType === 'Commercial'" class="col-md-4">
60 70
                 <label>Unit</label>
61
-                <input
62
-                  class="form-control"
63
-                  type="text"
64
-                  name="unit"
65
-                  id="unit"
66
-                  v-model="property.unit"
67
-                />
71
+                <div class="input-group-prepend">
72
+                  <span class="input-group-text" style="color: #60CBEB">
73
+                    <b>U#</b>
74
+                  </span>
75
+                  <input
76
+                    class="form-control"
77
+                    type="text"
78
+                    name="unit"
79
+                    id="unit"
80
+                    v-model="property.unit"
81
+                  />
82
+                </div>
68 83
               </div>
69 84
             </div>
70 85
             <div class="form-group row">
71
-              <div class="col-md-4">
72
-                <label>Address Line 1</label>
73
-                <input
74
-                  class="form-control"
75
-                  type="text"
76
-                  name="address1"
77
-                  placeholder="Apartment, suite, unit, building, floor, Po Box etc."
78
-                  style="font-size: 50%"
79
-                  id="address1"
80
-                  v-model="property.addressLine1"
81
-                />
82
-              </div>
83
-              <div class="col-md-4">
84
-                <label>Address Line 2</label>
85
-                <input
86
-                  class="form-control"
87
-                  type="text"
88
-                  name="address2"
89
-                  placeholder="Complex, estate, company name, etc."
90
-                  style="font-size: 50%"
91
-                  id="address2"
92
-                  v-model="property.addressLine2"
93
-                />
86
+              <div class="col-md-6" style="margin-bottom: 1em">
87
+                <label>Street Number</label>
88
+                <div class="input-group-prepend">
89
+                  <span class="input-group-text">
90
+                    <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
91
+                  </span>
92
+                  <input
93
+                    class="form-control"
94
+                    type="text"
95
+                    name="streetnumber"
96
+                    v-model="property.addressLine1"
97
+                  />
98
+                </div>
94 99
               </div>
95
-              <div class="col-md-4">
96
-                <label>Street</label>
97
-                <input
98
-                  class="form-control"
99
-                  type="text"
100
-                  name="address3"
101
-                  placeholder="Street or c/o name"
102
-                  style="font-size: 50%"
103
-                  id="address3"
104
-                  v-model="property.addressLine3"
105
-                />
100
+              <div class="col-md-6" style="margin-bottom: 1em">
101
+                <label>Street Name</label>
102
+                <div class="input-group-prepend">
103
+                  <span class="input-group-text">
104
+                    <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
105
+                  </span>
106
+                  <input
107
+                    class="form-control"
108
+                    type="text"
109
+                    name="streetname"
110
+                    id="streetname"
111
+                    v-model="property.addressLine2"
112
+                  />
113
+                </div>
106 114
               </div>
107
-            </div>
108
-            <div class="form-group row">
109
-              <div class="col-md-4">
115
+              <div class="col-md-6" style="margin-bottom: 1em">
110 116
                 <label>Province</label>
111
-                <select
112
-                  class="form-control"
113
-                  name="propertyType"
114
-                  id="propertyType"
115
-                  @change="ProvinceSelected"
116
-                  v-model="property.provinceId"
117
-                >
118
-                  <option value="0">Please select province</option>
119
-                  <option
120
-                    v-for="province in provinces"
121
-                    :value="province.id"
122
-                    :key="province.id"
123
-                  >{{ province.description }}</option>
124
-                </select>
117
+                <div class="input-group-prepend">
118
+                  <span class="input-group-text">
119
+                    <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
120
+                  </span>
121
+                  <select
122
+                    class="form-control"
123
+                    name="propertyType"
124
+                    id="propertyType"
125
+                    @change="ProvinceSelected"
126
+                    v-model="property.provinceId"
127
+                  >
128
+                    <option value="0">Please select province</option>
129
+                    <option
130
+                      v-for="province in provinces"
131
+                      :value="province.id"
132
+                      :key="province.id"
133
+                    >{{ province.description }}</option>
134
+                  </select>
135
+                </div>
125 136
               </div>
126
-              <div class="col-md-4">
137
+
138
+              <div class="col-md-6" style="margin-bottom: 1em">
127 139
                 <label>City</label>
128
-                <select
129
-                  class="form-control"
130
-                  name="propertyType"
131
-                  id="propertyType"
132
-                  @change="CitySelected"
133
-                  v-model="property.cityId"
134
-                >
135
-                  <option value="0">Please select city</option>
136
-                  <option
137
-                    v-for="city in cities"
138
-                    :value="city.id"
139
-                    :key="city.id"
140
-                  >{{ city.description }}</option>
141
-                </select>
140
+                <div class="input-group-prepend">
141
+                  <span class="input-group-text">
142
+                    <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
143
+                  </span>
144
+                  <select
145
+                    class="form-control"
146
+                    name="propertyType"
147
+                    id="propertyType"
148
+                    @change="CitySelected"
149
+                    v-model="property.cityId"
150
+                  >
151
+                    <option value="0">Please select city</option>
152
+                    <option
153
+                      v-for="city in cities"
154
+                      :value="city.id"
155
+                      :key="city.id"
156
+                    >{{ city.description }}</option>
157
+                  </select>
158
+                </div>
142 159
               </div>
143
-              <div class="col-md-4">
160
+              <div class="col-md-6" style="margin-bottom: 1em">
144 161
                 <label>Suburb</label>
145
-                <select
146
-                  class="form-control"
147
-                  name="propertyType"
148
-                  id="suburbselector"
149
-                  v-model="property.suburbId"
150
-                >
151
-                  <option value="0">Please select suburb</option>
152
-                  <option
153
-                    v-for="suburb in suburbs"
154
-                    :value="suburb.id"
155
-                    :key="suburb.id"
156
-                  >{{ suburb.description }}</option>
157
-                </select>
162
+                <div class="input-group-prepend">
163
+                  <span class="input-group-text">
164
+                    <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
165
+                  </span>
166
+                  <select
167
+                    class="form-control"
168
+                    name="propertyType"
169
+                    id="suburbselector"
170
+                    v-model="property.suburbId"
171
+                  >
172
+                    <option value="0">Please select suburb</option>
173
+                    <option
174
+                      v-for="suburb in suburbs"
175
+                      :value="suburb.id"
176
+                      :key="suburb.id"
177
+                    >{{ suburb.description }}</option>
178
+                  </select>
179
+                </div>
180
+              </div>
181
+              <div class="col-md-6" style="margin-bottom: 1em">
182
+                <label>Postal Code</label>
183
+                <div class="input-group-prepend">
184
+                  <span class="input-group-text">
185
+                    <eva-icon name="home-outline" fill="#60CBEB"></eva-icon>
186
+                  </span>
187
+                  <input class="form-control" type="text" name="postalcode" />
188
+                </div>
158 189
               </div>
159 190
             </div>
191
+
160 192
             <div class="form-group row">
161
-              <div class="col-md-4">
193
+              <div class="col-md-6">
162 194
                 <label v-if="salesType === 'Rental'">Rental Price</label>
163 195
                 <label v-if="salesType !== 'Rental'">Sales Price</label>
164 196
                 <div class="input-group-prepend">
@@ -175,18 +207,23 @@
175 207
                   />
176 208
                 </div>
177 209
               </div>
178
-              <div class="col-md-4" v-if="salesType === 'Rental'">
210
+              <div class="col-md-6" v-if="salesType === 'Rental'">
179 211
                 <label>Per</label>
180
-                <select
181
-                  class="form-control"
182
-                  name="propertyType"
183
-                  id="propertyType"
184
-                  v-model="property.pricePer"
185
-                >
186
-                  <option value>Please select</option>
187
-                  <option value="Month">Month</option>
188
-                  <option value="Day">Day</option>
189
-                </select>
212
+                <div class="input-group-prepend">
213
+                  <span class="input-group-text" style="color: #60CBEB">
214
+                    <b>D/M</b>
215
+                  </span>
216
+                  <select
217
+                    class="form-control"
218
+                    name="propertyType"
219
+                    id="propertyType"
220
+                    v-model="property.pricePer"
221
+                  >
222
+                    <option value>Please select</option>
223
+                    <option value="Month">Month</option>
224
+                    <option value="Day">Day</option>
225
+                  </select>
226
+                </div>
190 227
               </div>
191 228
             </div>
192 229
             <div class="form-group row">

+ 69
- 0
src/components/shared/bankAccount.vue Parādīt failu

@@ -0,0 +1,69 @@
1
+<template>
2
+  <!-- eslint-disable max-len -->
3
+  <div>
4
+    <br />
5
+    <div class="col-md-12" style="text-align:centre">
6
+      <div class="myWell">
7
+        <h4>Banking Details</h4>
8
+      </div>
9
+      <div class="form-group row"></div>
10
+      <div class="row" style="text-align:left">
11
+        <div class="col-md-6" style="margin-bottom: 1em">
12
+          <label>Bank</label>
13
+          <div class="input-group-prepend">
14
+            <span class="input-group-text">
15
+              <eva-icon name="behance-outline" fill="#60CBEB"></eva-icon>
16
+            </span>
17
+            <input class="form-control" type="text" name="bank" v-model="bankingDetails.bank" />
18
+          </div>
19
+        </div>
20
+        <div class="col-md-6" style="margin-bottom: 1em">
21
+          <label>Account Number</label>
22
+          <div class="input-group-prepend">
23
+            <span class="input-group-text">
24
+              <eva-icon name="navigation-outline" fill="#60CBEB"></eva-icon>
25
+            </span>
26
+            <input
27
+              class="form-control"
28
+              type="text"
29
+              name="accountnumber"
30
+              v-model="bankingDetails.accountNumber"
31
+            />
32
+          </div>
33
+        </div>
34
+        <div class="col-md-6" style="margin-bottom: 1em">
35
+          <label>Account Holder</label>
36
+          <div class="input-group-prepend">
37
+            <span class="input-group-text">
38
+              <eva-icon name="person-done-outline" fill="#60CBEB"></eva-icon>
39
+            </span>
40
+            <input
41
+              class="form-control"
42
+              type="text"
43
+              name="accountholder"
44
+              v-model="bankingDetails.accountHolder"
45
+            />
46
+          </div>
47
+        </div>
48
+      </div>
49
+    </div>
50
+  </div>
51
+</template>
52
+
53
+<script>
54
+export default {
55
+  props: {
56
+    bankingDetails: {
57
+      bank: undefined,
58
+      accountNumber: undefined,
59
+      accountHolder: undefined,
60
+    },
61
+  },
62
+};
63
+</script>
64
+
65
+<style>
66
+.goDown {
67
+  margin-top: 150px;
68
+}
69
+</style>

+ 1
- 1
src/components/timeshare/buy/buyPage.vue Parādīt failu

@@ -6,7 +6,7 @@
6 6
         <div class="col-sm-12">
7 7
           <div class="tobuy-img-box">
8 8
             <img
9
-              src="img/Monateng_Safari_Lodge1.jpg"
9
+              src="img/buy.jpg"
10 10
               alt="Timeshare To Buy"
11 11
               class="img-fluid"
12 12
               style="width:800px;height:400px;"

+ 143
- 160
src/components/timeshare/resort/resortPage.vue Parādīt failu

@@ -1,177 +1,160 @@
1 1
 <template>
2
-  <div>
3
-    <section>
4
-      <section class="intro-single">
5
-        <div class="container">
6
-          <div class="row">
7
-            <div class="col-md-12 col-lg-8">
8
-              <div class="title-single-box">
9
-                <h1 class="title-single" style="text-align:left;">{{resort.prName}}</h1>
10
-              </div>
11
-            </div>
2
+  <!-- eslint-disable max-len -->
3
+  <section>
4
+    <div class="container intro-single">
5
+      <div class="row">
6
+        <div class="col-md-12 col-lg-8">
7
+          <div class="title-single-box">
8
+            <h1 class="title-single" style="text-align:left;">{{resort.prName}}</h1>
12 9
           </div>
10
+          <br />
13 11
         </div>
14
-      </section>
15
-      <div class="myMargin">
16
-        <div class="row">
17
-          <div class="col-md-3">
18
-            <h3>Filter Resort</h3>
19
-            <form
20
-              id="mainForm"
21
-              method="POST"
22
-              action="/filter"
23
-              accept-charset="UTF-8"
24
-              enctype="multipart/form-data"
25
-            >
26
-              <div class="form-group">
27
-                <select class="form-control" name="region" id="region">
28
-                  <option value>Region</option>
29
-                </select>
30
-              </div>
31
-              <div class="form-group">
32
-                <select class="form-control" id="resort" name="resort">
33
-                  <option value>Resort</option>
34
-                </select>
35
-              </div>
36
-              <div class="form-group">
37
-                <select class="form-control" name="season">
38
-                  <option value>
39
-                    <span style="color:white;">Season</span>
40
-                  </option>
41
-                </select>
42
-              </div>
43
-              <div class="form-group">
44
-                <select class="form-control" name="bedrooms">
45
-                  <option value>Bedrooms</option>
46
-                </select>
47
-              </div>
48
-
49
-              <div class="form-group">
50
-                <input
51
-                  class="form-control"
52
-                  type="number"
53
-                  step="any"
54
-                  id="minPrice"
55
-                  name="minPrice"
56
-                  placeholder="Minimum Price"
57
-                />
58
-              </div>
59
-              <div class="form-group">
60
-                <input
61
-                  class="form-control"
62
-                  type="number"
63
-                  step="any"
64
-                  id="maxPrice"
65
-                  name="maxPrice"
66
-                  placeholder="Maximum Price"
67
-                />
68
-              </div>
69
-              <div class="form-group">
70
-                <label>Filter Arrival Date From</label>
71
-                <input type="date" class="form-control" name="arrivaldate" value />
72
-              </div>
73
-              <div class="form-group">
74
-                <label>Filter Arrival Date To</label>
75
-                <input type="date" class="form-control" name="arrivaldate" value />
76
-              </div>
77
-
78
-              <br />
12
+        <div class="row mb-4">
13
+          <div class="col-md-4">
14
+            <img class="img-fluid" :src="image1" alt="Resort Image" />
15
+          </div>
16
+          <div class="col-md-4">
17
+            <img class="img-fluid" :src="image2" alt="Resort Image" />
18
+          </div>
19
+          <div class="col-md-4">
20
+            <img class="img-fluid" :src="image3" alt="Resort Image" />
21
+          </div>
22
+        </div>
23
+      </div>
24
+    </div>
25
+    <div class="myMargin">
26
+      <div class="row">
27
+        <div class="col-md-3">
28
+          <h3>Filter Resort</h3>
29
+          <form
30
+            id="mainForm"
31
+            method="POST"
32
+            action="/filter"
33
+            accept-charset="UTF-8"
34
+            enctype="multipart/form-data"
35
+          >
36
+            <div class="form-group">
37
+              <select class="form-control" name="season">
38
+                <option value>
39
+                  <span style="color:white;">Season</span>
40
+                </option>
41
+              </select>
42
+            </div>
43
+            <div class="form-group">
44
+              <select class="form-control" name="bedrooms">
45
+                <option value>Bedrooms</option>
46
+              </select>
47
+            </div>
79 48
 
80
-              <button class="btn btn-b-n" type="submit">Search</button>
81
-            </form>
82
-            <div class="col-md-12 blue-bg p-2 p-md-4">
83
-              <h3>Facilities</h3>
84
-              <ul>
85
-                <li v-for="(item, i) in resort.prUnitFacilities.split('\n')" :key="i">{{item}}</li>
86
-              </ul>
49
+            <div class="form-group">
50
+              <input
51
+                class="form-control"
52
+                type="number"
53
+                step="any"
54
+                id="minPrice"
55
+                name="minPrice"
56
+                placeholder="Minimum Price"
57
+              />
87 58
             </div>
88
-          </div>
89
-          <div class="col-md-9">
90
-            <WeekList :resortCode="resortCode" />
91
-            <div>
92
-              <div class="btn btn-b-n" @click="routerGoTo('/timeshare/buy')">Back to Region</div>
93
-              <hr />
59
+            <div class="form-group">
60
+              <input
61
+                class="form-control"
62
+                type="number"
63
+                step="any"
64
+                id="maxPrice"
65
+                name="maxPrice"
66
+                placeholder="Maximum Price"
67
+              />
94 68
             </div>
95
-            {{description}}
96
-            <hr />
97
-            <div class="row mb-4">
98
-              <div class="col-md-4">
99
-                <img class="img-fluid" :src="image1" alt="Resort Image" />
100
-              </div>
101
-              <div class="col-md-4">
102
-                <img class="img-fluid" :src="image2" alt="Resort Image" />
103
-              </div>
104
-              <div class="col-md-4">
105
-                <img class="img-fluid" :src="image3" alt="Resort Image" />
106
-              </div>
69
+            <div class="form-group">
70
+              <label>Filter Arrival Date From</label>
71
+              <input type="date" class="form-control" name="arrivaldate" value />
107 72
             </div>
108
-            <div class="row">
109
-              <div class="col-md-12 mb-4">
110
-                <ul class="nav nav-tabs" id="myTab" role="tablist">
111
-                  <li class="nav-item">
112
-                    <a
113
-                      class="nav-link active"
114
-                      id="directions-tab"
115
-                      data-toggle="tab"
116
-                      href="#directions"
117
-                      role="tab"
118
-                      aria-controls="directions"
119
-                      aria-selected="false"
120
-                    >Directions</a>
121
-                  </li>
122
-                  <li class="nav-item">
123
-                    <a
124
-                      class="nav-link"
125
-                      id="resort-layout-tab"
126
-                      data-toggle="tab"
127
-                      href="#resort-layout"
128
-                      role="tab"
129
-                      aria-controls="resort-layout"
130
-                      aria-selected="true"
131
-                    >Resort Layout</a>
132
-                  </li>
133
-                </ul>
134
-                <div class="tab-content" id="myTabContent">
135
-                  <div
136
-                    class="tab-pane fade show active"
137
-                    id="directions"
138
-                    role="tabpanel"
139
-                    aria-labelledby="directions-tab"
140
-                  >
141
-                    <iframe
142
-                      :src="mapUrl"
143
-                      width="100%"
144
-                      height="450"
145
-                      frameborder="0"
146
-                      style="border:0"
147
-                      allowfullscreen
148
-                    ></iframe>
149
-                    <br />
73
+            <div class="form-group">
74
+              <label>Filter Arrival Date To</label>
75
+              <input type="date" class="form-control" name="arrivaldate" value />
76
+            </div>
77
+
78
+            <br />
150 79
 
151
-                    <small>
152
-                      <a
153
-                        :href="mapUrl"
154
-                        style="color:#60CBEB;text-align:left"
155
-                        target="_blank"
156
-                      >See map bigger</a>
157
-                    </small>
158
-                  </div>
159
-                  <div
160
-                    class="tab-pane fade"
161
-                    id="resort-layout"
162
-                    role="tabpanel"
163
-                    aria-labelledby="resort-layout-tab"
164
-                  >
165
-                    <img class="img-fluid" :src="layout" alt="Resort Layout" />
166
-                  </div>
80
+            <button class="btn btn-b-n" type="submit">Search</button>
81
+          </form>
82
+        </div>
83
+        <div class="col-md-9">
84
+          <WeekList :resortCode="resortCode" />
85
+          <div>
86
+            <div class="btn btn-b-n" @click="routerGoTo('/timeshare/buy')">Back to Region</div>
87
+            <hr />
88
+          </div>
89
+          {{description}}
90
+          <hr />
91
+
92
+          <div class="row">
93
+            <div class="col-md-10 mb-4">
94
+              <ul class="nav nav-tabs" id="myTab" role="tablist">
95
+                <li class="nav-item">
96
+                  <a
97
+                    class="nav-link active"
98
+                    id="directions-tab"
99
+                    data-toggle="tab"
100
+                    href="#directions"
101
+                    role="tab"
102
+                    aria-controls="directions"
103
+                    aria-selected="false"
104
+                  >Directions</a>
105
+                </li>
106
+                <li class="nav-item">
107
+                  <a
108
+                    class="nav-link"
109
+                    id="resort-layout-tab"
110
+                    data-toggle="tab"
111
+                    href="#resort-layout"
112
+                    role="tab"
113
+                    aria-controls="resort-layout"
114
+                    aria-selected="true"
115
+                  >Resort Layout</a>
116
+                </li>
117
+              </ul>
118
+              <div class="tab-content" id="myTabContent">
119
+                <div
120
+                  class="tab-pane fade show active"
121
+                  id="directions"
122
+                  role="tabpanel"
123
+                  aria-labelledby="directions-tab"
124
+                >
125
+                  <iframe
126
+                    :src="mapUrl"
127
+                    width="100%"
128
+                    height="450"
129
+                    frameborder="0"
130
+                    style="border:0"
131
+                    allowfullscreen
132
+                  ></iframe>
133
+                  <br />
134
+
135
+                  <small>
136
+                    <a
137
+                      :href="mapUrl"
138
+                      style="color:#60CBEB;text-align:left"
139
+                      target="_blank"
140
+                    >See map bigger</a>
141
+                  </small>
142
+                </div>
143
+                <div
144
+                  class="tab-pane fade"
145
+                  id="resort-layout"
146
+                  role="tabpanel"
147
+                  aria-labelledby="resort-layout-tab"
148
+                >
149
+                  <img class="img-fluid" :src="layout" alt="Resort Layout" />
167 150
                 </div>
168 151
               </div>
169 152
             </div>
170 153
           </div>
171 154
         </div>
172 155
       </div>
173
-    </section>
174
-  </div>
156
+    </div>
157
+  </section>
175 158
 </template>
176 159
 <script>
177 160
 import { mapState, mapActions } from 'vuex';

+ 171
- 99
src/components/timeshare/resort/unitPage.vue Parādīt failu

@@ -1,20 +1,46 @@
1 1
 <template>
2
-  <section>
3
-    <section class="intro-single">
4
-      <div class="container">
5
-        <div class="row">
6
-          <div class="col-md-12 col-lg-8">
7
-            <div class="title-single-box">
8
-              <h1 class="title-single" style="text-align:left;">{{resort.prName}}</h1>
9
-            </div>
10
-          </div>
2
+  <!-- eslint-disable max-len -->
3
+  <div class="container">
4
+    <br />
5
+    <br />
6
+    <br />
7
+    <br />
8
+    <br />
9
+    <div class="row">
10
+      <div class="col-md-12 col-lg-8">
11
+        <div class="title-box-d">
12
+          <h1 class="title-d" style="text-align:left;">{{resort.prName}}</h1>
11 13
         </div>
14
+        <br />
12 15
       </div>
13
-    </section>
14
-    <div class="container">
15 16
       <div class="row mb-4">
17
+        <div class="col-md-4">
18
+          <img class="img-fluid" :src="image1" alt="Resort Image" />
19
+        </div>
20
+        <div class="col-md-4">
21
+          <img class="img-fluid" :src="image2" alt="Resort Image" />
22
+        </div>
23
+        <div class="col-md-4">
24
+          <img class="img-fluid" :src="image3" alt="Resort Image" />
25
+        </div>
26
+      </div>
27
+    </div>
28
+    <br />
29
+    <div class="container col-md-12" style="text-align:left;">
30
+      <div class="row">
16 31
         <div class="col-md-6">
32
+          <div class="title-box-d">
33
+            <h3 class="title-d">Property Description</h3>
34
+          </div>
17 35
           <p>{{description}}</p>
36
+          <div>
37
+            <div class="title-box-d">
38
+              <h3 class="title-d">Facilities</h3>
39
+            </div>
40
+            <ul v-if="resort.prUnitFacilities">
41
+              <li v-for="(item, i) in resort.prUnitFacilities.split('\n')" :key="i">{{item}}</li>
42
+            </ul>
43
+          </div>
18 44
         </div>
19 45
         <div class="col-md-6">
20 46
           <form
@@ -24,124 +50,163 @@
24 50
             accept-charset="UTF-8"
25 51
             enctype="multipart/form-data"
26 52
           >
53
+            <div class="title-box-d">
54
+              <h3 class="title-d">Summary</h3>
55
+            </div>
27 56
             <div class="form-row">
28 57
               <div class="col-md-6">
29 58
                 <label for="resortunit">Unit</label>
30
-                <input
31
-                  class="form-control"
32
-                  type="text"
33
-                  id="resort"
34
-                  name="resortunit"
35
-                  :value="week.unit"
36
-                  disabled
37
-                />
59
+                <div class="input-group mb-3">
60
+                  <div class="input-group-prepend">
61
+                    <span class="input-group-text" style="color: #60CBEB">
62
+                      <b>U#</b>
63
+                    </span>
64
+                  </div>
65
+                  <input
66
+                    class="form-control"
67
+                    type="text"
68
+                    id="resort"
69
+                    name="resortunit"
70
+                    :value="week.unit"
71
+                    disabled
72
+                  />
73
+                </div>
38 74
               </div>
39 75
               <div class="col-md-6">
40
-                <label for="resortWeek">Week</label>
41
-                <input
42
-                  class="form-control"
43
-                  type="text"
44
-                  id="week"
45
-                  name="resortWeek"
46
-                  :value="week.week"
47
-                  disabled
48
-                />
76
+                <label for="resortWeek">Module / Week Number</label>
77
+                <div class="input-group mb-3">
78
+                  <div class="input-group-prepend">
79
+                    <span class="input-group-text" style="color: #60CBEB">
80
+                      <b>M</b>
81
+                    </span>
82
+                  </div>
83
+                  <input
84
+                    class="form-control"
85
+                    type="text"
86
+                    id="week"
87
+                    name="resortWeek"
88
+                    :value="week.module"
89
+                    disabled
90
+                  />
91
+                </div>
49 92
               </div>
50
-            </div>
51
-            <br />
52
-            <div class="form-row">
93
+
53 94
               <div class="col-md-6">
54
-                <label for="resortModule">Module</label>
55
-                <input
56
-                  class="form-control"
57
-                  type="text"
58
-                  id="module"
59
-                  name="resortModule"
60
-                  :value="week.module"
61
-                  disabled
62
-                />
95
+                <label for="resortModule">Current Year Levy</label>
96
+                <div class="input-group mb-3">
97
+                  <div class="input-group-prepend">
98
+                    <span class="input-group-text" style="color: #60CBEB">
99
+                      <b>R</b>
100
+                    </span>
101
+                  </div>
102
+                  <input
103
+                    class="form-control"
104
+                    type="text"
105
+                    id="levy"
106
+                    name="levy"
107
+                    :value="formatPrice(week.currentLevy)"
108
+                    disabled
109
+                  />
110
+                </div>
63 111
               </div>
64 112
               <div class="col-md-6">
65 113
                 <label for="price">Price</label>
66
-                <input
67
-                  class="form-control"
68
-                  type="text"
69
-                  name="price"
70
-                  id="price"
71
-                  :value="'R ' + week.price"
72
-                  disabled
73
-                />
74
-              </div>
75
-            </div>
76
-            <br />
77
-            <div class="form-row">
78
-              <div class="col-md-6">
79
-                <label for="resortModule">Current Year Levy</label>
80
-                <input
81
-                  class="form-control"
82
-                  type="text"
83
-                  id="levy"
84
-                  name="levy"
85
-                  :value="'R ' + week.currentLevy"
86
-                  disabled
87
-                />
88
-              </div>
89
-            </div>
90
-            <br />
91
-            <div class="form-row">
92
-              <div class="col-md-12">
93
-                <input class="form-control" type="text" name="name" placeholder="Name" />
94
-              </div>
95
-            </div>
96
-            <br />
97
-            <div class="form-row">
98
-              <div class="col-md-12">
99
-                <input
100
-                  class="form-control"
101
-                  type="number"
102
-                  name="mobile"
103
-                  placeholder="Contact Number"
104
-                />
114
+                <div class="property-price d-flex justify-content-center foo">
115
+                  <div class="card-header-c d-flex">
116
+                    <div class="card-box-ico">
117
+                      <span class="ion-money">R</span>
118
+                    </div>
119
+                    <div class="card-title-c align-self-center">
120
+                      <h5 class="title-c">{{ formatPrice(week.price) }}</h5>
121
+                    </div>
122
+                  </div>
123
+                </div>
105 124
               </div>
106 125
             </div>
107 126
             <br />
108 127
             <div class="form-row">
109
-              <div class="col-md-12">
110
-                <input class="form-control" type="email" name="email" placeholder="Email" />
128
+              <div>
129
+                <div class="input-group mb-3">
130
+                  <div class="input-group-prepend">
131
+                    <span class="input-group-text">
132
+                      <eva-icon name="person-outline" fill="#60CBEB"></eva-icon>
133
+                    </span>
134
+                    <input class="form-control" type="text" name="name" placeholder="Name" />
135
+                  </div>
136
+                </div>
137
+                <div class="input-group mb-3">
138
+                  <div class="input-group-prepend">
139
+                    <span class="input-group-text">
140
+                      <eva-icon name="phone-outline" fill="#60CBEB"></eva-icon>
141
+                    </span>
142
+                    <input
143
+                      class="form-control"
144
+                      type="number"
145
+                      name="mobile"
146
+                      placeholder="Contact Number"
147
+                    />
148
+                  </div>
149
+                </div>
150
+                <div class="input-group mb-3">
151
+                  <div class="input-group-prepend">
152
+                    <span class="input-group-text">
153
+                      <eva-icon name="email-outline" fill="#60CBEB"></eva-icon>
154
+                    </span>
155
+                    <input class="form-control" type="email" name="email" placeholder="Email" />
156
+                  </div>
157
+                </div>
111 158
               </div>
112 159
             </div>
113
-            <br />
160
+          </form>
161
+          <br />
114 162
 
115
-            <button class="btn btn-b-c even-width mr-auto" type="submit">Enquire Now</button>
163
+          <button class="btn btn-b-c even-width mr-auto" type="submit">Enquire Now</button>
116 164
 
117
-            <a
165
+          <!-- <a
118 166
               class="btn btn-b-n even-width mr-auto"
119 167
               href="/share-transfer-initiation-for-purchaser/"
120
-            >Make an Offer</a>
168
+          >Make an Offer</a>-->
169
+          <button
170
+            type="button"
171
+            class="btn btn-b-n even-width mr-auto"
172
+            data-toggle="modal"
173
+            data-target="#myModal"
174
+          >Make an Offer</button>
175
+          <div id="myModal" class="modal fade" role="dialog">
176
+            <div class="modal-dialog modal-lg">
177
+              <!-- Modal content-->
178
+              <div class="modal-content">
179
+                <div class="modal-header">
180
+                  <button type="button" class="close" data-dismiss="modal">&times;</button>
181
+                </div>
182
+                <div padding-left="20px">
183
+                  <makeOffer
184
+                    name="MakeOffer"
185
+                    :isMakeOffer="true"
186
+                    :isProperty="false"
187
+                    :item="{resort: resort.prName, unit: week.unit, week: week.week, module: week.module, price: week.price}"
188
+                  />
189
+                </div>
190
+              </div>
191
+            </div>
192
+          </div>
121 193
 
122
-            <a class="btn btn-b-c even-width mr-auto" href="javascript:history.back()">Back</a>
123
-          </form>
124
-        </div>
125
-      </div>
126
-      <div class="row mb-4">
127
-        <div class="col-md-4">
128
-          <img class="img-fluid" :src="image1" alt="Resort Image" />
129
-        </div>
130
-        <div class="col-md-4">
131
-          <img class="img-fluid" :src="image2" alt="Resort Image" />
132
-        </div>
133
-        <div class="col-md-4">
134
-          <img class="img-fluid" :src="image3" alt="Resort Image" />
194
+          <a class="btn btn-b-c even-width mr-auto" href="javascript:history.back()">Back</a>
135 195
         </div>
136 196
       </div>
137 197
     </div>
138
-  </section>
198
+  </div>
139 199
 </template>
140 200
 
141 201
 <script>
142 202
 import { mapState, mapActions } from 'vuex';
203
+import makeOffer from '../../processFlow/makeOffer.vue';
143 204
 
144 205
 export default {
206
+  name: 'unit',
207
+  components: {
208
+    makeOffer,
209
+  },
145 210
   props: {
146 211
     resortCode: {},
147 212
     weekId: {},
@@ -163,6 +228,13 @@ export default {
163 228
   methods: {
164 229
     ...mapActions('resort', ['initResort']),
165 230
     ...mapActions('week', ['initWeek']),
231
+    formatPrice(value) {
232
+      if (value) {
233
+        const val = (value / 1).toFixed(2);
234
+        return val.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
235
+      }
236
+      return '';
237
+    },
166 238
   },
167 239
 };
168 240
 </script>

+ 258
- 152
src/components/timeshare/sell/sellPage.vue Parādīt failu

@@ -6,7 +6,7 @@
6 6
         <div class="col-sm-12">
7 7
           <div class="about-img-box">
8 8
             <img
9
-              src="img/sell.jpg"
9
+              src="img/sell2.jpg"
10 10
               alt="Timeshare To Sell"
11 11
               class="img-fluid"
12 12
               style="width:800px;height:400px;"
@@ -21,17 +21,22 @@
21 21
         </div>
22 22
         <br />
23 23
         <div>
24
-          <div style="float: right;" class="btn btn-link color-b">
25
-            <router-link to="LinkToBeSelected">
26
-              Bulk Weeks Upload
27
-              <span class="ion-ios-arrow-forward" style="color:#60CBEB"></span>
28
-            </router-link>
24
+          <div class="container col-md-10">
25
+            <div class="myWell">
26
+              <h4>Week Information</h4>
27
+            </div>
28
+            <div style="float: right;" class="btn btn-link color-b">
29
+              <router-link to="LinkToBeSelected">
30
+                Bulk Weeks Upload
31
+                <span class="ion-ios-arrow-forward" style="color:#60CBEB"></span>
32
+              </router-link>
33
+            </div>
29 34
           </div>
35
+          <br />
36
+          <br />
37
+          <p>* You need to be logged in to submit your listing. Please register and log in if you have not done so already.</p>
38
+          <hr />
30 39
         </div>
31
-        <br />
32
-        <br />
33
-        <p>* You need to be logged in to submit your listing. Please register and log in if you have not done so already.</p>
34
-        <hr />
35 40
       </div>
36 41
     </div>
37 42
     <div class="row mb-4">
@@ -81,123 +86,220 @@
81 86
               </select>
82 87
             </div>
83 88
           </div>
84
-
85
-          <div class="form-group row">
86
-            <div class="col-md-6">
87
-              <label for="Resort Name">Resort Name</label>
88
-              <select
89
-                class="form-control"
90
-                id="resort"
91
-                name="resort"
92
-                v-model="sellItem.resort"
93
-                @change="resortChange()"
94
-              >
95
-                <option value="Other">Other</option>
96
-                <option
97
-                  v-for="(resort, r) in resorts"
98
-                  :key="r"
99
-                  :value="resort"
100
-                >{{resort.resortName}}</option>
101
-              </select>
102
-            </div>
103
-            <div class="col-md-6">
104
-              <label for="* If other" v-if="sellItem.otherResort">Name of resort</label>
105
-              <input
106
-                class="form-control"
107
-                v-if="sellItem.otherResort"
108
-                placeholder="* If other"
109
-                type="text"
110
-                name="other"
111
-                v-model="sellItem.otherResortName"
112
-              />
113
-            </div>
114
-          </div>
115
-          <div class="form-group row">
116
-            <div class="col-md-6">
117
-              <label for="Region">Region</label>
118
-              <select class="form-control" name="region" id="region" v-model="sellItem.region">
119
-                <option v-for="(region, r) in regions" :key="r">{{region.regionName}}</option>
120
-              </select>
121
-            </div>
122
-            <div class="col-md-6">
123
-              <label for="Season">Season</label>
124
-              <select class="form-control" name="season" v-model="sellItem.season">
125
-                <option v-for="(season, r) in seasons" :key="r">{{season.name}}</option>
126
-              </select>
127
-            </div>
128
-          </div>
129
-          <div class="form-group row">
130
-            <div class="col-md-6">
131
-              <label for="Module">Module</label>
132
-              <input class="form-control" type="text" name="module" v-model="sellItem.module" />
133
-            </div>
134
-            <div class="col-md-6">
135
-              <label for="Week number">Week Number</label>
136
-              <input class="form-control" type="text" name="week" v-model="sellItem.weekNumber" />
137
-            </div>
138
-          </div>
139
-          <div class="form-group row">
140
-            <div class="col-md-6">
141
-              <label for="Bedrooms">Bedrooms</label>
142
-              <select class="form-control" name="bedrooms" v-model="sellItem.bedrooms">
143
-                <option v-for="(item, i) in resortBedrooms" :key="i">{{item}}</option>
144
-              </select>
145
-            </div>
146
-            <div class="col-md-6">
147
-              <label for="Sleeps maximum">Sleeps maximum</label>
148
-              <select class="form-control" name="sleeps" v-model="sellItem.maxSleep">
149
-                <option v-for="(item, i) in maxSleep" :key="i">{{item}}</option>
150
-              </select>
151
-            </div>
152
-          </div>
153
-          <div class="form-group row">
154
-            <div class="col-md-6">
155
-              <label for="Unit number">Unit Number</label>
156
-              <input class="form-control" type="text" name="unit" v-model="sellItem.unitNumber" />
157
-            </div>
158
-            <div class="col-md-6">
159
-              <label for="Owner">Owner</label>
160
-              <input class="form-control" type="text" name="owner" v-model="sellItem.owner" />
161
-            </div>
162
-          </div>
163
-          <div class="form-group row">
164
-            <div class="col-md-6">
165
-              <label for="Levy">Levy Amount</label>
166
-              <input
167
-                class="form-control"
168
-                type="number"
169
-                step="any"
170
-                name="levy"
171
-                v-model="sellItem.levyAmount"
172
-              />
173
-            </div>
174
-          </div>
175
-          <div class="form-group row">
176
-            <div class="col-md-6">
177
-              <p>Has your week been spacebanked for the current year?</p>
178
-              <div class="form-check">
179
-                <input
180
-                  class="form-check-input"
181
-                  type="radio"
182
-                  name="spacebankedyear"
183
-                  id="spacebankedyearyes"
184
-                  value="Yes"
185
-                  @change="changeCurrentBanked"
186
-                  :checked="sellItem.currentYearBanked"
187
-                />
188
-                <label class="form-check-label" for="spacebankedyearyes">Yes</label>
89
+          <div class="container">
90
+            <div class="col-md-12" style="text-align:left">
91
+              <div class="form-group row">
92
+                <div class="col-md-6">
93
+                  <label for="Resort Name">Resort Name</label>
94
+                  <div class="input-group mb-3">
95
+                    <div class="input-group-prepend">
96
+                      <span class="input-group-text" style="color: #60CBEB">
97
+                        <b>RN</b>
98
+                      </span>
99
+                    </div>
100
+                    <select
101
+                      class="form-control"
102
+                      id="resort"
103
+                      name="resort"
104
+                      v-model="sellItem.resort"
105
+                      @change="resortChange()"
106
+                    >
107
+                      <option value="Other">Other</option>
108
+                      <option
109
+                        v-for="(resort, r) in resorts"
110
+                        :key="r"
111
+                        :value="resort"
112
+                      >{{resort.resortName}}</option>
113
+                    </select>
114
+                  </div>
115
+                </div>
116
+                <div class="col-md-6">
117
+                  <label for="* If other" v-if="sellItem.otherResort">Name of resort</label>
118
+                  <div class="input-group mb-3">
119
+                    <div class="input-group-prepend">
120
+                      <span
121
+                        class="input-group-text"
122
+                        style="color: #60CBEB"
123
+                        v-if="sellItem.otherResort"
124
+                      >
125
+                        <b>RN</b>
126
+                      </span>
127
+                    </div>
128
+                    <input
129
+                      class="form-control"
130
+                      v-if="sellItem.otherResort"
131
+                      placeholder="* If other"
132
+                      type="text"
133
+                      name="other"
134
+                      v-model="sellItem.otherResortName"
135
+                    />
136
+                  </div>
137
+                  <label for="Region" v-if="sellItem.otherResort">Province</label>
138
+                  <div class="input-group mb-3">
139
+                    <div class="input-group-prepend">
140
+                      <span
141
+                        class="input-group-text"
142
+                        style="color: #60CBEB"
143
+                        v-if="sellItem.otherResort"
144
+                      >
145
+                        <b>P</b>
146
+                      </span>
147
+                    </div>
148
+                    <select
149
+                      class="form-control"
150
+                      v-if="sellItem.otherResort"
151
+                      name="region"
152
+                      id="region"
153
+                      v-model="sellItem.region"
154
+                    >
155
+                      <option v-for="(region, r) in regions" :key="r">{{region.regionName}}</option>
156
+                    </select>
157
+                  </div>
158
+                </div>
189 159
               </div>
190
-              <div class="form-check">
191
-                <input
192
-                  class="form-check-input"
193
-                  type="radio"
194
-                  name="spacebankedyear"
195
-                  id="spacebankedyearno"
196
-                  value="No"
197
-                  :checked="!sellItem.currentYearBanked"
198
-                  @change="changeCurrentBanked"
199
-                />
200
-                <label class="form-check-label" for="spacebankedyearno">No</label>
160
+              <div class="form-group row">
161
+                <div class="col-md-6">
162
+                  <label for="Unit number">Unit Number</label>
163
+                  <div class="input-group mb-3">
164
+                    <div class="input-group-prepend">
165
+                      <span class="input-group-text" style="color: #60CBEB">
166
+                        <b>U#</b>
167
+                      </span>
168
+                    </div>
169
+                    <input
170
+                      class="form-control"
171
+                      type="text"
172
+                      name="unit"
173
+                      v-model="sellItem.unitNumber"
174
+                    />
175
+                  </div>
176
+                </div>
177
+                <div class="col-md-6">
178
+                  <label for="Module">Module / Week Number</label>
179
+                  <div class="input-group mb-3">
180
+                    <div class="input-group-prepend">
181
+                      <span class="input-group-text" style="color: #60CBEB">
182
+                        <b>M</b>
183
+                      </span>
184
+                    </div>
185
+                    <input class="form-control" type="text" name="module" v-model="sellItem.module" />
186
+                  </div>
187
+                </div>
188
+              </div>
189
+              <div class="form-group row">
190
+                <div class="col-md-6">
191
+                  <label for="Season">Season</label>
192
+                  <div class="input-group mb-3">
193
+                    <div class="input-group-prepend">
194
+                      <span class="input-group-text" style="color: #60CBEB">
195
+                        <b>S</b>
196
+                      </span>
197
+                    </div>
198
+                    <select class="form-control" name="season" v-model="sellItem.season">
199
+                      <option v-for="(season, r) in seasons" :key="r">{{season.name}}</option>
200
+                    </select>
201
+                  </div>
202
+                </div>
203
+                <div class="col-md-6">
204
+                  <label for="Bedrooms">Bedrooms</label>
205
+                  <div class="input-group mb-3">
206
+                    <div class="input-group-prepend">
207
+                      <span class="input-group-text" style="color: #60CBEB">
208
+                        <b>Bed</b>
209
+                      </span>
210
+                    </div>
211
+                    <select class="form-control" name="bedrooms" v-model="sellItem.bedrooms">
212
+                      <option v-for="(item, i) in resortBedrooms" :key="i">{{item}}</option>
213
+                    </select>
214
+                  </div>
215
+                </div>
216
+                <div class="col-md-6">
217
+                  <label for="Sleeps maximum">Sleep max</label>
218
+                  <div class="input-group mb-3">
219
+                    <div class="input-group-prepend">
220
+                      <span class="input-group-text" style="color: #60CBEB">
221
+                        <b>Max</b>
222
+                      </span>
223
+                    </div>
224
+                    <select class="form-control" name="sleeps" v-model="sellItem.maxSleep">
225
+                      <option v-for="(item, i) in maxSleep" :key="i">{{item}}</option>
226
+                    </select>
227
+                  </div>
228
+                </div>
229
+                <div class="col-md-6">
230
+                  <label for="Levy">Levy Amount</label>
231
+                  <div class="input-group mb-3">
232
+                    <div class="input-group-prepend">
233
+                      <span class="input-group-text" style="color: #60CBEB">
234
+                        <b>R</b>
235
+                      </span>
236
+                    </div>
237
+                    <input
238
+                      class="form-control"
239
+                      type="number"
240
+                      step="any"
241
+                      name="levy"
242
+                      v-model="sellItem.levyAmount"
243
+                    />
244
+                  </div>
245
+                </div>
246
+              </div>
247
+              <div class="form-group row">
248
+                <div class="col-md-12">
249
+                  <label for="Owner">Owner</label>
250
+                  <div class="input-group mb-3">
251
+                    <div class="input-group-prepend">
252
+                      <span class="input-group-text" style="color: #60CBEB">
253
+                        <b>O</b>
254
+                      </span>
255
+                    </div>
256
+                    <input class="form-control" type="text" name="owner" v-model="sellItem.owner" />
257
+                  </div>
258
+                </div>
259
+              </div>
260
+
261
+              <div class="form-group row">
262
+                <div class="col-md-6">
263
+                  <p>Has your week been spacebanked for the current year?</p>
264
+                  <div class="form-check">
265
+                    <input
266
+                      class="form-check-input"
267
+                      type="radio"
268
+                      name="spacebankedyear"
269
+                      id="spacebankedyearyes"
270
+                      value="Yes"
271
+                      @change="changeCurrentBanked"
272
+                      :checked="sellItem.currentYearBanked"
273
+                    />
274
+                    <label class="form-check-label" for="spacebankedyearyes">Yes</label>
275
+                  </div>
276
+                  <div class="form-check">
277
+                    <input
278
+                      class="form-check-input"
279
+                      type="radio"
280
+                      name="spacebankedyear"
281
+                      id="spacebankedyearno"
282
+                      value="No"
283
+                      :checked="!sellItem.currentYearBanked"
284
+                      @change="changeCurrentBanked"
285
+                    />
286
+                    <label class="form-check-label" for="spacebankedyearno">No</label>
287
+                  </div>
288
+                </div>
289
+                <div class="col-md-6">
290
+                  <label
291
+                    for="If yes, please confirm with whom"
292
+                    v-if="sellItem.currentYearBanked"
293
+                  >Please confirm with whom</label>
294
+                  <select
295
+                    class="form-control"
296
+                    name="spacebankOwner"
297
+                    v-if="sellItem.currentYearBanked"
298
+                    v-model="sellItem.bankedWith"
299
+                  >
300
+                    <option v-for="(item, i) in bankedEntities" :key="i">{{item}}</option>
301
+                  </select>
302
+                </div>
201 303
               </div>
202 304
             </div>
203 305
             <div class="col-md-6">
@@ -213,25 +315,28 @@
213 315
               >
214 316
                 <option v-for="(item, i) in bankedEntities" :key="i">{{item}}</option>
215 317
               </select>
216
-              <br />
217
-              <br />
218
-              <br />
219 318
             </div>
220
-            <DetailIndividual />
319
+            <DetailIndividual :owner="sellItem.owner" />
320
+            <hr />
321
+            <Address :address="sellItem.owner" />
322
+            <hr />
323
+            <BankDetails :bankingDetails="sellItem.owner.bankingDetails" />
324
+            <hr />
221 325
           </div>
222 326
           <hr />
223 327
           <br />
224
-          <h3>Share transfer information</h3>
328
+          <div class="myWell">
329
+            <h4>Share transfer information</h4>
330
+          </div>
225 331
           <br />
226 332
           <tr>
227 333
             <td>1. With respect to my timeshare module/week, I confirm that:</td>
228 334
           </tr>
229 335
 
230
-          <div class="form-group row">
336
+          <div class="form-group row" style="text-align:left">
231 337
             <label
232 338
               for="name"
233 339
               class="col-form-label col-md-8"
234
-              align="left"
235 340
             >1.1 All levy amounts for the current cycle have been paid in full</label>
236 341
             <div class="col-md-4">
237 342
               <div class="form-check form-check-inline">
@@ -261,11 +366,10 @@
261 366
 
262 367
           <hr />
263 368
 
264
-          <div class="form-group row">
369
+          <div class="form-group row" style="text-align:left">
265 370
             <label
266 371
               for="name"
267 372
               class="col-form-label col-md-8"
268
-              align="left"
269 373
             >1.2 My week is placed for rental this year</label>
270 374
             <div class="col-md-4">
271 375
               <div class="form-check form-check-inline">
@@ -295,11 +399,10 @@
295 399
 
296 400
           <hr />
297 401
 
298
-          <div class="form-group row">
402
+          <div class="form-group row" style="text-align:left">
299 403
             <label
300 404
               for="name"
301 405
               class="col-form-label col-md-8"
302
-              align="left"
303 406
             >1.3 I/We bought the timeshare module/week on the following date:</label>
304 407
             <div class="col-md-4">
305 408
               <input
@@ -313,11 +416,10 @@
313 416
 
314 417
           <hr />
315 418
 
316
-          <div class="form-group row">
419
+          <div class="form-group row" style="text-align:left">
317 420
             <label
318 421
               for="name"
319 422
               class="col-form-label col-md-8"
320
-              align="left"
321 423
             >1.4 The purchase price for which I/we bought timeshare module/week was:</label>
322 424
             <div class="col-md-4">
323 425
               <div class="input-group mb-3">
@@ -339,11 +441,10 @@
339 441
 
340 442
           <hr />
341 443
 
342
-          <div class="form-group row">
444
+          <div class="form-group row" style="text-align:left">
343 445
             <label
344 446
               for="name"
345 447
               class="col-form-label col-md-8"
346
-              align="left"
347 448
             >1.5 I/We bought the timeshare module/week for the following dates for the current year:</label>
348 449
             <div class="col-md-4">
349 450
               Arrival Date :
@@ -365,11 +466,10 @@
365 466
 
366 467
           <hr />
367 468
 
368
-          <div class="form-group row">
469
+          <div class="form-group row" style="text-align:left">
369 470
             <label
370 471
               for="name"
371 472
               class="col-form-label col-md-8"
372
-              align="left"
373 473
             >1.6 The selling price for the timeshare module/week for which I/we want to sell is: (Including Vat)</label>
374 474
             <div class="col-md-4">
375 475
               <div class="input-group mb-3">
@@ -391,11 +491,10 @@
391 491
 
392 492
           <hr />
393 493
 
394
-          <div class="form-group row">
494
+          <div class="form-group row" style="text-align:left">
395 495
             <label
396 496
               for="name"
397 497
               class="col-form-label col-md-8"
398
-              align="left"
399 498
             >1.7 Estate agent’s commission agreed to (state Rand value)</label>
400 499
             <div class="col-md-4">
401 500
               <div class="input-group mb-3">
@@ -417,12 +516,8 @@
417 516
 
418 517
           <hr />
419 518
 
420
-          <div class="form-group row">
421
-            <label
422
-              for="name"
423
-              class="col-form-label col-md-8"
424
-              align="left"
425
-            >1.8 Mandate to sell timeshare</label>
519
+          <div class="form-group row" style="text-align:left">
520
+            <label for="name" class="col-form-label col-md-8">1.8 Mandate to sell timeshare</label>
426 521
             <div class="col-md-4">
427 522
               <input class="btn btn-b-n" type="file" name="mandate" />
428 523
             </div>
@@ -447,10 +542,12 @@
447 542
 <script>
448 543
 import { mapState, mapActions } from 'vuex';
449 544
 import DetailIndividual from '../../user/timeshareIndividual.vue';
545
+import BankDetails from '../../shared/bankAccount.vue';
546
+import Address from '../../misc/address.vue';
450 547
 
451 548
 export default {
452 549
   name: 'TimeshareToSell',
453
-  components: { DetailIndividual },
550
+  components: { DetailIndividual, BankDetails, Address },
454 551
   created() {
455 552
     this.initTimeshare();
456 553
   },
@@ -503,3 +600,12 @@ export default {
503 600
   },
504 601
 };
505 602
 </script>
603
+<style>
604
+.myWell {
605
+  width: 100%;
606
+  background-color: #60cbeb;
607
+  border-radius: 6px;
608
+  padding: 5px;
609
+  margin: 3px;
610
+}
611
+</style>

+ 5
- 5
src/components/user/loginPage.vue Parādīt failu

@@ -12,7 +12,7 @@
12 12
               <div class="input-group mb-3">
13 13
                 <div class="input-group-prepend">
14 14
                   <span class="input-group-text">
15
-                    <eva-icon name="person" fill="#60CBEB"></eva-icon>
15
+                    <eva-icon name="person-outline" fill="#60CBEB"></eva-icon>
16 16
                   </span>
17 17
                   <input
18 18
                     class="form-control"
@@ -26,7 +26,7 @@
26 26
               <div class="input-group mb-3">
27 27
                 <div class="input-group-prepend">
28 28
                   <span class="input-group-text">
29
-                    <eva-icon name="lock" fill="#60CBEB"></eva-icon>
29
+                    <eva-icon name="lock-outline" fill="#60CBEB"></eva-icon>
30 30
                   </span>
31 31
                   <input
32 32
                     class="form-control"
@@ -41,11 +41,11 @@
41 41
                     <span class="input-group-text">
42 42
                       <eva-icon
43 43
                         v-if="!showPassword"
44
-                        name="eye-off"
44
+                        name="eye-off-outline"
45 45
                         fill="#60CBEB"
46 46
                         @click="togglePassword()"
47 47
                       ></eva-icon>
48
-                      <eva-icon v-else name="eye" fill="#60CBEB" @click="passwordToggled()"></eva-icon>
48
+                      <eva-icon v-else name="eye-outline" fill="#60CBEB" @click="passwordToggled()"></eva-icon>
49 49
                     </span>
50 50
                   </div>
51 51
                 </div>
@@ -65,7 +65,7 @@
65 65
             <div class="row">
66 66
               <div class="input-group-prepend">
67 67
                 <span class="input-group-text">
68
-                  <eva-icon name="email" fill="#60CBEB"></eva-icon>
68
+                  <eva-icon name="email-outline" fill="#60CBEB"></eva-icon>
69 69
                 </span>
70 70
                 <input class="form-control" placeholder="Your Email" type="text" name="email" value />
71 71
               </div>

+ 49
- 49
src/components/user/registerAgencySection.vue Parādīt failu

@@ -6,51 +6,51 @@
6 6
         <div class="regform" style="text-align:left">
7 7
           <h4>Agency Details</h4>
8 8
           <div class="row">
9
-          <div class="row" style="text-align:left">
10
-            <div class="col-md-8" style="margin-bottom: 1em">
11
-              <div class="input-group-prepend">
12
-                <span class="input-group-text">
13
-                  <eva-icon name="people" fill="#60CBEB"></eva-icon>
14
-                </span>
15
-                <input
16
-                  class="form-control"
17
-                  type="text"
18
-                  name="agencyname"
19
-                  placeholder="Agency Name"
20
-                  v-model="registerAgency.name"
21
-                />
9
+            <div class="row" style="text-align:left">
10
+              <div class="col-md-8" style="margin-bottom: 1em">
11
+                <div class="input-group-prepend">
12
+                  <span class="input-group-text">
13
+                    <eva-icon name="people-outline" fill="#60CBEB"></eva-icon>
14
+                  </span>
15
+                  <input
16
+                    class="form-control"
17
+                    type="text"
18
+                    name="agencyname"
19
+                    placeholder="Agency Name"
20
+                    v-model="registerAgency.name"
21
+                  />
22
+                </div>
22 23
               </div>
23
-            </div>
24
-            <div class="col-md-8" style="margin-bottom: 1em">
25
-              <div class="input-group-prepend">
26
-                <span class="input-group-text">
27
-                  <eva-icon name="book" fill="#60CBEB"></eva-icon>
28
-                </span>
29
-                <input
30
-                  class="form-control"
31
-                  type="text"
32
-                  name="eaabffcnumber"
33
-                  placeholder="EAAB FFC Number"
34
-                  v-model="registerAgency.eaabeffcNumber"
35
-                />
24
+              <div class="col-md-8" style="margin-bottom: 1em">
25
+                <div class="input-group-prepend">
26
+                  <span class="input-group-text">
27
+                    <eva-icon name="book-outline" fill="#60CBEB"></eva-icon>
28
+                  </span>
29
+                  <input
30
+                    class="form-control"
31
+                    type="text"
32
+                    name="eaabffcnumber"
33
+                    placeholder="EAAB FFC Number"
34
+                    v-model="registerAgency.eaabeffcNumber"
35
+                  />
36
+                </div>
36 37
               </div>
37
-            </div>
38
-            <div class="col-md-8">
39
-              <div class="input-group-prepend">
40
-                <span class="input-group-text">
41
-                  <eva-icon name="clipboard" fill="#60CBEB"></eva-icon>
42
-                </span>
43
-                <input
44
-                  class="form-control"
45
-                  type="text"
46
-                  name="companyregnumber"
47
-                  placeholder="Company Registration Number"
48
-                  v-model="registerAgency.companyRegNumber"
49
-                />
38
+              <div class="col-md-8">
39
+                <div class="input-group-prepend">
40
+                  <span class="input-group-text">
41
+                    <eva-icon name="clipboard-outline" fill="#60CBEB"></eva-icon>
42
+                  </span>
43
+                  <input
44
+                    class="form-control"
45
+                    type="text"
46
+                    name="companyregnumber"
47
+                    placeholder="Company Registration Number"
48
+                    v-model="registerAgency.companyRegNumber"
49
+                  />
50
+                </div>
50 51
               </div>
51 52
             </div>
52 53
           </div>
53
-          </div>
54 54
           <hr />
55 55
           <div class="col-md-10" style="text-align:left">
56 56
             <h5 style="margin-bottom: 1em">Agency Administrator</h5>
@@ -58,7 +58,7 @@
58 58
               <div class="input-group mb-3">
59 59
                 <div class="input-group-prepend">
60 60
                   <span class="input-group-text">
61
-                    <eva-icon name="person" fill="#60CBEB"></eva-icon>
61
+                    <eva-icon name="person-outline" fill="#60CBEB"></eva-icon>
62 62
                   </span>
63 63
                   <input
64 64
                     class="form-control"
@@ -73,7 +73,7 @@
73 73
               <div class="input-group mb-3">
74 74
                 <div class="input-group-prepend">
75 75
                   <span class="input-group-text">
76
-                    <eva-icon name="person" fill="#60CBEB"></eva-icon>
76
+                    <eva-icon name="person-outline" fill="#60CBEB"></eva-icon>
77 77
                   </span>
78 78
                   <input
79 79
                     class="form-control"
@@ -90,7 +90,7 @@
90 90
               <div class="input-group mb-3">
91 91
                 <div class="input-group-prepend">
92 92
                   <span class="input-group-text">
93
-                    <eva-icon name="email" fill="#60CBEB"></eva-icon>
93
+                    <eva-icon name="email-outline" fill="#60CBEB"></eva-icon>
94 94
                   </span>
95 95
                   <input
96 96
                     class="form-control"
@@ -105,7 +105,7 @@
105 105
               <div class="input-group mb-3">
106 106
                 <div class="input-group-prepend">
107 107
                   <span class="input-group-text">
108
-                    <eva-icon name="smartphone" fill="#60CBEB"></eva-icon>
108
+                    <eva-icon name="smartphone-outline" fill="#60CBEB"></eva-icon>
109 109
                   </span>
110 110
                   <input
111 111
                     class="form-control"
@@ -136,7 +136,7 @@
136 136
               <div class="input-group mb-3">
137 137
                 <div class="input-group-prepend">
138 138
                   <span class="input-group-text">
139
-                    <eva-icon name="person" fill="#60CBEB"></eva-icon>
139
+                    <eva-icon name="person-outline" fill="#60CBEB"></eva-icon>
140 140
                   </span>
141 141
                   <input
142 142
                     class="form-control"
@@ -150,7 +150,7 @@
150 150
               <div class="input-group mb-3">
151 151
                 <div class="input-group-prepend">
152 152
                   <span class="input-group-text">
153
-                    <eva-icon name="lock" fill="#60CBEB"></eva-icon>
153
+                    <eva-icon name="lock-outline" fill="#60CBEB"></eva-icon>
154 154
                   </span>
155 155
                   <input
156 156
                     class="form-control"
@@ -166,7 +166,7 @@
166 166
               <div class="input-group mb-3">
167 167
                 <div class="input-group-prepend">
168 168
                   <span class="input-group-text">
169
-                    <eva-icon name="lock" fill="#60CBEB"></eva-icon>
169
+                    <eva-icon name="lock-outline" fill="#60CBEB"></eva-icon>
170 170
                   </span>
171 171
                   <input
172 172
                     class="form-control"
@@ -183,11 +183,11 @@
183 183
                   <span class="input-group-text">
184 184
                     <eva-icon
185 185
                       v-if="!showPassword"
186
-                      name="eye-off"
186
+                      name="eye-off-outline"
187 187
                       fill="#60CBEB"
188 188
                       @click="togglePassword()"
189 189
                     ></eva-icon>
190
-                    <eva-icon v-else name="eye" fill="#60CBEB" @click="passwordToggled()"></eva-icon>
190
+                    <eva-icon v-else name="eye-outline" fill="#60CBEB" @click="passwordToggled()"></eva-icon>
191 191
                   </span>
192 192
                 </div>
193 193
               </div>

+ 5
- 5
src/components/user/registerPage.vue Parādīt failu

@@ -83,7 +83,7 @@
83 83
             <div class="col-md-8" style="margin-bottom: 1em">
84 84
               <div class="input-group-prepend">
85 85
                 <span class="input-group-text">
86
-                  <eva-icon name="person" fill="#60CBEB"></eva-icon>
86
+                  <eva-icon name="person-outline" fill="#60CBEB"></eva-icon>
87 87
                 </span>
88 88
                 <input
89 89
                   class="form-control"
@@ -97,7 +97,7 @@
97 97
             <div class="col-md-8" style="margin-bottom: 1em">
98 98
               <div class="input-group-prepend">
99 99
                 <span class="input-group-text">
100
-                  <eva-icon name="lock" fill="#60CBEB"></eva-icon>
100
+                  <eva-icon name="lock-outline" fill="#60CBEB"></eva-icon>
101 101
                 </span>
102 102
                 <input
103 103
                   class="form-control"
@@ -113,7 +113,7 @@
113 113
             <div class="col-md-8" style="margin-bottom: 1em">
114 114
               <div class="input-group-prepend">
115 115
                 <span class="input-group-text">
116
-                  <eva-icon name="lock" fill="#60CBEB"></eva-icon>
116
+                  <eva-icon name="lock-outline" fill="#60CBEB"></eva-icon>
117 117
                 </span>
118 118
                 <input
119 119
                   class="form-control"
@@ -129,11 +129,11 @@
129 129
                     <span class="input-group-text">
130 130
                       <eva-icon
131 131
                         v-if="!showPassword"
132
-                        name="eye-off"
132
+                        name="eye-off-outline"
133 133
                         fill="#60CBEB"
134 134
                         @click="togglePassword()"
135 135
                       ></eva-icon>
136
-                      <eva-icon v-else name="eye" fill="#60CBEB" @click="passwordToggled()"></eva-icon>
136
+                      <eva-icon v-else name="eye-outline" fill="#60CBEB" @click="passwordToggled()"></eva-icon>
137 137
                     </span>
138 138
                   </div>
139 139
                 </div>

+ 35
- 115
src/components/user/timeshareIndividual.vue Parādīt failu

@@ -1,128 +1,91 @@
1 1
 <template>
2 2
   <!-- eslint-disable max-len -->
3
-  <div class="reg-page">
3
+  <div>
4 4
     <hr />
5
-    <div class="form-group row"></div>
6
-    <div class="col-md-12" style="text-align:left">
7
-      <h4>Detailed Individual Information</h4>
5
+    <br />
6
+    <div class="col-md-12" style="text-align:centre">
7
+      <div class="myWell">
8
+        <h4>Detailed Individual Information</h4>
9
+      </div>
8 10
       <div class="form-group row"></div>
9 11
       <div class="row" style="text-align:left">
10 12
         <div class="col-md-6">
13
+          <label>Name</label>
11 14
           <div class="input-group-prepend">
12 15
             <span class="input-group-text">
13
-              <eva-icon name="person" fill="#60CBEB"></eva-icon>
16
+              <eva-icon name="person-outline" fill="#60CBEB"></eva-icon>
14 17
             </span>
15
-            <input
16
-              class="form-control"
17
-              type="text"
18
-              name="name"
19
-              placeholder="Name"
20
-              v-model="registerIndividual.name"
21
-            />
18
+            <input class="form-control" type="text" name="name" v-model="owner.name" />
22 19
           </div>
23 20
         </div>
24 21
         <div class="col-md-6" style="margin-bottom: 1em">
22
+          <label>Surname</label>
25 23
           <div class="input-group-prepend">
26 24
             <span class="input-group-text">
27
-              <eva-icon name="book" fill="#60CBEB"></eva-icon>
25
+              <eva-icon name="book-outline" fill="#60CBEB"></eva-icon>
28 26
             </span>
29
-            <input
30
-              class="form-control"
31
-              type="text"
32
-              name="surname"
33
-              placeholder="Surname"
34
-              v-model="registerIndividual.surname"
35
-            />
27
+            <input class="form-control" type="text" name="surname" v-model="owner.surname" />
36 28
           </div>
37 29
         </div>
38 30
         <div class="col-md-6" style="margin-bottom: 1em">
31
+          <label>ID Number</label>
39 32
           <div class="input-group-prepend">
40 33
             <span class="input-group-text">
41 34
               <eva-icon name="archive" fill="#60CBEB"></eva-icon>
42 35
             </span>
43
-            <input class="form-control" type="text" name="idnumber" placeholder="ID Number" />
36
+            <input class="form-control" type="text" name="idnumber" v-model="owner.idNumber" />
44 37
           </div>
45 38
         </div>
46 39
         <div class="col-md-6" style="margin-bottom: 1em">
40
+          <label>Company Reg Number</label>
47 41
           <div class="input-group-prepend">
48 42
             <span class="input-group-text">
49
-              <eva-icon name="npm" fill="#60CBEB"></eva-icon>
43
+              <eva-icon name="npm-outline" fill="#60CBEB"></eva-icon>
50 44
             </span>
51 45
             <input
52 46
               class="form-control"
53 47
               type="text"
54 48
               name="companyregnumber"
55
-              placeholder="Company Reg Number"
56
-            />
57
-          </div>
58
-        </div>
59
-        <div class="col-md-6" style="margin-bottom: 1em">
60
-          <div class="input-group-prepend">
61
-            <span class="input-group-text">
62
-              <eva-icon name="people" fill="#60CBEB"></eva-icon>
63
-            </span>
64
-            <input
65
-              class="form-control"
66
-              type="text"
67
-              name="maritalstatus"
68
-              placeholder="Marital Status"
49
+              v-model="owner.companyRegNumber"
69 50
             />
70 51
           </div>
71 52
         </div>
72 53
         <div class="col-md-6" style="margin-bottom: 1em">
54
+          <label>Marital Status</label>
73 55
           <div class="input-group-prepend">
74 56
             <span class="input-group-text">
75
-              <eva-icon name="email" fill="#60CBEB"></eva-icon>
57
+              <eva-icon name="people-outline" fill="#60CBEB"></eva-icon>
76 58
             </span>
77
-            <input
78
-              class="form-control"
79
-              type="text"
80
-              name="email"
81
-              placeholder="Email Address"
82
-              v-model="registerIndividual.email"
83
-            />
59
+            <select class="form-control" name="maritalstatus" v-model="owner.maritalstatus">
60
+              <option v-for="(item, i) in maritalStatus" :key="i">{{item}}</option>
61
+            </select>
84 62
           </div>
85 63
         </div>
86 64
         <div class="col-md-6" style="margin-bottom: 1em">
65
+          <label>Email Address</label>
87 66
           <div class="input-group-prepend">
88 67
             <span class="input-group-text">
89
-              <eva-icon name="smartphone" fill="#60CBEB"></eva-icon>
68
+              <eva-icon name="email-outline" fill="#60CBEB"></eva-icon>
90 69
             </span>
91
-            <input
92
-              class="form-control"
93
-              type="text"
94
-              name="cellnumber"
95
-              placeholder="Cellphone Number"
96
-              v-model="registerIndividual.cellNumber"
97
-            />
70
+            <input class="form-control" type="text" name="email" v-model="owner.email" />
98 71
           </div>
99 72
         </div>
100 73
         <div class="col-md-6" style="margin-bottom: 1em">
74
+          <label>Cell Number</label>
101 75
           <div class="input-group-prepend">
102 76
             <span class="input-group-text">
103
-              <eva-icon name="phone" fill="#60CBEB"></eva-icon>
77
+              <eva-icon name="smartphone-outline" fill="#60CBEB"></eva-icon>
104 78
             </span>
105
-            <input
106
-              class="form-control"
107
-              type="text"
108
-              name="landline"
109
-              placeholder="Landline Number"
110
-              v-model="registerIndividual.telephone"
111
-            />
79
+            <input class="form-control" type="text" name="cellnumber" v-model="owner.cellNumber" />
112 80
           </div>
113 81
         </div>
114 82
         <div class="col-md-6" style="margin-bottom: 1em">
83
+          <label>Landline Number</label>
115 84
           <div class="input-group-prepend">
116 85
             <span class="input-group-text">
117
-              <eva-icon name="home" fill="#60CBEB"></eva-icon>
86
+              <eva-icon name="phone-outline" fill="#60CBEB"></eva-icon>
118 87
             </span>
119
-            <input
120
-              class="form-control"
121
-              type="text"
122
-              name="address"
123
-              placeholder="Address"
124
-              v-model="registerIndividual.telephone"
125
-            />
88
+            <input class="form-control" type="text" name="landline" v-model="owner.telephone" />
126 89
           </div>
127 90
         </div>
128 91
       </div>
@@ -131,58 +94,15 @@
131 94
 </template>
132 95
 
133 96
 <script>
134
-import { mapState, mapActions } from 'vuex';
97
+import { mapState } from 'vuex';
135 98
 
136 99
 export default {
100
+  component: {},
137 101
   props: {
138
-    RegisterHeader: { type: String, default: undefined },
139
-  },
140
-  name: 'PrivateIndividual',
141
-  data() {
142
-    return {
143
-      user: null,
144
-      isPasswordShown: 'password',
145
-      selectItems: [{ text: 'password', value: 0 }],
146
-      selectErrors: 'Some error with the field',
147
-      select: null,
148
-      textErrors: 'Some error with the field',
149
-      text: '',
150
-      showPassword: false,
151
-    };
102
+    owner: {},
152 103
   },
153 104
   computed: {
154
-    ...mapState('registerIndividual', ['registerIndividual']),
155
-
156
-    Header() {
157
-      return this.RegisterHeader
158
-        ? 'Agency Administrator Details'
159
-        : 'Private Individual';
160
-    },
161
-  },
162
-  methods: {
163
-    ...mapActions('registerIndividual', [
164
-      'getIndividual',
165
-      'saveIndividual',
166
-      'updateIndividual',
167
-      'clearIndividual',
168
-    ]),
169
-
170
-    togglePassword() {
171
-      this.showPassword = true;
172
-      this.isPasswordShown = 'text';
173
-    },
174
-    passwordToggled() {
175
-      this.showPassword = false;
176
-      this.isPasswordShown = 'password';
177
-    },
178
-    SubmitData() {
179
-      this.saveIndividual(this.registerIndividual);
180
-
181
-      this.$router.push('/registerIndividual/');
182
-    },
183
-    Close() {
184
-      this.$router.push('/registerIndividual/');
185
-    },
105
+    ...mapState('timeshare', ['maritalStatus']),
186 106
   },
187 107
 };
188 108
 </script>

+ 14
- 2
src/router/index.js Parādīt failu

@@ -37,6 +37,9 @@ import UnitPage from '../components/timeshare/resort/unitPage.vue';
37 37
 import ContactUs from '../components/misc/contactUs.vue';
38 38
 import PrivacyPolicy from '../components/misc/privacyPolicyPage.vue';
39 39
 
40
+import MakeOffer from '../components/processFlow/makeOffer.vue';
41
+import Offer from '../components/processFlow/offers.vue';
42
+
40 43
 Vue.use(Router);
41 44
 
42 45
 export default new Router({
@@ -198,10 +201,19 @@ export default new Router({
198 201
     props: true,
199 202
   },
200 203
   {
201
-    path: '/timeshare/search',
204
+    path: '/MakeOffer',
205
+    name: 'MakeOffer',
206
+    component: MakeOffer,
207
+  },
208
+  {
209
+    path: '/Offers',
210
+    name: 'Offers',
211
+    component: Offer,
212
+  },
213
+  {
214
+    path: 'timeshare/search',
202 215
     name: 'TimeshareSearch',
203 216
     component: TimeshareSearch,
204
-    props: true,
205 217
   },
206 218
   ],
207 219
 });

+ 25
- 1
src/store/modules/timeshare/timeshare.js Parādīt failu

@@ -2,6 +2,7 @@
2 2
 /* eslint-disable no-restricted-syntax */
3 3
 import axios from 'axios';
4 4
 import MyData from '../../../assets/myData';
5
+import MaritalStatus from '../../../assets/staticData/maritalStatus';
5 6
 
6 7
 export default {
7 8
   namespaced: true,
@@ -15,6 +16,7 @@ export default {
15 16
     bankedEntities: [],
16 17
     agencies: [],
17 18
     agents: [],
19
+    maritalStatus: MaritalStatus,
18 20
     sellItem: {
19 21
       referedByAgent: false,
20 22
       agent: undefined,
@@ -23,7 +25,6 @@ export default {
23 25
       otherResortName: undefined,
24 26
       resort: undefined,
25 27
       region: undefined,
26
-      owner: undefined,
27 28
       season: undefined,
28 29
       module: undefined,
29 30
       unitNumber: undefined,
@@ -43,6 +44,29 @@ export default {
43 44
       agentCommission: undefined,
44 45
       mandate: undefined,
45 46
       status: undefined,
47
+      owner: {
48
+        name: undefined,
49
+        surname: undefined,
50
+        idNumber: undefined,
51
+        companyRegNumber: undefined,
52
+        maritalStatus: undefined,
53
+        emailAddress: undefined,
54
+        cellNumber: undefined,
55
+        landlineNumber: undefined,
56
+        address: {
57
+          streetNumber: undefined,
58
+          streetName: undefined,
59
+          suburb: undefined,
60
+          city: undefined,
61
+          province: undefined,
62
+          postalCode: undefined,
63
+        },
64
+        bankingDetails: {
65
+          bank: undefined,
66
+          accountNumber: undefined,
67
+          accountHolder: undefined,
68
+        },
69
+      },
46 70
     },
47 71
   },
48 72
   mutations: {

+ 1
- 1
vue.config.js Parādīt failu

@@ -2,7 +2,7 @@ module.exports = {
2 2
   devServer: {
3 3
     proxy: {
4 4
       '/api': {
5
-        target: 'http://localhost:57260',
5
+        target: 'http://192.168.6.188:5000',
6 6
         changeOrigin: true,
7 7
       },
8 8
     },

Notiek ielāde…
Atcelt
Saglabāt