Blame view

src/pages/Account/income.vue 24.3 KB
687e0b929   Neeraj Sharma   add user,attenden...
1
  <template>
68d742034   Neeraj Sharma   implement new des...
2
3
    <v-container fluid class="body-color">
      <!-- ****** EDIT Income DETAILS ****** -->
db965de89   Amber Dev   added dialog pers...
4
      <v-dialog v-model="editIncomeDialog" max-width="600px" scrollable persistent>
68d742034   Neeraj Sharma   implement new des...
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        <v-card flat class="card-style pa-2" dark>
          <v-layout>
            <v-flex xs12>
              <label class="title text-xs-center">Edit Income</label>
              <v-icon size="24" class="right" @click="editIncomeDialog = false">cancel</v-icon>
            </v-flex>
          </v-layout>
          <v-card-text>
            <v-layout>
              <v-flex
                xs12
                class="text-xs-center text-sm-center text-md-center text-lg-center my-4 mr-4"
              >
                <v-avatar size="160px">
                  <img src="/static/icon/user.png" v-if="!editedItem.fileUrl && !imageUrl" />
                  <img :src="editedItem.fileUrl" v-else-if="editedItem.fileUrl && !imageUrl" />
                  <img
                    v-if="imageUrl"
                    :src="imageUrl"
                    height="150"
                    style="border-radius:50%; width:200px"
                  />
                </v-avatar>
                <input
                  type="file"
                  style="display:none"
                  ref="image"
                  accept="image/*"
                  @change="onFilePicked"
                />
              </v-flex>
            </v-layout>
            <v-layout wrap>
              <v-flex xs12 sm12>
f4df757fe   Neeraj Sharma   responsive vie in...
39
                <v-layout>
68d742034   Neeraj Sharma   implement new des...
40
41
                  <v-flex xs4 class="pt-4 subheading">
                    <label class="right">Name:</label>
f4df757fe   Neeraj Sharma   responsive vie in...
42
                  </v-flex>
68d742034   Neeraj Sharma   implement new des...
43
44
45
46
47
48
49
50
                  <v-flex xs8 sm6 class="ml-3">
                    <v-text-field
                      v-model="editedItem.name"
                      placeholder="fill your full Name"
                      name="name"
                      type="text"
                      required
                    ></v-text-field>
f4df757fe   Neeraj Sharma   responsive vie in...
51
52
                  </v-flex>
                </v-layout>
68d742034   Neeraj Sharma   implement new des...
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
              </v-flex>
            </v-layout>
            <v-layout wrap>
              <v-flex xs12>
                <v-layout>
                  <v-flex xs4 class="pt-4 subheading">
                    <label class="right">Date:</label>
                  </v-flex>
                  <v-flex xs8 sm6 class="ml-3">
                    <v-menu
                      ref="menu"
                      :close-on-content-click="false"
                      v-model="menu3"
                      :nudge-right="40"
                      lazy
                      transition="scale-transition"
                      offset-y
                      full-width
                      min-width="290px"
                    >
                      <v-text-field
                        slot="activator"
                        v-model="editedItem.date"
                        placeholder="Select date"
                      ></v-text-field>
                      <v-date-picker
                        ref="picker"
                        v-model="editedItem.date"
                        @input="$refs.menu.save(editedItem.date)"
                      ></v-date-picker>
                    </v-menu>
f4df757fe   Neeraj Sharma   responsive vie in...
84
                  </v-flex>
68d742034   Neeraj Sharma   implement new des...
85
86
87
88
89
90
91
92
93
94
                </v-layout>
              </v-flex>
              <v-layout wrap>
                <v-flex xs12 sm12>
                  <v-layout>
                    <v-flex xs4 class="pt-4 subheading">
                      <label class="right">Amount:</label>
                    </v-flex>
                    <v-flex xs8 sm6 class="ml-3">
                      <v-text-field v-model="editedItem.amount" required></v-text-field>
f4df757fe   Neeraj Sharma   responsive vie in...
95
96
                    </v-flex>
                  </v-layout>
68d742034   Neeraj Sharma   implement new des...
97
98
99
100
101
102
103
                </v-flex>
              </v-layout>
              <v-flex xs12>
                <v-layout>
                  <v-flex xs4 class="pt-4 subheading">
                    <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label>
                    <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod:</label>
f4df757fe   Neeraj Sharma   responsive vie in...
104
                  </v-flex>
68d742034   Neeraj Sharma   implement new des...
105
106
107
108
109
110
111
                  <v-flex xs8 sm6 class="ml-3">
                    <v-text-field
                      label="Select Image"
                      @click="pickFile"
                      v-model="imageName"
                      append-icon="attach_file"
                    ></v-text-field>
d10c26632   Shikha Mishra   Improve updateBoo...
112
113
114
115
116
117
118
                    <input
                      type="file"
                      style="display:none"
                      ref="image"
                      accept="image/*"
                      @change="onFilePicked"
                    />
f4df757fe   Neeraj Sharma   responsive vie in...
119
120
                  </v-flex>
                </v-layout>
68d742034   Neeraj Sharma   implement new des...
121
122
              </v-flex>
              <v-flex xs12>
f4df757fe   Neeraj Sharma   responsive vie in...
123
                <v-layout>
68d742034   Neeraj Sharma   implement new des...
124
125
126
127
128
129
130
131
132
133
134
135
136
                  <v-flex xs4 class="pt-4 subheading">
                    <label class="right">Note:</label>
                  </v-flex>
                  <v-flex xs8 sm6 class="ml-3">
                    <v-textarea
                      name="input-7-1"
                      v-model="editedItem.note"
                      placeholder="fill your Note"
                      type="text"
                      :rules="noteRules"
                      multi-line
                      required
                    ></v-textarea>
f4df757fe   Neeraj Sharma   responsive vie in...
137
138
                  </v-flex>
                </v-layout>
68d742034   Neeraj Sharma   implement new des...
139
140
141
              </v-flex>
            </v-layout>
            <v-layout>
8e8d14254   Shikha Mishra   Cleared data whil...
142
              <v-flex xs12>
68d742034   Neeraj Sharma   implement new des...
143
144
145
146
147
148
149
150
151
152
                <v-card-actions>
                  <v-spacer></v-spacer>
                  <v-btn round dark :loading="loading" @click="save" class="add-button">Save</v-btn>
                  <v-spacer></v-spacer>
                </v-card-actions>
              </v-flex>
            </v-layout>
          </v-card-text>
        </v-card>
      </v-dialog>
687e0b929   Neeraj Sharma   add user,attenden...
153

68d742034   Neeraj Sharma   implement new des...
154
      <!-- ****** PROFILE VIEW INCOME DETAILS ******  -->
db965de89   Amber Dev   added dialog pers...
155
      <v-dialog v-model="profileIncomeDialog" max-width="400px" persistent>
68d742034   Neeraj Sharma   implement new des...
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
        <v-card flat class="card-style pa-3" dark>
          <v-layout>
            <v-flex xs12>
              <label class="title text-xs-center">View Income</label>
              <v-icon size="24" class="right" @click="profileIncomeDialog = false">cancel</v-icon>
            </v-flex>
          </v-layout>
          <v-card-text>
            <v-container grid-list-md>
              <v-layout wrap>
                <v-flex>
                  <v-flex align-center justify-center layout text-xs-center>
                    <v-avatar size="80px" v-if="!editedItem.fileUrl">
                      <img src="/static/icon/user.png" />
                    </v-avatar>
                    <img :src="editedItem.fileUrl" v-else-if="editedItem.fileUrl" width="150" />
                  </v-flex>
                  <v-layout>
                    <v-flex xs5 sm6>
                      <h5 class="right my-1">
                        <b>Name:</b>
                      </h5>
                    </v-flex>
                    <v-flex sm6 xs8>
                      <h5 class="my-1">{{ editedItem.name }}</h5>
687e0b929   Neeraj Sharma   add user,attenden...
181
182
                    </v-flex>
                  </v-layout>
68d742034   Neeraj Sharma   implement new des...
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
                  <v-layout>
                    <v-flex xs5 sm6>
                      <h5 class="right my-1">
                        <b>Amount:</b>
                      </h5>
                    </v-flex>
                    <v-flex sm6 xs8>
                      <h5 class="my-1">{{ editedItem.amount }}</h5>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs5 sm6>
                      <h5 class="right my-1">
                        <b>Date:</b>
                      </h5>
                    </v-flex>
                    <v-flex sm6 xs8>
                      <h5 class="my-1">{{ dates(editedItem.date) }}</h5>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs5 sm6>
                      <h5 class="right my-1">
                        <b>Note:</b>
                      </h5>
                    </v-flex>
                    <v-flex sm6 xs8>
                      <h5 class="my-1">{{ editedItem.note }}</h5>
                    </v-flex>
                  </v-layout>
                </v-flex>
              </v-layout>
            </v-container>
          </v-card-text>
        </v-card>
      </v-dialog>
      <!-- ****** EXISTING-EXPENSE TABLE DATA****** -->
687e0b929   Neeraj Sharma   add user,attenden...
220

68d742034   Neeraj Sharma   implement new des...
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
      <v-toolbar color="transparent" flat>
        <v-btn
          fab
          dark
          class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only"
          small
          @click="addIncomeDialog = true"
        >
          <v-icon dark>add</v-icon>
        </v-btn>
        <v-btn
          round
          class="open-dialog-button hidden-sm-only hidden-xs-only"
          dark
          @click="addIncomeDialog = true"
        >
          <v-icon class="white--text pr-1" size="20">add</v-icon>Add Income
        </v-btn>
        <v-spacer></v-spacer>
        <v-card-title class="body-1" v-show="show">
          <v-btn icon large flat @click="displaySearch">
            <v-avatar size="27">
aa310d61a   Shikha Mishra   added functionali...
243
              <img src="/static/icon/search.png" alt="icon" />
68d742034   Neeraj Sharma   implement new des...
244
245
246
            </v-avatar>
          </v-btn>
        </v-card-title>
612b79bb4   Amber Dev   made serch auto f...
247
        <v-flex xs8 sm8 md3 lg2 v-if="showSearch">
68d742034   Neeraj Sharma   implement new des...
248
          <v-layout>
8e8d14254   Shikha Mishra   Cleared data whil...
249
250
251
252
253
254
255
            <v-text-field
              autofocus
              v-model="search"
              label="Search"
              prepend-inner-icon="search"
              color="primary"
            ></v-text-field>
68d742034   Neeraj Sharma   implement new des...
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
            <v-icon @click="closeSearch" color="error">close</v-icon>
          </v-layout>
        </v-flex>
      </v-toolbar>
      <v-data-table
        :headers="headers"
        :items="incomeList"
        :pagination.sync="pagination"
        :search="search"
      >
        <template slot="items" slot-scope="props">
          <tr class="tr">
            <td class="text-xs-center td td-row">{{ props.index + 1}}</td>
            <td class="text-xs-center td td-row">
              <v-avatar class="40">
                <img :src="props.item.fileUrl" v-if="props.item.fileUrl" />
                <img src="/static/icon/user.png" v-else-if="!props.item.fileUrl" />
              </v-avatar>
            </td>
            <td class="text-xs-center td td-row">{{ props.item.name}}</td>
            <td class="text-xs-center td td-row">{{ dates(props.item.date) }}</td>
            <td class="text-xs-center td td-row">{{ props.item.user }}</td>
            <td class="text-xs-center td td-row">{{ props.item.amount }}</td>
            <td class="text-xs-center td td-row">{{ props.item.note }}</td>
            <td class="text-xs-center td td-row">
              <span>
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer; width:25px; height:25px; "
                    class="mr-3"
                    @click="profile(props.item)"
aa310d61a   Shikha Mishra   added functionali...
288
                    src="/static/icon/view.png"
68d742034   Neeraj Sharma   implement new des...
289
290
291
292
293
294
295
296
297
                  />
                  <span>View</span>
                </v-tooltip>
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer; width:20px; height:18px; "
                    class="mr-3"
                    @click="editItem(props.item)"
aa310d61a   Shikha Mishra   added functionali...
298
                    src="/static/icon/edit.png"
68d742034   Neeraj Sharma   implement new des...
299
300
301
302
303
304
305
306
                  />
                  <span>Edit</span>
                </v-tooltip>
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer; width:20px; height:20px; "
                    @click="deleteItem(props.item)"
aa310d61a   Shikha Mishra   added functionali...
307
                    src="/static/icon/delete.png"
68d742034   Neeraj Sharma   implement new des...
308
309
310
311
312
313
314
315
316
317
318
319
320
321
                  />
                  <span>Delete</span>
                </v-tooltip>
              </span>
            </td>
          </tr>
        </template>
        <v-alert
          slot="no-results"
          :value="true"
          color="error"
          icon="warning"
        >Your search for "{{ search }}" found no results.</v-alert>
      </v-data-table>
687e0b929   Neeraj Sharma   add user,attenden...
322

68d742034   Neeraj Sharma   implement new des...
323
      <!-- ****** Add Income Data****** -->
db965de89   Amber Dev   added dialog pers...
324
      <v-dialog v-model="addIncomeDialog" max-width="600px" v-if="addIncomeDialog" persistent>
68d742034   Neeraj Sharma   implement new des...
325
326
327
328
        <v-card flat class="card-style pa-2" dark>
          <v-layout>
            <v-flex xs12>
              <label class="title text-xs-center">Add Income</label>
8e8d14254   Shikha Mishra   Cleared data whil...
329
              <v-icon size="24" class="right" @click="closeAddIncomeModel">cancel</v-icon>
687e0b929   Neeraj Sharma   add user,attenden...
330
            </v-flex>
68d742034   Neeraj Sharma   implement new des...
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
          </v-layout>
          <v-form ref="form" v-model="valid" lazy-validation>
            <v-container fluid>
              <v-layout>
                <v-flex xs12 class="text-xs-center text-sm-center text-md-center text-lg-center">
                  <v-avatar size="80px">
                    <img src="/static/icon/user.png" v-if="!imageUrl" />
                  </v-avatar>
                  <img
                    :src="imageUrl"
                    height="150"
                    v-if="imageUrl"
                    style="border-radius:50%; width:200px"
                  />
                </v-flex>
              </v-layout>
              <v-layout>
                <v-flex xs12 sm12>
                  <v-layout>
                    <v-flex xs4 class="pt-4 subheading">
                      <label class="right">Name:</label>
                    </v-flex>
                    <v-flex xs8 sm6 class="ml-3">
                      <v-text-field
                        v-model="addIncome.name"
                        placeholder="fill your full Name"
                        name="name"
                        type="text"
                        :rules="nameRules"
                        required
                      ></v-text-field>
                    </v-flex>
                  </v-layout>
                </v-flex>
              </v-layout>
              <v-layout>
                <v-flex xs12 sm12>
                  <v-layout>
                    <v-flex xs4 class="pt-4 subheading">
                      <label class="right">Amount:</label>
                    </v-flex>
                    <v-flex xs8 sm6 class="ml-3">
                      <v-text-field
                        v-model="addIncome.amount"
                        placeholder="fill your Amount"
                        name="name"
                        type="text"
                        :rules="amountRules"
                        required
                      ></v-text-field>
                    </v-flex>
                  </v-layout>
                </v-flex>
              </v-layout>
              <v-layout>
                <v-flex xs12 sm12>
                  <v-layout>
                    <v-flex xs4 class="pt-4 subheading">
                      <label class="right">Date</label>
                    </v-flex>
                    <v-flex xs8 sm6 class="ml-3">
                      <v-menu
                        ref="menu1"
                        :close-on-content-click="false"
                        v-model="menu1"
                        :nudge-right="40"
                        lazy
                        transition="scale-transition"
                        offset-y
                        full-width
                        min-width="290px"
                      >
                        <v-text-field
                          slot="activator"
                          :rules="joinDateRules"
                          v-model="addIncome.date"
                          placeholder="Select date"
                        ></v-text-field>
                        <v-date-picker
                          ref="picker"
                          v-model="addIncome.date"
                          @input="$refs.menu1.save(addIncome.date)"
                        ></v-date-picker>
                      </v-menu>
                    </v-flex>
                  </v-layout>
                </v-flex>
              </v-layout>
              <v-layout>
                <v-flex xs12 sm12>
                  <v-layout>
                    <v-flex xs4 class="pt-4 subheading">
                      <label class="right">File:</label>
                    </v-flex>
                    <v-flex xs8 sm6 class="ml-3">
                      <v-text-field
                        label="Select file"
                        @click="pickFile"
                        v-model="imageName"
                        append-icon="attach_file"
                      ></v-text-field>
                      <input
                        type="file"
                        style="display:none"
                        ref="image"
                        accept="image/*"
                        @change="onFilePicked"
                      />
                    </v-flex>
                  </v-layout>
                </v-flex>
              </v-layout>
              <v-layout>
                <v-flex xs12 sm12>
                  <v-layout>
                    <v-flex xs4 class="pt-4 subheading">
                      <label class="right">Note:</label>
                    </v-flex>
                    <v-flex xs8 sm6 class="ml-3">
                      <v-textarea
                        name="input-7-1"
                        v-model="addIncome.note"
                        placeholder="fill your Note"
                        type="text"
68d742034   Neeraj Sharma   implement new des...
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
                        multi-line
                        required
                      ></v-textarea>
                    </v-flex>
                  </v-layout>
                </v-flex>
              </v-layout>
              <v-layout>
                <v-flex xs12 sm11>
                  <v-layout>
                    <v-spacer></v-spacer>
                    <v-btn @click="clear" round class="clear-button" dark>clear</v-btn>
                    <v-btn @click="submit" round dark :loading="loading" class="add-button">Add</v-btn>
                  </v-layout>
                </v-flex>
              </v-layout>
            </v-container>
          </v-form>
        </v-card>
      </v-dialog>
687e0b929   Neeraj Sharma   add user,attenden...
475
476
477
      <div class="loader" v-if="showLoader">
        <v-progress-circular indeterminate color="white"></v-progress-circular>
      </div>
68d742034   Neeraj Sharma   implement new des...
478
    </v-container>
687e0b929   Neeraj Sharma   add user,attenden...
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
  </template>
  
  <script>
  import http from "@/Services/http.js";
  import Util from "@/util";
  import moment from "moment";
  
  export default {
    data: () => ({
      component: "report-generate",
      snackbar: false,
      y: "top",
      x: "right",
      mode: "",
      timeout: 3000,
      text: "",
68d742034   Neeraj Sharma   implement new des...
495
496
      show: true,
      showSearch: false,
687e0b929   Neeraj Sharma   add user,attenden...
497
498
499
500
      showLoader: false,
      loading: false,
      date: null,
      search: "",
68d742034   Neeraj Sharma   implement new des...
501
      addIncomeDialog: false,
687e0b929   Neeraj Sharma   add user,attenden...
502
503
504
505
      menu: false,
      menu1: false,
      menu2: false,
      menu3: false,
68d742034   Neeraj Sharma   implement new des...
506
507
      editIncomeDialog: false,
      profileIncomeDialog: false,
687e0b929   Neeraj Sharma   add user,attenden...
508
      valid: true,
687e0b929   Neeraj Sharma   add user,attenden...
509
      pagination: {
8e8d14254   Shikha Mishra   Cleared data whil...
510
        rowsPerPage: 10,
687e0b929   Neeraj Sharma   add user,attenden...
511
512
513
514
515
      },
      imageData: {},
      imageName: "",
      imageUrl: "",
      imageFile: "",
8e8d14254   Shikha Mishra   Cleared data whil...
516
517
518
519
      nameRules: [(v) => !!v || " Full Name is required"],
      amountRules: [(v) => !!v || "Amount is required"],
      noteRules: [(v) => !!v || "Note Name is required"],
      joinDateRules: [(v) => !!v || "Date is required"],
687e0b929   Neeraj Sharma   add user,attenden...
520
521
522
523
      errorMessages: "",
      headers: [
        {
          text: "No",
68d742034   Neeraj Sharma   implement new des...
524
          align: "",
687e0b929   Neeraj Sharma   add user,attenden...
525
          sortable: false,
8e8d14254   Shikha Mishra   Cleared data whil...
526
          value: "No",
687e0b929   Neeraj Sharma   add user,attenden...
527
528
529
530
531
        },
        {
          text: "Profile Pic",
          value: "profilePicUrl",
          sortable: false,
8e8d14254   Shikha Mishra   Cleared data whil...
532
          align: "center",
687e0b929   Neeraj Sharma   add user,attenden...
533
534
535
536
537
538
        },
        { text: "Name", value: "name", sortable: false, align: "center" },
        { text: "Date", value: "date", sortable: false, align: "center" },
        { text: "User", value: "user", sortable: false, align: "center" },
        { text: "Amount", value: "amount", sortable: false, align: "center" },
        { text: "Note", value: "note", sortable: false, align: "center" },
8e8d14254   Shikha Mishra   Cleared data whil...
539
        { text: "Action", value: "", sortable: false, align: "center" },
687e0b929   Neeraj Sharma   add user,attenden...
540
541
542
543
544
      ],
      incomeList: [],
      editedIndex: -1,
      upload: "",
      editedItem: {},
8e8d14254   Shikha Mishra   Cleared data whil...
545
      addIncome: {},
687e0b929   Neeraj Sharma   add user,attenden...
546
547
548
549
550
551
552
    }),
    watch: {
      menu(val) {
        val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR"));
      },
      menu1(val) {
        val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR"));
8e8d14254   Shikha Mishra   Cleared data whil...
553
554
555
556
557
558
559
560
561
562
      },
      addIncomeDialog: function (val) {
        if (!val) {
          this.addIncome = [];
          this.menu1 = false;
          this.imageName = "";
          this.imageUrl = "";
          this.imageFile = "";
        }
      },
687e0b929   Neeraj Sharma   add user,attenden...
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
    },
    methods: {
      save(date) {
        this.$refs.menu.save(date);
      },
      save(date) {
        this.$refs.menu1.save(date);
      },
      pickFile() {
        this.$refs.image.click();
      },
      onFilePicked(e) {
        // console.log(e)
        const files = e.target.files;
        this.upload = e.target.files[0];
860da881d   Shikha Mishra   comment all consoles
578
        //   console.log("imageData-upload========>", this.upload);
687e0b929   Neeraj Sharma   add user,attenden...
579
580
581
582
583
584
585
586
587
588
589
590
        if (files[0] !== undefined) {
          this.imageName = files[0].name;
          if (this.imageName.lastIndexOf(".") <= 0) {
            return;
          }
          const fr = new FileReader();
          fr.readAsDataURL(files[0]);
          fr.addEventListener("load", () => {
            this.imageUrl = fr.result;
            this.imageFile = files[0]; // this is an image file that can be sent to server...
            // this.imageData.imageUrl = URL.createObjectURL(this.imageFile);
            // console.log("upload=======>", this.imageData.imageUrl);
860da881d   Shikha Mishra   comment all consoles
591
            //   console.log("imageFile", this.imageUrl);
687e0b929   Neeraj Sharma   add user,attenden...
592
593
594
595
596
597
598
          });
        } else {
          this.imageName = "";
          this.imageFile = "";
          this.imageUrl = "";
        }
      },
8e8d14254   Shikha Mishra   Cleared data whil...
599
      dates: function (date) {
687e0b929   Neeraj Sharma   add user,attenden...
600
601
602
603
604
605
606
        return moment(date).format("MMMM DD, YYYY");
      },
      getIncomeList() {
        this.showLoader = true;
        var token = this.$store.state.token;
        http()
          .get("/getIncomesList", {
99cd79184   Neeraj Sharma   implement all tas...
607
            params: { schoolId: this.$store.state.schoolId },
8e8d14254   Shikha Mishra   Cleared data whil...
608
            headers: { Authorization: "Bearer " + token },
687e0b929   Neeraj Sharma   add user,attenden...
609
          })
8e8d14254   Shikha Mishra   Cleared data whil...
610
          .then((response) => {
687e0b929   Neeraj Sharma   add user,attenden...
611
612
613
614
            this.incomeList = response.data.data;
            this.showLoader = false;
            // console.log("getTeacherList=====>",this.incomeList)
          })
8e8d14254   Shikha Mishra   Cleared data whil...
615
          .catch((error) => {
687e0b929   Neeraj Sharma   add user,attenden...
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
            this.showLoader = false;
            if (error.response.status === 401) {
              this.$router.replace({ path: "/" });
              this.$store.dispatch("setToken", null);
              this.$store.dispatch("Id", null);
            }
          });
      },
      editItem(item) {
        this.editedIndex = this.incomeList.indexOf(item);
        this.editedItem = Object.assign({}, item);
        this.editedItem.date =
          this.editedItem.date != undefined
            ? (this.editedItem.date = this.editedItem.date.substring(0, 10))
            : (this.editedItem.date = "");
68d742034   Neeraj Sharma   implement new des...
631
        this.editIncomeDialog = true;
687e0b929   Neeraj Sharma   add user,attenden...
632
633
634
635
      },
      profile(item) {
        this.editedIndex = this.incomeList.indexOf(item);
        this.editedItem = Object.assign({}, item);
68d742034   Neeraj Sharma   implement new des...
636
        this.profileIncomeDialog = true;
687e0b929   Neeraj Sharma   add user,attenden...
637
638
639
      },
      deleteItem(item) {
        let deleteIncome = {
8e8d14254   Shikha Mishra   Cleared data whil...
640
          incomeId: item._id,
687e0b929   Neeraj Sharma   add user,attenden...
641
642
643
644
645
        };
        http()
          .delete(
            "/deleteIncome",
            confirm("Are you sure you want to delete this?") && {
8e8d14254   Shikha Mishra   Cleared data whil...
646
              params: deleteIncome,
687e0b929   Neeraj Sharma   add user,attenden...
647
648
            }
          )
8e8d14254   Shikha Mishra   Cleared data whil...
649
          .then((response) => {
687e0b929   Neeraj Sharma   add user,attenden...
650
651
652
653
654
655
            // console.log("deleteUers",deleteTeachers)
            if ((this.snackbar = true)) {
              this.text = "Successfully delete Existing Income";
            }
            this.getIncomeList();
          })
8e8d14254   Shikha Mishra   Cleared data whil...
656
          .catch((error) => {
860da881d   Shikha Mishra   comment all consoles
657
            //   console.log(error);
687e0b929   Neeraj Sharma   add user,attenden...
658
659
          });
      },
687e0b929   Neeraj Sharma   add user,attenden...
660
      close() {
68d742034   Neeraj Sharma   implement new des...
661
        this.editIncomeDialog = false;
687e0b929   Neeraj Sharma   add user,attenden...
662
663
664
665
      },
      close1() {
        this.dialog1 = false;
      },
8e8d14254   Shikha Mishra   Cleared data whil...
666
667
668
669
670
671
672
673
      closeAddIncomeModel() {
        this.addIncomeDialog = false;
        this.addIncome = [];
        this.menu1 = false;
        this.imageName = "";
        this.imageUrl = "";
        this.imageFile = "";
      },
687e0b929   Neeraj Sharma   add user,attenden...
674
675
676
677
678
679
680
681
      submit() {
        if (this.$refs.form.validate()) {
          if (this.imageUrl) {
            var str = this.imageUrl;
            const [baseUrl, imageUrl] = str.split(/,/);
            this.addIncome.upload = imageUrl;
          }
          this.loading = true;
68d742034   Neeraj Sharma   implement new des...
682
          // this.addIncome = this.$store.state.schoolId;
687e0b929   Neeraj Sharma   add user,attenden...
683
684
          http()
            .post("/createIncome", this.addIncome)
8e8d14254   Shikha Mishra   Cleared data whil...
685
            .then((response) => {
687e0b929   Neeraj Sharma   add user,attenden...
686
              this.getIncomeList();
68d742034   Neeraj Sharma   implement new des...
687
688
689
690
              this.snackbar = true;
              this.text = response.data.message;
              this.color = "green";
              this.addIncomeDialog = false;
687e0b929   Neeraj Sharma   add user,attenden...
691
692
693
              this.clear();
              this.loading = false;
            })
8e8d14254   Shikha Mishra   Cleared data whil...
694
            .catch((error) => {
687e0b929   Neeraj Sharma   add user,attenden...
695
              // console.log(error);
687e0b929   Neeraj Sharma   add user,attenden...
696
              this.loading = false;
68d742034   Neeraj Sharma   implement new des...
697
698
699
              this.snackbar = true;
              this.color = "error";
              this.text = error.response.data.message;
687e0b929   Neeraj Sharma   add user,attenden...
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
            });
        }
      },
      clear() {
        this.$refs.form.reset();
      },
      save() {
        this.loading = true;
        this.editedItem.incomeId = this.editedItem._id;
        if (this.imageUrl) {
          var str = this.imageUrl;
          const [baseUrl, imageUrl] = str.split(/,/);
          this.editedItem.upload = imageUrl;
        }
        http()
          .put("/updateIncome", this.editedItem)
8e8d14254   Shikha Mishra   Cleared data whil...
716
          .then((response) => {
68d742034   Neeraj Sharma   implement new des...
717
718
719
            this.snackbar = true;
            this.text = response.data.message;
            this.color = "green";
687e0b929   Neeraj Sharma   add user,attenden...
720
721
722
723
            this.loading = false;
            this.getIncomeList();
            this.close();
          })
8e8d14254   Shikha Mishra   Cleared data whil...
724
          .catch((error) => {
68d742034   Neeraj Sharma   implement new des...
725
726
727
            this.loading = false;
            this.snackbar = true;
            this.color = "error";
687e0b929   Neeraj Sharma   add user,attenden...
728
729
            this.loading = false;
          });
68d742034   Neeraj Sharma   implement new des...
730
731
732
733
734
735
736
737
738
      },
  
      displaySearch() {
        (this.show = false), (this.showSearch = true);
      },
      closeSearch() {
        this.showSearch = false;
        this.show = true;
        this.search = "";
8e8d14254   Shikha Mishra   Cleared data whil...
739
      },
687e0b929   Neeraj Sharma   add user,attenden...
740
741
742
    },
    mounted() {
      this.getIncomeList();
8e8d14254   Shikha Mishra   Cleared data whil...
743
    },
687e0b929   Neeraj Sharma   add user,attenden...
744
  };
68d742034   Neeraj Sharma   implement new des...
745
  </script>