Преглед изворни кода

Timeshare Admin Page

master
Lene пре 4 година
родитељ
комит
d93428d8f0

+ 134
- 272
src/components/admin/status/editTimeShareAdminPage.vue Прегледај датотеку

@@ -11,50 +11,6 @@
11 11
           <div align="left" class="custom-control custom-switch mb-2">
12 12
             <div class="row">
13 13
               <div align="center" class="col">
14
-                <!-- <label class="mr-5">Were you referred by an agent?</label> -->
15
-                <!-- <input
16
-                  type="checkbox"
17
-                  class="custom-control-input"
18
-                  id="customSwitch1"
19
-                  :checked="refAgent"
20
-                  @change="changeRef"
21
-                /> -->
22
-                <!-- <label class="custom-control-label" for="customSwitch1">{{
23
-                  refAgent ? "Yes" : "No"
24
-                }}</label> -->
25
-                <!-- <div class="refbyAgent" :class="{ 'refbyAgent--clicked': refAgent }">
26
-                  <div class="col-md-6" v-if="refAgent">
27
-                    <label for="Name of Agency">Agency</label>
28
-                    <select
29
-                      class="form-control uniSelect"
30
-                      id="Agency"
31
-                      name="agency"
32
-                      v-model="sellItem.agencyId"
33
-                    >
34
-                      <option v-for="(item, i) in agencies" :key="i" :value="item.id">
35
-                        {{ item.agencyName }}
36
-                      </option>
37
-                    </select>
38
-                  </div>
39
-                  <div class="col-md-6" v-if="refAgent">
40
-                    <label for="Name of Agent">Agent</label>
41
-                    <select
42
-                      class="form-control uniSelect"
43
-                      id="agent"
44
-                      name="agent"
45
-                      v-model="sellItem.agentId"
46
-                      :disabled="!sellItem.agencyId"
47
-                    >
48
-                      <option
49
-                        v-for="(item, i) in displayNotDeletedAgents"
50
-                        :key="i"
51
-                        :value="item.id"
52
-                      >
53
-                        <div>{{ item.name + " " + item.surname }}</div>
54
-                      </option>
55
-                    </select>
56
-                  </div>
57
-                </div> -->
58 14
               </div>
59 15
             </div>
60 16
           </div>
@@ -65,17 +21,17 @@
65 21
             <div class="form-row">
66 22
               <div class="form-group col-md-6">
67 23
                 <div class="input-group">
68
-                  <label v-if="!sellItem.region" class="uniSelectLabel" for="weekInfoRegionSelect"
24
+                  <!-- {{weekParam}} -->
25
+                  <label class="uniSelectLabel" for="weekInfoRegionSelect"
69 26
                     >REGION</label
70 27
                   >
71
-
72 28
                   <select
73 29
                     id="weekInfoRegionSelect"
74 30
                     class="form-control uniSelect"
75
-                    v-model="week.region"
31
+                    v-model="selectedRegion"
76 32
                     style="font-size: 15px"
77 33
                   >
78
-                    <option v-for="(region, r) in regions" :key="r" :value="region">{{
34
+                    <option v-for="(region, r) in regions" :key="r" :value="region.regionCode">{{
79 35
                       region.regionName
80 36
                     }}</option>
81 37
                   </select>
@@ -84,18 +40,17 @@
84 40
               </div>
85 41
               <div class="form-group col-md-6">
86 42
                 <div class="input-group">
87
-                  <label v-if="!sellItem.resort" class="uniSelectLabel" for="weekInfoResortSelect"
43
+                  <label class="uniSelectLabel" for="weekInfoResortSelect"
88 44
                     >RESORT NAME</label
89 45
                   >
90 46
 
91 47
                   <select
92 48
                     id="weekInfoResortSelect"
93 49
                     class="form-control uniSelect"
94
-                    v-model="sellItem.resort"
95
-                    @change="resortChange()"
50
+                    v-model="selectedResort"
96 51
                   >
97 52
                     <option value="Other">Other</option>
98
-                    <option v-for="(resort, r) in filteredResort" :key="r" :value="resort">{{
53
+                    <option v-for="(resort, r) in filteredResort" :key="r" :value="resort.resortCode">{{
99 54
                       resort.resortName
100 55
                     }}</option>
101 56
                   </select>
@@ -105,24 +60,24 @@
105 60
               <div class="form-group col-md-6">
106 61
                 <input
107 62
                   class="form-control"
108
-                  v-if="sellItem.otherResort"
63
+                  v-if="weekParam.otherResort"
109 64
                   placeholder="NAME OF RESORT (* IF OTHER)"
110 65
                   type="text"
111 66
                   name="other"
112
-                  v-model="sellItem.otherResortName"
67
+                  v-model="weekParam.otherResortName"
113 68
                 />
114 69
               </div>
115 70
               <div class="form-group col-md-6">
116
-                <div v-if="sellItem.otherResort">
117
-                  <label v-if="!sellItem.region" class="uniSelectLabel" for="region">REGION</label>
71
+                <div v-if="weekParam.otherResort">
72
+                  <label v-if="!weekParam.region" class="uniSelectLabel" for="region">REGION</label>
118 73
                 </div>
119 74
 
120 75
                 <select
121 76
                   class="form-control uniSelect"
122
-                  v-if="sellItem.otherResort"
77
+                  v-if="weekParam.otherResort"
123 78
                   name="region"
124 79
                   id="region"
125
-                  v-model="sellItem.region"
80
+                  v-model="weekParam.region"
126 81
                 >
127 82
                   <option v-for="(region, r) in regions" :key="r">{{ region.regionName }}</option>
128 83
                 </select>
@@ -134,38 +89,38 @@
134 89
                   name="unitNumber"
135 90
                   id="unitNumber"
136 91
                   placeholder="UNIT NUMBER"
137
-                  v-model="sellItem.unitNumber"
92
+                  v-model="weekParam.unitNumber"
138 93
                   data-msg="Please enter unit number"
139 94
                 />
140 95
                 <div class="validation"></div>
141 96
               </div>
142 97
               <div class="form-group col-md-6">
143 98
                 <input
144
-                  type="number"
99
+                  type="text"
145 100
                   class="form-control"
146 101
                   name="week"
147 102
                   id="week"
148 103
                   placeholder="UNIT / WEEK NUMBER"
149
-                  v-model="sellItem.module"
104
+                  v-model="weekParam.weekNumber"
150 105
                   data-msg="Please enter week number"
151 106
                 />
152 107
                 <div class="validation"></div>
153 108
               </div>
154 109
               <div class="form-group col-md-6">
155
-                <label v-if="!sellItem.season" class="uniSelectLabel" for="region">SEASON</label>
110
+                <label class="uniSelectLabel" for="region">SEASON</label>
156 111
 
157 112
                 <select
158 113
                   class="form-control uniSelect"
159
-                  name="region"
160
-                  id="region"
161
-                  v-model="sellItem.season"
114
+                  name="season"
115
+                  id="season"
116
+                  v-model="selectedSeason"
162 117
                 >
163 118
                   <option v-for="(season, r) in seasons" :key="r">{{ season.name }}</option>
164 119
                 </select>
165 120
                 <div class="validation"></div>
166 121
               </div>
167 122
               <div class="form-group col-md-6">
168
-                <label v-if="!sellItem.bedrooms" class="uniSelectLabel" for="region"
123
+                <label class="uniSelectLabel" for="region"
169 124
                   >BEDROOM/S</label
170 125
                 >
171 126
 
@@ -173,14 +128,14 @@
173 128
                   class="form-control uniSelect"
174 129
                   name="region"
175 130
                   id="region"
176
-                  v-model="sellItem.bedrooms"
131
+                  v-model="selectedBedrooms"
177 132
                 >
178 133
                   <option v-for="(item, i) in resortBedrooms" :key="i">{{ item }}</option>
179 134
                 </select>
180 135
                 <div class="validation"></div>
181 136
               </div>
182 137
               <div class="form-group col-md-6">
183
-                <label v-if="!sellItem.maxSleep" class="uniSelectLabel" for="region"
138
+                <label class="uniSelectLabel" for="region"
184 139
                   >SLEEP MAX</label
185 140
                 >
186 141
 
@@ -188,7 +143,7 @@
188 143
                   class="form-control uniSelect"
189 144
                   name="region"
190 145
                   id="region"
191
-                  v-model="sellItem.maxSleep"
146
+                  v-model="selectedMaxSleep"
192 147
                 >
193 148
                   <option v-for="(item, i) in maxSleep" :key="i">{{ item }}</option>
194 149
                 </select>
@@ -201,20 +156,20 @@
201 156
                   name="levy"
202 157
                   id="levy"
203 158
                   placeholder="Levy Amount"
204
-                  v-model="sellItem.levyAmount"
159
+                  v-model="weekParam.levyAmount"
205 160
                   data-msg="Please enter levy amount"
206 161
                 />
207 162
                 <div class="validation"></div>
208 163
               </div>
209 164
               <div class="form-group col-md-6">
210
-                <label v-if="!sellItem.weekType" class="uniSelectLabel" for="region"
165
+                <label class="uniSelectLabel" for="region"
211 166
                   >WEEK TYPE</label
212 167
                 >
213 168
                 <select
214 169
                   class="form-control uniSelect"
215 170
                   name="region"
216 171
                   id="region"
217
-                  v-model="sellItem.weekType"
172
+                  v-model="selectedWeekType"
218 173
                 >
219 174
                   <option :key="0">Flexi</option>
220 175
                   <option :key="1">Fixed</option>
@@ -226,20 +181,20 @@
226 181
               <div class="form-group col-md-6">
227 182
                 Arrival Date :
228 183
                 <input
229
-                  type="date"
184
+                  type="datetime-local"
230 185
                   class="form-control"
231 186
                   name="occupationDate1"
232
-                  v-model="sellItem.arrivalDate"
187
+                  v-model="weekParam.arrivalDate"
233 188
                 />
234 189
                 <div class="validation"></div>
235 190
               </div>
236 191
               <div class="form-group col-md-6">
237 192
                 Departure Date :
238 193
                 <input
239
-                  type="date"
194
+                  type="datetime-local"
240 195
                   class="form-control"
241 196
                   name="occupationDate2"
242
-                  v-model="sellItem.departureDate"
197
+                  v-model="weekParam.departureDate"
243 198
                 />
244 199
                 <div class="validation"></div>
245 200
               </div>
@@ -251,7 +206,7 @@
251 206
                   type="number"
252 207
                   step="any"
253 208
                   name="purchasePrice"
254
-                  v-model="sellItem.originalPurchasePrice"
209
+                  v-model="weekParam.sellPrice"
255 210
                 />
256 211
                 <div class="validation"></div>
257 212
               </div>
@@ -268,7 +223,6 @@
268 223
                   class="custom-control-input"
269 224
                   id="customSwitch2"
270 225
                   :checked="sellItem.currentYearBanked"
271
-                  @change="changeCurrentBanked"
272 226
                 />
273 227
                 <label class="custom-control-label" for="customSwitch2">{{
274 228
                   sellItem.currentYearBanked ? "Yes" : "No"
@@ -309,7 +263,7 @@
309 263
                   placeholder="Name"
310 264
                   data-rule="minlen:4"
311 265
                   data-msg="Please enter your name"
312
-                  v-model="indiv.name"
266
+                  v-model="week.owner.name"
313 267
                 />
314 268
                 <div class="validation"></div>
315 269
               </div>
@@ -321,7 +275,7 @@
321 275
                   id="surname"
322 276
                   placeholder="Surname"
323 277
                   data-msg="Please enter your surname"
324
-                  v-model="indiv.surname"
278
+                  v-model="week.owner.surname"
325 279
                 />
326 280
                 <div class="validation"></div>
327 281
               </div>
@@ -336,7 +290,7 @@
336 290
                   placeholder="ID Number"
337 291
                   data-rule="minlen:4"
338 292
                   data-msg="Please enter your ID number"
339
-                  v-model="indiv.idNumber"
293
+                  v-model="week.owner.idNumber"
340 294
                 />
341 295
                 <div class="validation"></div>
342 296
               </div>
@@ -349,37 +303,12 @@
349 303
                   placeholder="Company Reg Number"
350 304
                   data-rule="minlen:4"
351 305
                   data-msg="Please enter your company reg number"
352
-                  v-model="indiv.companyRegNumber"
306
+                  v-model="week.owner.companyRegNumber"
353 307
                 />
354 308
                 <div class="validation"></div>
355 309
               </div>
356 310
             </div>
357 311
             <div class="row">
358
-              <div class="form-group col-md-6">
359
-                <div class="input-group">
360
-                  <label
361
-                    v-if="!indiv.howMarried || indiv.howMarried === 'N/A'"
362
-                    for="howMarried"
363
-                    class="uniSelectLabel"
364
-                    >Marital Status</label
365
-                  >
366
-                  <select class="form-control uniSelect" id="howMarried" v-model="indiv.howMarried">
367
-                    <option value="N/A">N/A</option>
368
-                    <option value="In Community Of Property">In Community Of Property</option>
369
-                    <option value="Out of Community Of Property"
370
-                      >Out of Community Of Property</option
371
-                    >
372
-                    <option value="Other">Other</option>
373
-                    <option value="Traditional Wedding">Traditional Wedding</option>
374
-                    <option value="Single">Single</option>
375
-                    <option value="Divorced">Divorced</option>
376
-                    <option value="Widow">Widow</option>
377
-                    <option value="Committed Relationship">Committed Relationship</option>
378
-                    <option value="Partner">Partner</option>
379
-                  </select>
380
-                </div>
381
-                <div class="validation"></div>
382
-              </div>
383 312
               <div class="form-group col-md-6">
384 313
                 <input
385 314
                   type="text"
@@ -388,7 +317,7 @@
388 317
                   id="email"
389 318
                   placeholder="Email Address"
390 319
                   data-msg="Please enter your email address"
391
-                  v-model="indiv.emailAddress"
320
+                  v-model="week.owner.emailAddress"
392 321
                 />
393 322
                 <div class="validation"></div>
394 323
               </div>
@@ -403,7 +332,7 @@
403 332
                   placeholder="Cell Number"
404 333
                   data-rule="minlen:4"
405 334
                   data-msg="Please enter your cell number"
406
-                  v-model="indiv.cellNumner"
335
+                  v-model="week.owner.cellNumner"
407 336
                 />
408 337
                 <div class="validation"></div>
409 338
               </div>
@@ -415,95 +344,63 @@
415 344
                   id="landline"
416 345
                   placeholder="Landline Number"
417 346
                   data-msg="Please enter your landline number"
418
-                  v-model="indiv.landlineNumber"
347
+                  v-model="week.owner.landlineNumber"
419 348
                 />
420 349
                 <div class="validation"></div>
421 350
               </div>
422 351
             </div>
423 352
           </div>
424
-          <div v-if="indiv.howMarried === 'In Community Of Property'" class="section-header">
425
-            <h2>Spouse Details</h2>
353
+                    <div class="section-header">
354
+            <h2>Publish Timeshare Week</h2>
426 355
           </div>
427
-          <div v-if="indiv.howMarried === 'In Community Of Property'" class="form">
428
-            <div class="form-row">
429
-              <div class="form-group col-md-6">
430
-                <input
431
-                  type="text"
432
-                  class="form-control"
433
-                  placeholder="SPOUSE NAME"
434
-                  data-msg="Please enter your spouse's name"
435
-                  v-model="indiv.spouseName"
436
-                />
437
-                <div class="validation"></div>
438
-              </div>
439
-              <div class="form-group col-md-6">
440
-                <input
441
-                  type="text"
442
-                  class="form-control"
443
-                  placeholder="SPOUSE SURNAME"
444
-                  data-msg="Please enter your spouse's surname"
445
-                  v-model="indiv.spouseSurname"
446
-                />
447
-                <div class="validation"></div>
448
-              </div>
356
+          <div class="form">
357
+            <div class="row">
449 358
               <div class="form-group col-md-6">
450
-                <input
451
-                  type="text"
452
-                  class="form-control"
453
-                  placeholder="SPOUSE EMAIL"
454
-                  data-rule="minlen:4"
455
-                  data-msg="Please enter your spouse's email"
456
-                  v-model="indiv.spouseEmail"
457
-                />
458
-                <div class="validation"></div>
359
+                <label class="uniSelectLabel" for="region"
360
+                  >STATUS</label
361
+                >
362
+                <select
363
+                  class="form-control uniSelect"
364
+                  name="region"
365
+                  id="region"
366
+                  v-model="selectedWeekType"
367
+                >
368
+                  <option :key="0">For Sale</option>
369
+                  <option :key="1">Sold</option>
370
+                </select>
459 371
               </div>
460 372
               <div class="form-group col-md-6">
461
-                <input
462
-                  type="text"
463
-                  class="form-control"
464
-                  placeholder="SPOUSE TELEPHONE"
465
-                  data-rule="minlen:4"
466
-                  data-msg="Please enter your spouse's telephone number"
467
-                  v-model="indiv.spouseTelephone"
468
-                />
469
-                <div class="validation"></div>
373
+                <label class="uniSelectLabel" for="region"
374
+                  >Publish</label
375
+                >
376
+                <select
377
+                  class="form-control uniSelect"
378
+                  name="region"
379
+                  id="region"
380
+                  v-model="selectedWeekType"
381
+                >
382
+                  <option :key="0">Yes</option>
383
+                  <option :key="1">No</option>
384
+                </select>
470 385
               </div>
471
-              <div class="form-group col-md-6">
386
+                            <div class="form-group col-md-6">
387
+                Date Published :
472 388
                 <input
473
-                  type="text"
389
+                  type="datetime-local"
474 390
                   class="form-control"
475
-                  placeholder="SPOUSE CELL NUMBER"
476
-                  data-rule="minlen:4"
477
-                  data-msg="Please enter your spouse's cellphone number"
478
-                  v-model="indiv.spouseCellnumber"
391
+                  name="occupationDate2"
392
+                  v-model="datetime"
479 393
                 />
480 394
                 <div class="validation"></div>
481 395
               </div>
396
+
482 397
             </div>
483
-                          <div class="form-group col-md-6">
484
-                <input
485
-                  type="text"
486
-                  class="form-control"
487
-                  placeholder="SPOUSE CELL NUMBER"
488
-                  data-rule="minlen:4"
489
-                  data-msg="Please enter your spouse's cellphone number"
490
-                  v-model="indiv.spouseCellnumber"
491
-                />
492
-                <div class="validation"></div>
493
-              </div>
494 398
           </div>
495
-
496 399
           <div class="form">
497 400
             <div id="sendmessage">Your details has been sent. Thank you!</div>
498 401
             <div id="errormessage"></div>
499
-
500
-            <div class="form-row" v-if="!CanSave">
501
-              <div class="col-md-12">
502
-                <p class="alert myError">Please ensure that you add spouse details.</p>
503
-              </div>
504
-            </div>
505
-            <div class="text-center col-12" v-if="CanSave">
506
-              <button class="btn-solid-blue">
402
+            <div class="text-center col-12" >
403
+              <button class="btn-solid-blue" v-on:click="saveEdit()">
507 404
                 Save
508 405
               </button>
509 406
             </div>
@@ -514,7 +411,6 @@
514 411
             <br />
515 412
           </div>
516 413
         </div>
517
-
518 414
         <br />
519 415
         <br />
520 416
       </div>
@@ -535,6 +431,7 @@ import _ from "lodash";
535 431
 export default {
536 432
   name: "EditTimeshare",
537 433
   props: {
434
+    weekParam: {},
538 435
     weekId: {
539 436
       default: 0
540 437
     }
@@ -545,20 +442,36 @@ export default {
545 442
       userLoggedIn: Log.isLoggedIn(),
546 443
       listedWeekId: this.$route.params.id,
547 444
       selectedItems: [],
445
+      selectedRegion: {},
446
+      selectedResort: {},
447
+      selectedSeason: {},
448
+      selectedBedrooms: {},
449
+      selectedMaxSleep: {},
450
+      selectedWeekType: {},
548 451
     };
549 452
   },
550 453
   components: {
551 454
     addressAutoComplete,
552 455
     Alert
553 456
   },
554
-  mounted() {
457
+  async mounted() {
555 458
     if (this.sellItem.id) {
556 459
       this.newSale();
557 460
     }
461
+    if (this.weekParam.season === "Peak") {
462
+      this.selectedSeason = "Peak 1"
463
+    } else {
464
+      this.selectedSeason = this.weekParam.season;
465
+    }
558 466
     this.initTimeshare(0);
559 467
     this.getIndividual(Log.getUser().id);
560 468
     this.getBanks();
561
-    this.getWeek(this.$route.params.id)
469
+    this.getWeek(this.weekParam.id);
470
+    this.selectedRegion = this.weekParam.region.regionCode;
471
+    this.selectedResort = this.weekParam.resort.resortCode;
472
+    this.selectedBedrooms = this.weekParam.bedrooms;
473
+    this.selectedMaxSleep = this.weekParam.maxSleep;
474
+    this.selectedWeekType = this.weekParam.weekType;
562 475
   },
563 476
   created() {
564 477
     this.initTimeshare(this.weekId);
@@ -606,114 +519,63 @@ export default {
606 519
     isLoggedIn() {
607 520
       return this.user && this.person;
608 521
     },
609
-    displayNotDeletedAgents() {
610
-      var notDeletedArr = [];
611
-      this.agents.forEach(agent => {
612
-        if (!agent.isDeleted) {
613
-          if (agent.agencyId === this.sellItem.agencyId) {
614
-            notDeletedArr.push(agent);
615
-          }
616
-        }
617
-      });
618
-      return notDeletedArr;
619
-    },
620
-    CanSave() {
621
-      if (this.indiv.howMarried === "In Community Of Property") {
622
-        if (this.indiv.spouseName || this.indiv.spouseSurname || this.spouseEmail) {
623
-          return true;
624
-        }
625
-        return false;
626
-      }
627
-      return true;
628
-    }
629 522
   },
630 523
   methods: {
631 524
     ...mapActions("individual", ["getIndividual"]),
632 525
     ...mapActions("timeshare", ["initTimeshare", "onResortChange", "saveWeek", "getBlankWeek"]),
633 526
     ...mapActions("payment", ["addPayment"]),
634 527
     ...mapActions("bank", ["getBanks"]),
635
-    ...mapActions("myWeeks", ["getItems", "getWeek"]),
528
+    ...mapActions("myWeeks", ["getItems", "getWeek", "editSave"]),
636 529
     newSale() {
637 530
       this.weekId = 0;
638 531
       this.getBlankWeek();
639 532
     },
640
-    submitSale() {
641
-      if (this.userLoggedIn) {
642
-        this.sellItem.ownerObject = this.indiv;
643
-        this.sellItem.status = undefined;
644
-        this.saveWeek(this.sellItem).then(fulfilled => {
645
-          this.paygateRedirect();
646
-        });
647
-      } else this.$router.push("/user/login");
648
-    },
649
-    paygateRedirect() {
650
-      var paymentObj = {
651
-        timeshareWeekId: this.sellItem.id, // this.sellItem.Id,
652
-        propertyId: 0,
653
-        creatydById: Log.getUser().id, //Log.getUser().id,
654
-        amount: 380.0,
655
-        paymentStatus: "",
656
-        paymentToken: ""
657
-      };
658
-
659
-      this.addPayment(paymentObj).then(res => {
660
-        this.$router.push({
661
-          name: "PaymentGateway",
662
-          params: {
663
-            paymentReqId: res.PAY_REQUEST_ID,
664
-            checksum: res.CHECKSUM
665
-          }
666
-        });
533
+    saveEdit() {
534
+      this.regions.forEach(region => {
535
+        if (region.regionCode === this.selectedRegion) {
536
+          this.weekParam.region = region;
537
+        }
667 538
       });
668
-    },
669
-    previewFiles(event) {
670
-      console.log(event.target.files);
671
-    },
672
-    changeRef() {
673
-      this.sellItem.agent = undefined;
674
-      this.sellItem.agency = undefined;
675
-      this.sellItem.referedByAgent = !this.sellItem.referedByAgent;
676
-    },
677
-    changeLeviesPaidInFull() {
678
-      this.sellItem.leviesPaidInFull = !this.sellItem.leviesPaidInFull;
679
-    },
680
-    changeWeekPlacedForRental() {
681
-      this.sellItem.weekPlacedForRental = !this.sellItem.weekPlacedForRental;
682
-    },
683
-    changeCurrentBanked() {
684
-      this.sellItem.bankedWith = undefined;
685
-      this.sellItem.currentYearBanked = !this.sellItem.currentYearBanked;
539
+      this.resorts.forEach(resort => {
540
+        if (resort.resortCode === this.selectedResort) {
541
+          this.weekParam.resort = resort;
542
+        }
543
+      });
544
+      this.seasons.forEach(season => {
545
+        if (season.name === this.selectedSeason) {
546
+          this.weekParam.season = season;
547
+        }
548
+      });
549
+      this.bedrooms.forEach(beedroom => {
550
+        if (bedroom === this.selectedBedrooms) {
551
+          this.weekParam.beedroom = beedroom
552
+        }
553
+      });
554
+      this.maxSleep.forEach(sleepMax => {
555
+        if (maxSleep === this.selectedMaxSleep) {
556
+          this.weekParam.maxSleep = maxSleep
557
+        }
558
+      });
559
+      this.weekType.forEach(typeWeek => {
560
+        if (weekType === this.selectedWeekType) {
561
+          this.weekParam.weekType = weekType
562
+        }
563
+      });
564
+      console.log(this.weekParam);
565
+      this.editSave(this.weekParam);
686 566
     },
687 567
     resortChange() {
688 568
       this.onResortChange({
689
-        resortName: this.sellItem.resort.resortName,
690
-        resortCode: this.sellItem.resort.resortCode
569
+        resortName: this.week.resort.resortName,
570
+        resortCode: this.week.resort.resortCode
691 571
       });
692 572
 
693
-      if (this.sellItem && this.sellItem.resort === "Other") {
694
-        this.sellItem.otherResortName = undefined;
695
-        this.sellItem.otherResort = true;
696
-      } else {
697
-        this.sellItem.otherResortName = undefined;
698
-        this.sellItem.otherResort = false;
699
-      }
700
-    },
701
-    regionChange() {
702
-      this.sellItem.regionId = this.sellItem.region ? this.sellItem.region.id : 1;
703
-    },
704
-    UpdateAddress(address) {
705
-      this.indiv.address.streetNumber = address.streetNumber;
706
-      this.indiv.address.street = address.streetName;
707
-      this.indiv.address.province = address.province;
708
-      this.indiv.address.city = address.city;
709
-      this.indiv.address.suburb = address.suburb;
710
-      this.indiv.address.postalCode = address.postalCode;
711
-    },
712
-    SetMandateDate() {
713
-      if (this.sellItem.mandate) {
714
-        this.sellItem.mandateDate = new Date();
573
+      if (this.week && this.week.resort === "Other") {
574
+        this.week.otherResortName = undefined;
575
+        this.week.otherResort = true;
715 576
       } else {
716
-        this.sellItem.mandateDate = undefined;
577
+        this.week.otherResortName = undefined;
578
+        this.week.otherResort = false;
717 579
       }
718 580
     },
719 581
     backToListView() {

+ 2
- 1
src/components/admin/status/timeshareAdminPage.vue Прегледај датотеку

@@ -182,7 +182,8 @@ export default {
182 182
       this.selectedItems = items;
183 183
     },
184 184
     onEdit(item) {
185
-      this.$router.push(`/editTimeShare/${item.id}`);
185
+      this.$router.push({ name: 'EditTimeshare', params: { weekParam: item } });
186
+      // this.$router.push(`/editTimeShare/${item.id}`);
186 187
     },
187 188
     onClearSelected() {
188 189
       this.selectedItems = [];

+ 4
- 1
src/router/index.js Прегледај датотеку

@@ -459,8 +459,11 @@ export default new Router({
459 459
       component: ToBuySearch
460 460
     },
461 461
     {
462
-      path: "/editTimeShare/:id",
462
+      path: "/editTimeShare",
463 463
       name: "EditTimeshare",
464
+      props: route => ({
465
+        ...route.params
466
+      }),
464 467
       component: MyWeeksEdit
465 468
     }
466 469
   ]

+ 21
- 1
src/store/modules/timeshare/myWeeks.js Прегледај датотеку

@@ -13,7 +13,19 @@ export default {
13 13
     },
14 14
     setItem(state, item) {
15 15
       state.week = item;
16
-    }
16
+    },
17
+    updateItem(state, item) {
18
+      var index
19
+    var count = 0
20
+    state.items.forEach((el) => {
21
+      if (el.id === item.id) {
22
+        index = count
23
+      }
24
+      count++
25
+    })
26
+
27
+    Object.assign(state.items[index], item)
28
+    },
17 29
   },
18 30
   getters: {
19 31
     getNeedsVerify(state) {
@@ -59,5 +71,13 @@ export default {
59 71
       })
60 72
       .catch(console.error);
61 73
     },
74
+    editSave({ commit }, week) {
75
+      axios
76
+      .put(`/api/timeshareweek`, week)
77
+      .then(r => {
78
+        commit('updateItem', r.data);
79
+      })
80
+      .catch(console.error);
81
+    }
62 82
   },
63 83
 };

Loading…
Откажи
Сачувај