瀏覽代碼

Admin Menu Edit & Fees Page

master
30117125 4 年之前
父節點
當前提交
71da8d3280

+ 22
- 0
src/components/admin/fees/feesPage.vue 查看文件

@@ -0,0 +1,22 @@
1
+<template>
2
+  <main id="main" style="padding-top:50px; padding-bottom:100px">
3
+    <div class="container">
4
+      <div class="section-header">
5
+        <h2>Fees</h2>
6
+      </div>
7
+      <listingFee />
8
+    </div>
9
+  </main>
10
+</template>
11
+
12
+<script>
13
+/* eslint-disable */
14
+import listingFee from "./listingFee";
15
+export default {
16
+  components: {
17
+    listingFee
18
+  }
19
+};
20
+</script>
21
+
22
+<style lang="scss" scoped></style>

+ 28
- 0
src/components/admin/fees/listingFee.vue 查看文件

@@ -0,0 +1,28 @@
1
+<template>
2
+  <section id="content">
3
+    <label for="fee" class="uniLabel">LISTING FEE</label>
4
+    <currency-input
5
+      onClick="this.setSelectionRange(0, this.value.length)"
6
+      name="fee"
7
+      :value="value"
8
+      @input="value = $event"
9
+      v-model="fee"
10
+      id="price"
11
+      class="form-control uniInput"
12
+    />
13
+    <button class="btn-solid-blue mt-4">Save</button>
14
+  </section>
15
+</template>
16
+
17
+<script>
18
+/* eslint-disable */
19
+export default {
20
+  data() {
21
+    return {
22
+      fee: 0
23
+    };
24
+  }
25
+};
26
+</script>
27
+
28
+<style lang="scss" scoped></style>

+ 27
- 25
src/components/admin/property/userDefinedGroupPage.vue 查看文件

@@ -124,21 +124,21 @@
124 124
 </template>
125 125
 
126 126
 <script>
127
-import { mapState, mapActions } from 'vuex';
128
-import userFields from './userDefinedField.vue';
129
-import listView from '../../shared/listView.vue';
127
+import { mapState, mapActions } from "vuex";
128
+import userFields from "./userDefinedField.vue";
129
+import listView from "../../shared/listView.vue";
130 130
 
131 131
 export default {
132
-  name: 'UserDefinedGroup',
132
+  name: "UserDefinedGroup",
133 133
   components: {
134 134
     userFields,
135
-    listView,
135
+    listView
136 136
   },
137 137
   data() {
138 138
     return {
139 139
       item: {},
140 140
       showField: false,
141
-      columns: ['fieldName', 'fieldType', 'rank'],
141
+      columns: ["fieldName", "fieldType", "rank"]
142 142
     };
143 143
   },
144 144
   mounted() {
@@ -151,27 +151,27 @@ export default {
151 151
     }
152 152
   },
153 153
   computed: {
154
-    ...mapState('propertyAdmin', ['userDefinedGroup', 'userFields', 'userField']),
154
+    ...mapState("propertyAdmin", ["userDefinedGroup", "userFields", "userField"])
155 155
   },
156 156
   methods: {
157
-    ...mapActions('propertyAdmin', [
158
-      'getUserDefinedGroup',
159
-      'getUserFields',
160
-      'saveUserDefinedGroup',
161
-      'updateUserDefinedGroup',
162
-      'clearUserGroup',
163
-      'clearUserFields',
164
-      'clearUserField',
165
-      'saveUserField',
166
-      'updateUserField',
167
-      'deleteUserField',
157
+    ...mapActions("propertyAdmin", [
158
+      "getUserDefinedGroup",
159
+      "getUserFields",
160
+      "saveUserDefinedGroup",
161
+      "updateUserDefinedGroup",
162
+      "clearUserGroup",
163
+      "clearUserFields",
164
+      "clearUserField",
165
+      "saveUserField",
166
+      "updateUserField",
167
+      "deleteUserField"
168 168
     ]),
169 169
     SubmitData() {
170 170
       this.userDefinedGroup.fields = [];
171 171
       let reload = false;
172 172
       if (this.$route.params.id > 0) {
173 173
         this.updateUserDefinedGroup(this.userDefinedGroup);
174
-        this.userFields.forEach((fieldData) => {
174
+        this.userFields.forEach(fieldData => {
175 175
           if (fieldData.id === 0) {
176 176
             fieldData.groupId = this.userDefinedGroup.id;
177 177
             this.saveUserField(fieldData);
@@ -181,16 +181,16 @@ export default {
181 181
         });
182 182
       } else {
183 183
         reload = true;
184
-        this.userFields.forEach((fieldData) => {
184
+        this.userFields.forEach(fieldData => {
185 185
           this.userDefinedGroup.fields.push({
186 186
             fieldName: fieldData.fieldName,
187 187
             fieldType: fieldData.fieldType,
188
-            rank: fieldData.rank,
188
+            rank: fieldData.rank
189 189
           });
190 190
         });
191 191
         this.saveUserDefinedGroup(this.userDefinedGroup);
192 192
       }
193
-      this.$router.push('/userDefinedGroups/list');
193
+      this.$router.push("/userDefinedGroups/list");
194 194
       // this.$router.push({
195 195
       //   path: '/userDefinedGroups/list',
196 196
       //   query: { reload },
@@ -207,7 +207,7 @@ export default {
207 207
       this.showField = true;
208 208
     },
209 209
     Close() {
210
-      this.$router.push('/userDefinedGroups/list');
210
+      this.$router.push("/userDefinedGroups/list");
211 211
     },
212 212
     UpdateUserField(item) {
213 213
       if (item.id === 0) {
@@ -216,12 +216,14 @@ export default {
216 216
       this.showField = false;
217 217
     },
218 218
     Delete(item) {
219
+      console.log(item);
220
+
219 221
       if (item.id === 0) {
220 222
         this.userFields.pop(this.userFields.find(p => p.id === item.id));
221 223
       } else {
222 224
         this.deleteUserField(item.id);
223 225
       }
224
-    },
225
-  },
226
+    }
227
+  }
226 228
 };
227 229
 </script>

+ 7
- 8
src/components/property/residential/createProperty/residentialCreateNew.vue 查看文件

@@ -464,15 +464,14 @@ export default {
464 464
           item.value = "no";
465 465
         }
466 466
       });
467
-      console.log(this.property);
468 467
 
469
-      // this.saveProperty(this.property)
470
-      //   .then(fulfilled => {
471
-      //     this.$router.push(`/property/residential/property/${fulfilled.data.id}`);
472
-      //   })
473
-      //   .catch(error => {
474
-      //     console.log(error.message);
475
-      //   });
468
+      this.saveProperty(this.property)
469
+        .then(fulfilled => {
470
+          this.$router.push(`/property/residential/property/${fulfilled.data.id}`);
471
+        })
472
+        .catch(error => {
473
+          console.log(error.message);
474
+        });
476 475
     },
477 476
     Close() {
478 477
       this.$router.push("/property/admin/list/my");

+ 1
- 0
src/components/property/residential/singleView/contentSection.vue 查看文件

@@ -82,6 +82,7 @@
82 82
           </div>
83 83
           <div>
84 84
             <h4>Property Features</h4>
85
+
85 86
             <div v-for="(data, i) in property.displayData" :key="i" class="row my-3">
86 87
               <div v-for="(field, j) in data.values" :key="j" class="col-md-6">
87 88
                 <div v-if="field.value.toUpperCase() != 'YES'">

+ 67
- 29
src/components/shared/navBar.vue 查看文件

@@ -191,9 +191,7 @@
191 191
                       <li>
192 192
                         <router-link to="/property/list">List My Property</router-link>
193 193
                       </li>
194
-                      <li>
195
-                        <router-link to="/status/list">Status</router-link>
196
-                      </li>
194
+
197 195
                       <li>
198 196
                         <router-link to="/status/timeshareAdmin">Timeshare Week Admin</router-link>
199 197
                       </li>
@@ -202,33 +200,70 @@
202 200
                           >Tender Week Management</router-link
203 201
                         >
204 202
                       </li>
205
-                      <li>
206
-                        <router-link to="/unitConfiguration/list">Unit Configuration</router-link>
207
-                      </li>
208
-                      <li>
209
-                        <router-link to="/communication/template">Templates</router-link>
210
-                      </li>
211 203
                       <hr />
212
-                      <li>
213
-                        <router-link to="/status/userManagementPage"
214
-                          >User Management & Access</router-link
204
+                      <li class="menu-has-children">
205
+                        <div
206
+                          @mouseover="submenu1Class = 'ts-display'"
207
+                          @mouseleave="submenu1Class = 'no-display'"
208
+                        ></div>
209
+                        <a href="#" class="sf-with-ul">
210
+                          Website Setup
211
+                        </a>
212
+                        <ul
213
+                          style="margin-top:-10px;text-align:left;width:250px"
214
+                          :class="submenu1Class"
215 215
                         >
216
-                      </li>
217
-                      <li>
218
-                        <router-link to="/status/changeLogPage">Changes Logs</router-link>
219
-                      </li>
220
-                      <li>
221
-                        <router-link to="/userDefinedGroups/list"
222
-                          >Property User Defined Groups</router-link
216
+                          <li>
217
+                            <router-link to="/status/list">Status</router-link>
218
+                          </li>
219
+                          <li>
220
+                            <router-link to="/unitConfiguration/list"
221
+                              >Unit Configuration</router-link
222
+                            >
223
+                          </li>
224
+                          <li>
225
+                            <router-link to="/communication/template">Templates</router-link>
226
+                          </li>
227
+                          <li>
228
+                            <router-link to="/status/userManagementPage"
229
+                              >User Management & Access</router-link
230
+                            >
231
+                          </li>
232
+                          <li>
233
+                            <router-link to="/userDefinedGroups/list"
234
+                              >Property User Defined Groups</router-link
235
+                            >
236
+                          </li>
237
+
238
+                          <li>
239
+                            <router-link to="/propertyTypes/list">Property Types</router-link>
240
+                          </li>
241
+                          <li>
242
+                            <router-link to="/fees">Fees</router-link>
243
+                          </li>
244
+                        </ul>
245
+                      </li>
246
+                      <li class="menu-has-children">
247
+                        <div
248
+                          @mouseover="submenu1Class = 'ts-display'"
249
+                          @mouseleave="submenu1Class = 'no-display'"
250
+                        ></div>
251
+                        <a href="#" class="sf-with-ul">
252
+                          Logs
253
+                        </a>
254
+                        <ul
255
+                          style="margin-top:-10px;text-align:left;width:250px"
256
+                          :class="submenu1Class"
223 257
                         >
224
-                      </li>
225
-                      <li>
226
-                        <router-link to="/propertyTypes/list">Property Types</router-link>
258
+                          <li>
259
+                            <router-link to="/status/changeLogPage">Changes Logs</router-link>
260
+                          </li>
261
+                          <li>
262
+                            <router-link to="/searchLog">Search Logs</router-link>
263
+                          </li>
264
+                        </ul>
227 265
                       </li>
228 266
                       <hr />
229
-                      <li>
230
-                        <router-link to="/searchLog">Search Logs</router-link>
231
-                      </li>
232 267
                       <li>
233 268
                         <router-link to="/Offers">Offers</router-link>
234 269
                       </li>
@@ -334,7 +369,8 @@ export default {
334 369
       registerClass: "no-display",
335 370
       commercialClass: "no-display",
336 371
       residentialClass: "no-display",
337
-      propManClass: "no-display"
372
+      propManClass: "no-display",
373
+      submenu1Class: "no-display"
338 374
     };
339 375
   },
340 376
   methods: {
@@ -351,9 +387,6 @@ export default {
351 387
   computed: {
352 388
     ...mapState("authentication", ["user", "flag", "status", "person", "token"]),
353 389
     isLoggedIn() {
354
-      console.log(Log.isLoggedIn());
355
-      console.log(this.user);
356
-
357 390
       return Log.isLoggedIn();
358 391
     },
359 392
     NAME() {
@@ -371,6 +404,11 @@ export default {
371 404
 </script>
372 405
 
373 406
 <style lang="scss" scoped>
407
+.subItem {
408
+  background-color: white;
409
+  margin-top: -10px;
410
+}
411
+
374 412
 .no-display {
375 413
   display: none;
376 414
 }

+ 6
- 0
src/router/index.js 查看文件

@@ -48,6 +48,7 @@ import userManagementPage from "../components/admin/status/userManagementPage.vu
48 48
 import changeLogPage from "../components/admin/status/changeLogPage.vue";
49 49
 import UnitConfiguration from "../components/admin/unitConfiguration/unitConfigurationPage.vue";
50 50
 import agentManagementPage from "../components/admin/status/agentsUserManagementPage.vue";
51
+import Fees from "../components/admin/fees/feesPage.vue";
51 52
 
52 53
 import ResortPage from "../components/timeshare/resort/resortPage.vue";
53 54
 import UnitPage from "../components/timeshare/resort/unit/unitPage.vue";
@@ -371,6 +372,11 @@ export default new Router({
371 372
       name: "SearchLog",
372 373
       component: searchLog
373 374
     },
375
+    {
376
+      path: "/fees",
377
+      name: "fees",
378
+      component: Fees
379
+    },
374 380
     {
375 381
       path: "/carousel",
376 382
       name: "carousel",

+ 3
- 1
src/store/index.js 查看文件

@@ -33,6 +33,7 @@ import CampaignItemModule from "./modules/marketing/campaignItems";
33 33
 import PlaceHolderFormat from "./modules/misc/placeHolderFormat";
34 34
 import Bank from "./modules/user/bank";
35 35
 import bank from "./modules/user/bank";
36
+import fees from "./modules/financial/fees";
36 37
 
37 38
 Vue.use(Vuex);
38 39
 /* eslint no-param-reassign: ["error", { "props": false }] */
@@ -68,6 +69,7 @@ export default new Vuex.Store({
68 69
     campaign: CampaignModule,
69 70
     campaignItem: CampaignItemModule,
70 71
     placeHolderFormat: PlaceHolderFormat,
71
-    bank: bank
72
+    bank: bank,
73
+    fees: fees
72 74
   }
73 75
 });

+ 22
- 0
src/store/modules/financial/fees.js 查看文件

@@ -0,0 +1,22 @@
1
+/* eslint-disable */
2
+import axios from "axios";
3
+
4
+export default {
5
+  namespaced: true,
6
+  state: {
7
+    listingFee: []
8
+  },
9
+  mutations: {
10
+    getListingFee: (state, fee) => (state.listingFee = fee)
11
+  },
12
+  getters: {
13
+    getListingFee: state => state.listingFee
14
+  },
15
+  actions: {
16
+    async retrieveListingFee({ commit }) {
17
+      await axios.get("api/fees/listingFee").then(res => {
18
+        commit("getListingFee", res.data);
19
+      });
20
+    }
21
+  }
22
+};

Loading…
取消
儲存