Browse Source

individual on tosell page

master
Kobus 5 years ago
parent
commit
bc562daff6

+ 2
- 2
src/components/timeshare/sell/sellPage.vue View File

@@ -23,6 +23,7 @@
23 23
               :type="'WARNING'"
24 24
             />
25 25
           </div>
26
+          {{indiv}}
26 27
           <hr />
27 28
           <br />
28 29
           <div class="form-group row">
@@ -296,7 +297,6 @@
296 297
                 </div>
297 298
               </div>
298 299
             </div>
299
-
300 300
             <DetailIndividual :currentUser="sellItem.owner" :showBank="true" />
301 301
             <hr />
302 302
           </div>
@@ -541,7 +541,7 @@ export default {
541 541
       'agencies',
542 542
       'agents',
543 543
     ]),
544
-    ...mapState('individual', ['item']),
544
+    ...mapState('individual', ['indiv']),
545 545
     ...mapState('authentication', ['isLoggedIn']),
546 546
     ...mapGetters({
547 547
       user: 'authentication/getUser',

+ 57
- 0
src/components/user/selectIndividual.vue View File

@@ -0,0 +1,57 @@
1
+<template>
2
+  <div>
3
+    <div class="row">
4
+      <div class="col-md-8">
5
+        <label>Region *</label>
6
+        <div class="input-group mb-3">
7
+          <div class="input-group-prepend">
8
+            <span class="input-group-text" style="color: #60CBEB">
9
+              <b>R</b>
10
+            </span>
11
+          </div>
12
+          <select class="form-control" @change="onChange()" v-model="selectedItem">
13
+            <option
14
+              v-for="(item, i) in items"
15
+              :key="i"
16
+              :value="item"
17
+            >{{item.name + ' ' + item.surname}}</option>
18
+          </select>
19
+        </div>
20
+      </div>
21
+      <div class="col-md-4">
22
+        <div class="btn btn-b-n btn-lg" style="margin-top:10px;" @click="onNew()">New</div>
23
+      </div>
24
+    </div>
25
+  </div>
26
+</template>
27
+<script>
28
+import { mapState, mapActions } from 'vuex';
29
+
30
+export default {
31
+  name: 'SelectIndividual',
32
+  data() {
33
+    return { selectedItem: {} };
34
+  },
35
+  props: {
36
+    currentUser: undefined,
37
+  },
38
+  mounted() {
39
+    this.getAllIndividuals();
40
+    this.selectedItem = this.indiv;
41
+    this.$emit('onSelectedItemItemChange', this.selectedItem);
42
+  },
43
+  computed: {
44
+    ...mapState('individual', ['items', 'indiv']),
45
+  },
46
+  methods: {
47
+    ...mapActions('individual', ['getAllIndividuals']),
48
+    onChange() {
49
+      this.$emit('onSelectedItemItemChange', this.selectedItem);
50
+    },
51
+    onNew() {
52
+      this.selectedItem = {};
53
+      this.$emit('onSelectedItemItemChange', this.selectedItem);
54
+    },
55
+  },
56
+};
57
+</script>

+ 21
- 18
src/components/user/timeshareIndividual.vue View File

@@ -7,6 +7,7 @@
7 7
       <div class="myWell">
8 8
         <h4>Detailed Individual Information</h4>
9 9
       </div>
10
+      <SelectIndividual @onSelectedItemItemChange="onSelectedItemItemChange" />
10 11
       <div class="row" style="text-align:left">
11 12
         <div class="col-md-6">
12 13
           <label>Name *</label>
@@ -114,24 +115,30 @@
114 115
 import { mapState, mapGetters, mapActions } from 'vuex';
115 116
 import BankAccount from '../shared/bankAccount.vue';
116 117
 import Address from '../misc/address.vue';
118
+import SelectIndividual from './selectIndividual.vue';
117 119
 
118 120
 export default {
119 121
   components: {
120 122
     BankAccount,
121 123
     Address,
124
+    SelectIndividual,
125
+  },
126
+  data() {
127
+    return {
128
+      currentUser: {
129
+        name: undefined,
130
+        surname: undefined,
131
+        idNumber: undefined,
132
+        companyRegNumber: undefined,
133
+        emailAddress: undefined,
134
+        cellNumber: undefined,
135
+        landlineNumber: undefined,
136
+        bankingDetails: {},
137
+        address: {},
138
+      },
139
+    };
122 140
   },
123 141
   props: {
124
-    currentUser: {
125
-      name: undefined,
126
-      surname: undefined,
127
-      idNumber: undefined,
128
-      companyRegNumber: undefined,
129
-      emailAddress: undefined,
130
-      cellNumber: undefined,
131
-      landlineNumber: undefined,
132
-      bankingDetails: {},
133
-      address: {},
134
-    },
135 142
     showChangeCurrentUser: {
136 143
       default: false,
137 144
     },
@@ -142,13 +149,6 @@ export default {
142 149
       default: false,
143 150
     },
144 151
   },
145
-  mounted() {
146
-    if (!this.currentUser) {
147
-      if (this.user) {
148
-        this.getIndividual(this.user.id);
149
-      }
150
-    }
151
-  },
152 152
   computed: {
153 153
     ...mapState('timeshare', ['maritalStatus']),
154 154
     ...mapGetters({
@@ -157,6 +157,9 @@ export default {
157 157
   },
158 158
   methods: {
159 159
     ...mapActions('individual', ['getIndividual']),
160
+    onSelectedItemItemChange(item) {
161
+      this.currentUser = item;
162
+    },
160 163
   },
161 164
 };
162 165
 </script>

+ 15
- 4
src/store/modules/user/individual.js View File

@@ -18,7 +18,10 @@ export default {
18 18
   },
19 19
   getters: {},
20 20
   actions: {
21
-    getIndividual({ commit, rootGetters }, userId) {
21
+    getIndividual({
22
+      commit,
23
+      rootGetters,
24
+    }, userId) {
22 25
       let id = 0;
23 26
       if (!userId || userId === 0) {
24 27
         const rootItem = rootGetters['authentication/getUser'];
@@ -27,10 +30,18 @@ export default {
27 30
       axios
28 31
         .get(`/api/individual/getIndividual/${id}`)
29 32
         .then(r => commit('setItem', {
30
-            name: 'indiv',
31
-            value: r.data,
32
-          }),)
33
+          name: 'indiv',
34
+          value: r.data,
35
+        }))
33 36
         .catch(console.error);
34 37
     },
38
+    getAllIndividuals({
39
+      commit,
40
+    }) {
41
+      axios.get('/api/individual/getAllIndividuals').then(x => commit('setItem', {
42
+        name: 'items',
43
+        value: x.data,
44
+      })).catch(console.error);
45
+    },
35 46
   },
36 47
 };

Loading…
Cancel
Save