Browse Source

Add Agency to User Management - Fix Timeshare Sell Resort list to include all resorts

master
Brian Conway 2 years ago
parent
commit
0171215a77

+ 126
- 0
src/components/admin/status/agencyUserManagementPage.vue View File

1
+<template>
2
+  <!-- eslint-disable max-len -->
3
+  <main id="main">
4
+    <div class="container">
5
+      <div class="row">
6
+        <div class="col-md-12 col-lg-8">
7
+          <div class="section-header">
8
+            <h2>Agency Management</h2>
9
+          </div>
10
+        </div>
11
+      </div>
12
+      <div class="row">
13
+        <div class="col-md-1 offset-1">
14
+          <button
15
+            @click="routerGoTo('/status/userManagementPage')"
16
+            type="button"
17
+            class="btn-white-border"
18
+          >
19
+            USERS
20
+          </button>
21
+        </div>
22
+          <div class="col-md-1 offset-1">
23
+            <button
24
+              @click="routerGoTo('/status/agentUserManagementPage')"
25
+              type="button"
26
+              class="btn-white-border"
27
+            >
28
+              AGENTS
29
+            </button>
30
+          </div>
31
+        <div class="col-md-1 offset-1">
32
+            <button type="button" class="btn-solid-blue">AGENCIES</button>
33
+          </div>
34
+        <div class="col-md-2 offset-3">
35
+          <button
36
+            type="button"
37
+            class="btn-white-border"
38
+            data-toggle="modal"
39
+            :data-target="'#myModalAgency'"
40
+          >
41
+            NEW AGENCY
42
+          </button>
43
+          <div :id="'myModalAgency'" class="modal fade" role="dialog">
44
+            <div class="modal-dialog modal-lg">
45
+              <div class="modal-content">
46
+                <div class="modal-header">
47
+                  <button type="button" class="close" data-dismiss="modal">&times;</button>
48
+                </div>
49
+                <Agency name="Agency" :isAddAgent="false" :item="item" />
50
+              </div>
51
+            </div>
52
+          </div>
53
+        </div>
54
+      </div>
55
+      <div class="container">
56
+        <ListView
57
+          :items="agencies"
58
+          :showNew="false"
59
+          :editable="false"
60
+          :deleteable="false"
61
+          :showCustomAction="true"
62
+          :showColumnChooser="false"
63
+          :displayColumns="columns"
64
+          :displayHeaders="headers"
65
+          @onEdit="Edit"
66
+          @onDelete="Delete"
67
+        />
68
+      </div>
69
+    </div>
70
+  </main>
71
+</template>
72
+
73
+<script>
74
+/* eslint-disable */
75
+import { mapState, mapActions } from "vuex";
76
+import axios from "axios";
77
+import Agency from "../../user/registerAgencySection.vue";
78
+// import alert from '../../shared/alert.vue';
79
+import ListView from "../../shared/listView.vue";
80
+
81
+export default {
82
+  name: "agencyManagementPage",
83
+  components: {
84
+    ListView,
85
+    Agency
86
+    // alert,
87
+  },
88
+  props: {
89
+    delete: Boolean
90
+  },
91
+  data() {
92
+    return {
93
+      columns: ["id", "agencyName", "eaabeffcNumber", "companyRegNumber"],
94
+      headers: ["", "", "", ""],
95
+      item: {}
96
+    };
97
+  },
98
+  methods: {
99
+    ...mapActions("register", ["getAgencies", "deleteAgency"]),
100
+    addNewAgency({ commit }) {
101
+      axios
102
+        .post("/api/agency")
103
+        .then(result => commit("saveAgency", result.data))
104
+        .catch(console.error);
105
+    },
106
+    routerGoTo(goTo) {
107
+      this.$router.push(goTo);
108
+    },
109
+    Edit(item) {
110
+      this.$router.push({ name: "UpdateAgencyProfile", params: { agency: item } });
111
+    },
112
+    Delete(item) {
113
+      console.log(item.id);
114
+      this.deleteAgency(item.id);
115
+    }
116
+  },
117
+  mounted() {
118
+    this.getAgencies();
119
+  },
120
+  computed: {
121
+    ...mapState("register", ["agencies", "removeAgency"])
122
+  }
123
+};
124
+</script>
125
+
126
+<style></style>

+ 14
- 5
src/components/admin/status/agentsUserManagementPage.vue View File

10
         </div>
10
         </div>
11
       </div>
11
       </div>
12
       <div class="row">
12
       <div class="row">
13
-        <div class="col-md-2 offset-1">
13
+        <div class="col-md-1 offset-1">
14
           <button
14
           <button
15
             @click="routerGoTo('/status/userManagementPage')"
15
             @click="routerGoTo('/status/userManagementPage')"
16
             type="button"
16
             type="button"
17
-            class="btn-solid-blue"
17
+            class="btn-white-border"
18
           >
18
           >
19
             USERS
19
             USERS
20
           </button>
20
           </button>
21
         </div>
21
         </div>
22
-        <div class="col-md-2 offset-2">
22
+        <div class="col-md-1 offset-1">
23
           <button type="button" class="btn-solid-blue">AGENTS</button>
23
           <button type="button" class="btn-solid-blue">AGENTS</button>
24
         </div>
24
         </div>
25
-        <div class="col-md-2 offset-2">
25
+          <div class="col-md-1 offset-1">
26
+            <button
27
+              @click="routerGoTo('/status/agencyUserManagementPage')"
28
+              type="button"
29
+              class="btn-white-border"
30
+            >
31
+              AGENCIES
32
+            </button>
33
+          </div>
34
+        <div class="col-md-2 offset-3">
26
           <button
35
           <button
27
             type="button"
36
             type="button"
28
-            class="btn-solid-blue"
37
+            class="btn-white-border"
29
             data-toggle="modal"
38
             data-toggle="modal"
30
             :data-target="'#myModalAgency'"
39
             :data-target="'#myModalAgency'"
31
           >
40
           >

+ 17
- 6
src/components/admin/status/userManagementPage.vue View File

10
       </div>
10
       </div>
11
       <div v-if="checkAccess">
11
       <div v-if="checkAccess">
12
         <div class="row">
12
         <div class="row">
13
-          <div class="col-md-2 offset-1">
13
+          <div class="col-md-1 offset-1">
14
             <button type="button" class="btn-solid-blue">USERS</button>
14
             <button type="button" class="btn-solid-blue">USERS</button>
15
           </div>
15
           </div>
16
-          <div class="col-md-2 offset-2">
16
+          <div class="col-md-1 offset-1">
17
             <button
17
             <button
18
               @click="routerGoTo('/status/agentUserManagementPage')"
18
               @click="routerGoTo('/status/agentUserManagementPage')"
19
               type="button"
19
               type="button"
20
-              class="btn-solid-blue"
20
+              class="btn-white-border"
21
             >
21
             >
22
               AGENTS
22
               AGENTS
23
             </button>
23
             </button>
24
           </div>
24
           </div>
25
-          <div class="col-md-2 offset-2">
25
+          <div class="col-md-1 offset-1">
26
             <button
26
             <button
27
+              @click="routerGoTo('/status/agencyUserManagementPage')"
27
               type="button"
28
               type="button"
28
-              class="btn-solid-blue"
29
+              class="btn-white-border"
30
+            >
31
+              AGENCIES
32
+            </button>
33
+          </div>
34
+          <div class="col-md-2 offset-3">
35
+            <button
36
+              type="button"
37
+              class="btn-white-border"
29
               data-toggle="modal"
38
               data-toggle="modal"
30
               :data-target="'#myNewUserModal'"
39
               :data-target="'#myNewUserModal'"
31
             >
40
             >
134
 };
143
 };
135
 </script>
144
 </script>
136
 
145
 
137
-<style></style>
146
+<style lang="scss" scoped>
147
+</style>
148
+

+ 3
- 5
src/components/shared/listView.vue View File

136
               <a @click="onDelete(item)" class="p-3">
136
               <a @click="onDelete(item)" class="p-3">
137
                 <img src="../../../public/img/icons/delete.png" height="25" width="25" />
137
                 <img src="../../../public/img/icons/delete.png" height="25" width="25" />
138
               </a>
138
               </a>
139
-              <!-- <button type="button" class="btn my-btn" @click="onDelete(item)">Delete</button> -->
139
+              <!-- <button type="button" class="btn my-btn"
140
+                @click="onDelete(item)">Delete</button> -->
140
             </td>
141
             </td>
141
           </tr>
142
           </tr>
142
         </tbody>
143
         </tbody>
238
     title: {
239
     title: {
239
       default: undefined
240
       default: undefined
240
     },
241
     },
241
-    sortKey: {
242
-      default: "id"
243
-    },
244
     hideItemCount: {
242
     hideItemCount: {
245
       default: false
243
       default: false
246
     },
244
     },
283
       hover: -1,
281
       hover: -1,
284
       selectedItems: [],
282
       selectedItems: [],
285
       showControl: false,
283
       showControl: false,
286
-      sortKey: "",
284
+      sortKey: "id",
287
       reverse: false,
285
       reverse: false,
288
       searchItem: "",
286
       searchItem: "",
289
       visibleItemsPerPageCount: 20,
287
       visibleItemsPerPageCount: 20,

+ 1
- 1
src/components/user/forgotPassword.vue View File

36
       </div>
36
       </div>
37
       <div class="row mt-2">
37
       <div class="row mt-2">
38
         <div class="col-md-6">
38
         <div class="col-md-6">
39
-          <button class="btn-solid-blue" @click="checkMail()">SEND</button>
39
+          <button class="btn-white-border" @click="checkMail()">SEND</button>
40
         </div>
40
         </div>
41
       </div>
41
       </div>
42
     </div>
42
     </div>

+ 1
- 1
src/components/user/loginPage.vue View File

59
                         >Remember password?</label
59
                         >Remember password?</label
60
                       >
60
                       >
61
                     </div>
61
                     </div>
62
-                    <button v-on:click="Login()" class="btn-solid-blue" type="submit">
62
+                    <button v-on:click="Login()" class="btn-white-border" type="submit">
63
                     <!-- <button class="btn-solid-blue" type="submit"> -->
63
                     <!-- <button class="btn-solid-blue" type="submit"> -->
64
                       LOGIN
64
                       LOGIN
65
                     </button>
65
                     </button>

+ 596
- 592
src/router/index.js
File diff suppressed because it is too large
View File


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

193
         getResorts({ commit }) {
193
         getResorts({ commit }) {
194
             axios
194
             axios
195
                 .get(
195
                 .get(
196
-                    'https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/resorts/list/',
196
+                    'https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/resorts/list?disabled=true',
197
                 )
197
                 )
198
                 .then((result) => {
198
                 .then((result) => {
199
                     commit('addResort', result.data)
199
                     commit('addResort', result.data)

+ 26
- 17
src/store/modules/user/register.js View File

8
         individuals: [],
8
         individuals: [],
9
         agents: [],
9
         agents: [],
10
         agent: {},
10
         agent: {},
11
+        agencies: [],
12
+        agency: {},
11
         registerIndividual: {
13
         registerIndividual: {
12
             name: '',
14
             name: '',
13
             surname: '',
15
             surname: '',
48
         setSingleAgent(state, agent) {
50
         setSingleAgent(state, agent) {
49
             state.agent = agent
51
             state.agent = agent
50
         },
52
         },
53
+        setAgencies(state, type) {
54
+            state.agencies = type
55
+        },
51
         setAgency(state, type) {
56
         setAgency(state, type) {
52
             state.registerAgency = type
57
             state.registerAgency = type
53
         },
58
         },
105
             state.individuals.splice(index, 1)
110
             state.individuals.splice(index, 1)
106
         },
111
         },
107
         removeAgency(state, id) {
112
         removeAgency(state, id) {
108
-            state.registerAgency.pop(state.registerAgency.find((a) => a.id === id))
113
+            state.registerAgency.pop(
114
+                state.registerAgency.find((agency) => agency.id === id),
115
+            )
109
         },
116
         },
110
         removeAgent(state, id) {
117
         removeAgent(state, id) {
111
             var index = state.agents.findIndex((agent) => agent.id === id)
118
             var index = state.agents.findIndex((agent) => agent.id === id)
148
                     console.log(e)
155
                     console.log(e)
149
                 })
156
                 })
150
         },
157
         },
158
+        getAgencies({ commit }) {
159
+            axios
160
+                .get('/api/agency')
161
+                .then((result) => commit('setAgencies', result.data))
162
+                .catch(console.error)
163
+        },
151
         getAgency({ commit }, id) {
164
         getAgency({ commit }, id) {
152
             axios
165
             axios
153
                 .get(`/api/agency/${id}`)
166
                 .get(`/api/agency/${id}`)
200
                 .then((result) => console.log(result))
213
                 .then((result) => console.log(result))
201
                 .catch(console.error)
214
                 .catch(console.error)
202
         },
215
         },
203
-        // updateAgency({
204
-        //   commit,
205
-        // }, item) {
206
-        //   axios
207
-        //     .put('/api/agency', item)
208
-        //     .then(result => commit('updateAgency', item))
209
-        //     .catch(console.error);
210
-        // },
216
+        updateAgency({ commit }, item) {
217
+            axios
218
+                .put('/api/agency', item)
219
+                .then((result) => commit('updateAgency', item))
220
+                .catch(console.error)
221
+        },
211
         // clearIndividual({
222
         // clearIndividual({
212
         //   commit,
223
         //   commit,
213
         // }) {
224
         // }) {
230
                 .then((result) => commit('removeAgent', id))
241
                 .then((result) => commit('removeAgent', id))
231
                 .catch((ex) => console.log(ex.response))
242
                 .catch((ex) => console.log(ex.response))
232
         },
243
         },
233
-        // deleteAgency({
234
-        //   commit,
235
-        // }, id) {
236
-        //   axios
237
-        //     .delete(`/api/agency/${id}`)
238
-        //     .then(result => commit('removeAgency', id))
239
-        //     .catch(console.error);
240
-        // },
244
+        deleteAgency({ commit }, id) {
245
+            axios
246
+                .delete(`/api/agency/${id}`)
247
+                .then((result) => commit('removeAgency', id))
248
+                .catch(console.error)
249
+        },
241
     },
250
     },
242
 }
251
 }

Loading…
Cancel
Save