Sfoglia il codice sorgente

Timeshare Admin Page

master
Lene 4 anni fa
parent
commit
d93428d8f0

+ 134
- 272
src/components/admin/status/editTimeShareAdminPage.vue Vedi File

11
           <div align="left" class="custom-control custom-switch mb-2">
11
           <div align="left" class="custom-control custom-switch mb-2">
12
             <div class="row">
12
             <div class="row">
13
               <div align="center" class="col">
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
               </div>
14
               </div>
59
             </div>
15
             </div>
60
           </div>
16
           </div>
65
             <div class="form-row">
21
             <div class="form-row">
66
               <div class="form-group col-md-6">
22
               <div class="form-group col-md-6">
67
                 <div class="input-group">
23
                 <div class="input-group">
68
-                  <label v-if="!sellItem.region" class="uniSelectLabel" for="weekInfoRegionSelect"
24
+                  <!-- {{weekParam}} -->
25
+                  <label class="uniSelectLabel" for="weekInfoRegionSelect"
69
                     >REGION</label
26
                     >REGION</label
70
                   >
27
                   >
71
-
72
                   <select
28
                   <select
73
                     id="weekInfoRegionSelect"
29
                     id="weekInfoRegionSelect"
74
                     class="form-control uniSelect"
30
                     class="form-control uniSelect"
75
-                    v-model="week.region"
31
+                    v-model="selectedRegion"
76
                     style="font-size: 15px"
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
                       region.regionName
35
                       region.regionName
80
                     }}</option>
36
                     }}</option>
81
                   </select>
37
                   </select>
84
               </div>
40
               </div>
85
               <div class="form-group col-md-6">
41
               <div class="form-group col-md-6">
86
                 <div class="input-group">
42
                 <div class="input-group">
87
-                  <label v-if="!sellItem.resort" class="uniSelectLabel" for="weekInfoResortSelect"
43
+                  <label class="uniSelectLabel" for="weekInfoResortSelect"
88
                     >RESORT NAME</label
44
                     >RESORT NAME</label
89
                   >
45
                   >
90
 
46
 
91
                   <select
47
                   <select
92
                     id="weekInfoResortSelect"
48
                     id="weekInfoResortSelect"
93
                     class="form-control uniSelect"
49
                     class="form-control uniSelect"
94
-                    v-model="sellItem.resort"
95
-                    @change="resortChange()"
50
+                    v-model="selectedResort"
96
                   >
51
                   >
97
                     <option value="Other">Other</option>
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
                       resort.resortName
54
                       resort.resortName
100
                     }}</option>
55
                     }}</option>
101
                   </select>
56
                   </select>
105
               <div class="form-group col-md-6">
60
               <div class="form-group col-md-6">
106
                 <input
61
                 <input
107
                   class="form-control"
62
                   class="form-control"
108
-                  v-if="sellItem.otherResort"
63
+                  v-if="weekParam.otherResort"
109
                   placeholder="NAME OF RESORT (* IF OTHER)"
64
                   placeholder="NAME OF RESORT (* IF OTHER)"
110
                   type="text"
65
                   type="text"
111
                   name="other"
66
                   name="other"
112
-                  v-model="sellItem.otherResortName"
67
+                  v-model="weekParam.otherResortName"
113
                 />
68
                 />
114
               </div>
69
               </div>
115
               <div class="form-group col-md-6">
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
                 </div>
73
                 </div>
119
 
74
 
120
                 <select
75
                 <select
121
                   class="form-control uniSelect"
76
                   class="form-control uniSelect"
122
-                  v-if="sellItem.otherResort"
77
+                  v-if="weekParam.otherResort"
123
                   name="region"
78
                   name="region"
124
                   id="region"
79
                   id="region"
125
-                  v-model="sellItem.region"
80
+                  v-model="weekParam.region"
126
                 >
81
                 >
127
                   <option v-for="(region, r) in regions" :key="r">{{ region.regionName }}</option>
82
                   <option v-for="(region, r) in regions" :key="r">{{ region.regionName }}</option>
128
                 </select>
83
                 </select>
134
                   name="unitNumber"
89
                   name="unitNumber"
135
                   id="unitNumber"
90
                   id="unitNumber"
136
                   placeholder="UNIT NUMBER"
91
                   placeholder="UNIT NUMBER"
137
-                  v-model="sellItem.unitNumber"
92
+                  v-model="weekParam.unitNumber"
138
                   data-msg="Please enter unit number"
93
                   data-msg="Please enter unit number"
139
                 />
94
                 />
140
                 <div class="validation"></div>
95
                 <div class="validation"></div>
141
               </div>
96
               </div>
142
               <div class="form-group col-md-6">
97
               <div class="form-group col-md-6">
143
                 <input
98
                 <input
144
-                  type="number"
99
+                  type="text"
145
                   class="form-control"
100
                   class="form-control"
146
                   name="week"
101
                   name="week"
147
                   id="week"
102
                   id="week"
148
                   placeholder="UNIT / WEEK NUMBER"
103
                   placeholder="UNIT / WEEK NUMBER"
149
-                  v-model="sellItem.module"
104
+                  v-model="weekParam.weekNumber"
150
                   data-msg="Please enter week number"
105
                   data-msg="Please enter week number"
151
                 />
106
                 />
152
                 <div class="validation"></div>
107
                 <div class="validation"></div>
153
               </div>
108
               </div>
154
               <div class="form-group col-md-6">
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
                 <select
112
                 <select
158
                   class="form-control uniSelect"
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
                   <option v-for="(season, r) in seasons" :key="r">{{ season.name }}</option>
118
                   <option v-for="(season, r) in seasons" :key="r">{{ season.name }}</option>
164
                 </select>
119
                 </select>
165
                 <div class="validation"></div>
120
                 <div class="validation"></div>
166
               </div>
121
               </div>
167
               <div class="form-group col-md-6">
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
                   >BEDROOM/S</label
124
                   >BEDROOM/S</label
170
                 >
125
                 >
171
 
126
 
173
                   class="form-control uniSelect"
128
                   class="form-control uniSelect"
174
                   name="region"
129
                   name="region"
175
                   id="region"
130
                   id="region"
176
-                  v-model="sellItem.bedrooms"
131
+                  v-model="selectedBedrooms"
177
                 >
132
                 >
178
                   <option v-for="(item, i) in resortBedrooms" :key="i">{{ item }}</option>
133
                   <option v-for="(item, i) in resortBedrooms" :key="i">{{ item }}</option>
179
                 </select>
134
                 </select>
180
                 <div class="validation"></div>
135
                 <div class="validation"></div>
181
               </div>
136
               </div>
182
               <div class="form-group col-md-6">
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
                   >SLEEP MAX</label
139
                   >SLEEP MAX</label
185
                 >
140
                 >
186
 
141
 
188
                   class="form-control uniSelect"
143
                   class="form-control uniSelect"
189
                   name="region"
144
                   name="region"
190
                   id="region"
145
                   id="region"
191
-                  v-model="sellItem.maxSleep"
146
+                  v-model="selectedMaxSleep"
192
                 >
147
                 >
193
                   <option v-for="(item, i) in maxSleep" :key="i">{{ item }}</option>
148
                   <option v-for="(item, i) in maxSleep" :key="i">{{ item }}</option>
194
                 </select>
149
                 </select>
201
                   name="levy"
156
                   name="levy"
202
                   id="levy"
157
                   id="levy"
203
                   placeholder="Levy Amount"
158
                   placeholder="Levy Amount"
204
-                  v-model="sellItem.levyAmount"
159
+                  v-model="weekParam.levyAmount"
205
                   data-msg="Please enter levy amount"
160
                   data-msg="Please enter levy amount"
206
                 />
161
                 />
207
                 <div class="validation"></div>
162
                 <div class="validation"></div>
208
               </div>
163
               </div>
209
               <div class="form-group col-md-6">
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
                   >WEEK TYPE</label
166
                   >WEEK TYPE</label
212
                 >
167
                 >
213
                 <select
168
                 <select
214
                   class="form-control uniSelect"
169
                   class="form-control uniSelect"
215
                   name="region"
170
                   name="region"
216
                   id="region"
171
                   id="region"
217
-                  v-model="sellItem.weekType"
172
+                  v-model="selectedWeekType"
218
                 >
173
                 >
219
                   <option :key="0">Flexi</option>
174
                   <option :key="0">Flexi</option>
220
                   <option :key="1">Fixed</option>
175
                   <option :key="1">Fixed</option>
226
               <div class="form-group col-md-6">
181
               <div class="form-group col-md-6">
227
                 Arrival Date :
182
                 Arrival Date :
228
                 <input
183
                 <input
229
-                  type="date"
184
+                  type="datetime-local"
230
                   class="form-control"
185
                   class="form-control"
231
                   name="occupationDate1"
186
                   name="occupationDate1"
232
-                  v-model="sellItem.arrivalDate"
187
+                  v-model="weekParam.arrivalDate"
233
                 />
188
                 />
234
                 <div class="validation"></div>
189
                 <div class="validation"></div>
235
               </div>
190
               </div>
236
               <div class="form-group col-md-6">
191
               <div class="form-group col-md-6">
237
                 Departure Date :
192
                 Departure Date :
238
                 <input
193
                 <input
239
-                  type="date"
194
+                  type="datetime-local"
240
                   class="form-control"
195
                   class="form-control"
241
                   name="occupationDate2"
196
                   name="occupationDate2"
242
-                  v-model="sellItem.departureDate"
197
+                  v-model="weekParam.departureDate"
243
                 />
198
                 />
244
                 <div class="validation"></div>
199
                 <div class="validation"></div>
245
               </div>
200
               </div>
251
                   type="number"
206
                   type="number"
252
                   step="any"
207
                   step="any"
253
                   name="purchasePrice"
208
                   name="purchasePrice"
254
-                  v-model="sellItem.originalPurchasePrice"
209
+                  v-model="weekParam.sellPrice"
255
                 />
210
                 />
256
                 <div class="validation"></div>
211
                 <div class="validation"></div>
257
               </div>
212
               </div>
268
                   class="custom-control-input"
223
                   class="custom-control-input"
269
                   id="customSwitch2"
224
                   id="customSwitch2"
270
                   :checked="sellItem.currentYearBanked"
225
                   :checked="sellItem.currentYearBanked"
271
-                  @change="changeCurrentBanked"
272
                 />
226
                 />
273
                 <label class="custom-control-label" for="customSwitch2">{{
227
                 <label class="custom-control-label" for="customSwitch2">{{
274
                   sellItem.currentYearBanked ? "Yes" : "No"
228
                   sellItem.currentYearBanked ? "Yes" : "No"
309
                   placeholder="Name"
263
                   placeholder="Name"
310
                   data-rule="minlen:4"
264
                   data-rule="minlen:4"
311
                   data-msg="Please enter your name"
265
                   data-msg="Please enter your name"
312
-                  v-model="indiv.name"
266
+                  v-model="week.owner.name"
313
                 />
267
                 />
314
                 <div class="validation"></div>
268
                 <div class="validation"></div>
315
               </div>
269
               </div>
321
                   id="surname"
275
                   id="surname"
322
                   placeholder="Surname"
276
                   placeholder="Surname"
323
                   data-msg="Please enter your surname"
277
                   data-msg="Please enter your surname"
324
-                  v-model="indiv.surname"
278
+                  v-model="week.owner.surname"
325
                 />
279
                 />
326
                 <div class="validation"></div>
280
                 <div class="validation"></div>
327
               </div>
281
               </div>
336
                   placeholder="ID Number"
290
                   placeholder="ID Number"
337
                   data-rule="minlen:4"
291
                   data-rule="minlen:4"
338
                   data-msg="Please enter your ID number"
292
                   data-msg="Please enter your ID number"
339
-                  v-model="indiv.idNumber"
293
+                  v-model="week.owner.idNumber"
340
                 />
294
                 />
341
                 <div class="validation"></div>
295
                 <div class="validation"></div>
342
               </div>
296
               </div>
349
                   placeholder="Company Reg Number"
303
                   placeholder="Company Reg Number"
350
                   data-rule="minlen:4"
304
                   data-rule="minlen:4"
351
                   data-msg="Please enter your company reg number"
305
                   data-msg="Please enter your company reg number"
352
-                  v-model="indiv.companyRegNumber"
306
+                  v-model="week.owner.companyRegNumber"
353
                 />
307
                 />
354
                 <div class="validation"></div>
308
                 <div class="validation"></div>
355
               </div>
309
               </div>
356
             </div>
310
             </div>
357
             <div class="row">
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
               <div class="form-group col-md-6">
312
               <div class="form-group col-md-6">
384
                 <input
313
                 <input
385
                   type="text"
314
                   type="text"
388
                   id="email"
317
                   id="email"
389
                   placeholder="Email Address"
318
                   placeholder="Email Address"
390
                   data-msg="Please enter your email address"
319
                   data-msg="Please enter your email address"
391
-                  v-model="indiv.emailAddress"
320
+                  v-model="week.owner.emailAddress"
392
                 />
321
                 />
393
                 <div class="validation"></div>
322
                 <div class="validation"></div>
394
               </div>
323
               </div>
403
                   placeholder="Cell Number"
332
                   placeholder="Cell Number"
404
                   data-rule="minlen:4"
333
                   data-rule="minlen:4"
405
                   data-msg="Please enter your cell number"
334
                   data-msg="Please enter your cell number"
406
-                  v-model="indiv.cellNumner"
335
+                  v-model="week.owner.cellNumner"
407
                 />
336
                 />
408
                 <div class="validation"></div>
337
                 <div class="validation"></div>
409
               </div>
338
               </div>
415
                   id="landline"
344
                   id="landline"
416
                   placeholder="Landline Number"
345
                   placeholder="Landline Number"
417
                   data-msg="Please enter your landline number"
346
                   data-msg="Please enter your landline number"
418
-                  v-model="indiv.landlineNumber"
347
+                  v-model="week.owner.landlineNumber"
419
                 />
348
                 />
420
                 <div class="validation"></div>
349
                 <div class="validation"></div>
421
               </div>
350
               </div>
422
             </div>
351
             </div>
423
           </div>
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
           </div>
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
               <div class="form-group col-md-6">
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
               </div>
371
               </div>
460
               <div class="form-group col-md-6">
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
               </div>
385
               </div>
471
-              <div class="form-group col-md-6">
386
+                            <div class="form-group col-md-6">
387
+                Date Published :
472
                 <input
388
                 <input
473
-                  type="text"
389
+                  type="datetime-local"
474
                   class="form-control"
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
                 <div class="validation"></div>
394
                 <div class="validation"></div>
481
               </div>
395
               </div>
396
+
482
             </div>
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
           </div>
398
           </div>
495
-
496
           <div class="form">
399
           <div class="form">
497
             <div id="sendmessage">Your details has been sent. Thank you!</div>
400
             <div id="sendmessage">Your details has been sent. Thank you!</div>
498
             <div id="errormessage"></div>
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
                 Save
404
                 Save
508
               </button>
405
               </button>
509
             </div>
406
             </div>
514
             <br />
411
             <br />
515
           </div>
412
           </div>
516
         </div>
413
         </div>
517
-
518
         <br />
414
         <br />
519
         <br />
415
         <br />
520
       </div>
416
       </div>
535
 export default {
431
 export default {
536
   name: "EditTimeshare",
432
   name: "EditTimeshare",
537
   props: {
433
   props: {
434
+    weekParam: {},
538
     weekId: {
435
     weekId: {
539
       default: 0
436
       default: 0
540
     }
437
     }
545
       userLoggedIn: Log.isLoggedIn(),
442
       userLoggedIn: Log.isLoggedIn(),
546
       listedWeekId: this.$route.params.id,
443
       listedWeekId: this.$route.params.id,
547
       selectedItems: [],
444
       selectedItems: [],
445
+      selectedRegion: {},
446
+      selectedResort: {},
447
+      selectedSeason: {},
448
+      selectedBedrooms: {},
449
+      selectedMaxSleep: {},
450
+      selectedWeekType: {},
548
     };
451
     };
549
   },
452
   },
550
   components: {
453
   components: {
551
     addressAutoComplete,
454
     addressAutoComplete,
552
     Alert
455
     Alert
553
   },
456
   },
554
-  mounted() {
457
+  async mounted() {
555
     if (this.sellItem.id) {
458
     if (this.sellItem.id) {
556
       this.newSale();
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
     this.initTimeshare(0);
466
     this.initTimeshare(0);
559
     this.getIndividual(Log.getUser().id);
467
     this.getIndividual(Log.getUser().id);
560
     this.getBanks();
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
   created() {
476
   created() {
564
     this.initTimeshare(this.weekId);
477
     this.initTimeshare(this.weekId);
606
     isLoggedIn() {
519
     isLoggedIn() {
607
       return this.user && this.person;
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
   methods: {
523
   methods: {
631
     ...mapActions("individual", ["getIndividual"]),
524
     ...mapActions("individual", ["getIndividual"]),
632
     ...mapActions("timeshare", ["initTimeshare", "onResortChange", "saveWeek", "getBlankWeek"]),
525
     ...mapActions("timeshare", ["initTimeshare", "onResortChange", "saveWeek", "getBlankWeek"]),
633
     ...mapActions("payment", ["addPayment"]),
526
     ...mapActions("payment", ["addPayment"]),
634
     ...mapActions("bank", ["getBanks"]),
527
     ...mapActions("bank", ["getBanks"]),
635
-    ...mapActions("myWeeks", ["getItems", "getWeek"]),
528
+    ...mapActions("myWeeks", ["getItems", "getWeek", "editSave"]),
636
     newSale() {
529
     newSale() {
637
       this.weekId = 0;
530
       this.weekId = 0;
638
       this.getBlankWeek();
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
     resortChange() {
567
     resortChange() {
688
       this.onResortChange({
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
       } else {
576
       } else {
716
-        this.sellItem.mandateDate = undefined;
577
+        this.week.otherResortName = undefined;
578
+        this.week.otherResort = false;
717
       }
579
       }
718
     },
580
     },
719
     backToListView() {
581
     backToListView() {

+ 2
- 1
src/components/admin/status/timeshareAdminPage.vue Vedi File

182
       this.selectedItems = items;
182
       this.selectedItems = items;
183
     },
183
     },
184
     onEdit(item) {
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
     onClearSelected() {
188
     onClearSelected() {
188
       this.selectedItems = [];
189
       this.selectedItems = [];

+ 4
- 1
src/router/index.js Vedi File

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

+ 21
- 1
src/store/modules/timeshare/myWeeks.js Vedi File

13
     },
13
     },
14
     setItem(state, item) {
14
     setItem(state, item) {
15
       state.week = item;
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
   getters: {
30
   getters: {
19
     getNeedsVerify(state) {
31
     getNeedsVerify(state) {
59
       })
71
       })
60
       .catch(console.error);
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…
Annulla
Salva