Blame view

src/pages/Account/invoice.vue 40.7 KB
687e0b929   Neeraj Sharma   add user,attenden...
1
  <template>
68d742034   Neeraj Sharma   implement new des...
2
    <v-container fluid class="body-color">
81d876b5d   Shikha Mishra   salary invoice de...
3
4
5
6
7
8
9
10
11
      <!-- ****** Edit INVOICE ****** -->
      <v-dialog v-model="editInvoiceDialog">
        <v-card flat class="text-xs-center white--text">
          <v-layout>
            <v-flex xs12 class="card-styles pa-2">
              <label class="title text-xs-center">Edit Invoice</label>
              <v-icon size="24" class="right white--text" @click="editInvoiceDialog = false">cancel</v-icon>
            </v-flex>
          </v-layout>
88868752b   Neeraj Sharma   solve bugs add in...
12
          <editInvoice :editData="editData" @update-editInvoice="updateDoneInvoice" />
81d876b5d   Shikha Mishra   salary invoice de...
13
14
15
16
17
18
19
20
21
22
23
24
        </v-card>
      </v-dialog>
  
      <!-- ****PAYMENT INVOICE DIALOG -->
      <v-dialog v-model="paymentInvoiceDialog">
        <v-card flat class="text-xs-center white--text">
          <v-layout>
            <v-flex xs12 class="card-styles pa-2">
              <label class="title text-xs-center">Payment Template</label>
              <v-icon size="24" class="right white--text" @click="paymentInvoiceDialog = false">cancel</v-icon>
            </v-flex>
          </v-layout>
e03bf1f92   Neeraj Sharma   solved bugs add i...
25
          <paymentTemplate :editPayment="editPayment" @update-Payment="updatePayment" />
81d876b5d   Shikha Mishra   salary invoice de...
26
27
28
29
        </v-card>
      </v-dialog>
  
      <!-- ****** PROFILE VIEW SECTION DATA ******  -->
c765369af   Neeraj Sharma   solve bugs
30

81d876b5d   Shikha Mishra   salary invoice de...
31
32
33
34
35
36
37
38
      <v-dialog v-model="dialog1" max-width="800px">
        <v-card flat class="text-xs-center white--text">
          <v-layout>
            <v-flex xs12 class="card-style pa-2">
              <label class="title text-xs-center">View Payments</label>
              <v-icon size="24" class="right" color="white" @click="dialog1 = false">cancel</v-icon>
            </v-flex>
          </v-layout>
c62132b75   Shikha Mishra   invoice,progress-...
39
          <table class="feeTypeTable tableRsponsive">
81d876b5d   Shikha Mishra   salary invoice de...
40
41
42
43
44
45
46
47
            <tr style="color: black">
              <th>#</th>
              <th>Date</th>
              <th>Paid By</th>
              <th>Payment Amount</th>
              <th>Weaver</th>
              <th>Action</th>
            </tr>
abce86599   Neeraj Sharma   testing sucess of...
48
            <tr v-if="editedItem.paymentStatus != 'NOT_PAID'">
b9759239c   Shikha Mishra   shown invoice det...
49
50
51
              <td style="width:40px ; color:black" class="tdFeeType">1</td>
              <td style="width:120px; color:black" class="tdFeeType">{{dates( editedItem.date) }}</td>
              <td style="width:120px; color:black" class="tdFeeType">{{ editedItem.paymentMethod }}</td>
b3860f8e6   Shikha Mishra   improve delete fu...
52
              <td style="width:120px; color:black" class="tdFeeType">{{ editedItem.totalPaidAmount }}</td>
b9759239c   Shikha Mishra   shown invoice det...
53
              <td style="width:120px; color:black" class="tdFeeType">{{ editedItem.totalDiscount}}</td>
81d876b5d   Shikha Mishra   salary invoice de...
54
55
56
57
              <td class="text-xs-center td td-row">
                <router-link
                  :to="{ name:'View Payment Invoice',params: { viewPaymentInvoiceId:editedItem._id } }"
                >
c62132b75   Shikha Mishra   invoice,progress-...
58
                  <v-tooltip top>
81d876b5d   Shikha Mishra   salary invoice de...
59
60
61
62
63
64
65
66
67
68
69
70
71
72
                    <img
                      slot="activator"
                      style="cursor:pointer; width:25px; height:25px; "
                      class="mr-3"
                      src="/static/icon/view.png"
                    />
                    <span>View</span>
                  </v-tooltip>
                </router-link>
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer;width:20px; height:20px; "
                    class="mr-3"
b3860f8e6   Shikha Mishra   improve delete fu...
73
                    @click="deletePayment(editedItem)"
81d876b5d   Shikha Mishra   salary invoice de...
74
75
76
77
78
79
                    src="/static/icon/delete.png"
                  />
                  <span>Delete</span>
                </v-tooltip>
              </td>
            </tr>
abce86599   Neeraj Sharma   testing sucess of...
80
81
82
83
84
85
86
87
            <tr v-if="editedItem.paymentStatus == 'NOT_PAID'">
              <td style="width:40px ; color:black" class="tdFeeType'">-</td>
              <td style="width:120px; color:black" class="tdFeeType">-</td>
              <td style="width:120px; color:black" class="tdFeeType">-</td>
              <td style="width:120px; color:black" class="tdFeeType">-</td>
              <td style="width:120px; color:black" class="tdFeeType">-</td>
              <td class="text-xs-center td td-row"></td>
            </tr>
b9759239c   Shikha Mishra   shown invoice det...
88
          </table>
68d742034   Neeraj Sharma   implement new des...
89
        </v-card>
81d876b5d   Shikha Mishra   salary invoice de...
90
      </v-dialog>
687e0b929   Neeraj Sharma   add user,attenden...
91

b9759239c   Shikha Mishra   shown invoice det...
92
      <!-- ****** Invoice Table ****** -->
68d742034   Neeraj Sharma   implement new des...
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
      <v-toolbar color="transparent" flat>
        <v-btn
          fab
          dark
          class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only"
          small
          @click="addInvoiceDialog = true"
        >
          <v-icon dark>add</v-icon>
        </v-btn>
        <v-btn
          round
          class="open-dialog-button hidden-sm-only hidden-xs-only"
          dark
          @click="addInvoiceDialog = true"
        >
          <v-icon class="white--text pr-1" size="20">add</v-icon>Add Invoice
        </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...
115
              <img src="/static/icon/search.png" alt="icon" />
68d742034   Neeraj Sharma   implement new des...
116
117
118
            </v-avatar>
          </v-btn>
        </v-card-title>
612b79bb4   Amber Dev   made serch auto f...
119
        <v-flex xs8 sm8 md3 lg2 v-if="showSearch">
68d742034   Neeraj Sharma   implement new des...
120
          <v-layout>
8e8d14254   Shikha Mishra   Cleared data whil...
121
122
123
124
125
126
127
            <v-text-field
              autofocus
              v-model="search"
              label="Search"
              prepend-inner-icon="search"
              color="primary"
            ></v-text-field>
68d742034   Neeraj Sharma   implement new des...
128
129
130
131
132
133
134
135
136
137
138
139
140
            <v-icon @click="closeSearch" color="error">close</v-icon>
          </v-layout>
        </v-flex>
      </v-toolbar>
      <v-data-table
        :headers="headers"
        :items="invoiceList"
        :pagination.sync="pagination"
        :search="search"
      >
        <template slot="items" slot-scope="props">
          <tr class="tr">
            <td class="td td-row">{{ props.index + 1 }}</td>
81d876b5d   Shikha Mishra   salary invoice de...
141
            <td class="text-xs-center td td-row">{{ props.item.studentId.name }}</td>
68d742034   Neeraj Sharma   implement new des...
142
143
            <td class="text-xs-center td td-row">{{ props.item.classId.classNum }}</td>
            <td class="text-xs-center td td-row">{{ props.item.totalAmount }}</td>
c62132b75   Shikha Mishra   invoice,progress-...
144
            <td class="text-xs-center td td-row">{{ props.item.totalDiscount}}</td>
68d742034   Neeraj Sharma   implement new des...
145
146
147
148
149
            <td
              class="text-xs-center td td-row"
            >{{ props.item.totalPaidAmount ? props.item.totalPaidAmount : 0}}</td>
            <td
              class="text-xs-center td td-row"
81d876b5d   Shikha Mishra   salary invoice de...
150
            >{{ props.item.totalPaidAmount ? props.item.totalSubTotal - props.item.totalPaidAmount : props.item.totalSubTotal }}</td>
68d742034   Neeraj Sharma   implement new des...
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
            <td class="text-xs-center td td-row" v-if="props.item.paymentStatus === 'NOT_PAID'">
              <span
                class="red lighten-1 py-1 px-2 white--text paymentStatus"
              >{{ props.item.paymentStatus }}</span>
            </td>
            <td class="text-xs-center td td-row" v-if="props.item.paymentStatus === 'FULLY_PAID'">
              <span
                class="green lighten-1 py-1 px-2 white--text paymentStatus"
              >{{ props.item.paymentStatus }}</span>
            </td>
            <td class="text-xs-center td td-row" v-if="props.item.paymentStatus === 'PARTIALLY_PAID'">
              <span
                class="yellow darken-3 py-1 px-2 white--text paymentStatus"
              >{{ props.item.paymentStatus }}</span>
            </td>
            <td class="text-xs-center td td-row">{{ dates(props.item.date) }}</td>
            <td class="text-xs-center td td-row">
aa310d61a   Shikha Mishra   added functionali...
168
              <router-link :to="{ name:'View Invoice',params: { viewInvoiceId:props.item._id } }">
68d742034   Neeraj Sharma   implement new des...
169
170
171
172
173
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer; width:25px; height:25px; "
                    class="mr-3"
aa310d61a   Shikha Mishra   added functionali...
174
                    src="/static/icon/view.png"
68d742034   Neeraj Sharma   implement new des...
175
176
177
178
179
                  />
                  <span>View</span>
                </v-tooltip>
              </router-link>
              <span v-if="props.item.paymentStatus === 'NOT_PAID'">
c62132b75   Shikha Mishra   invoice,progress-...
180
181
182
183
184
185
186
187
188
189
190
191
                <!-- <router-link :to="{ name: 'Edit Invoice',params: { invoiceid: editData._id } }">
                  <v-tooltip top>
                    <img
                      slot="activator"
                      style="cursor:pointer; width:20px; height:18px; "
                      class="mr-3"
                      @click="editItem(props.item)"
                      src="/static/icon/edit.png"
                    />
                    <span>Edit</span>
                  </v-tooltip>
                </router-link>-->
81d876b5d   Shikha Mishra   salary invoice de...
192
193
194
195
196
197
198
199
200
201
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer; width:20px; height:18px; "
                    class="mr-3"
                    @click="editItem(props.item)"
                    src="/static/icon/edit.png"
                  />
                  <span>Edit</span>
                </v-tooltip>
68d742034   Neeraj Sharma   implement new des...
202
203
204
205
206
207
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer;width:20px; height:20px; "
                    class="mr-3"
                    @click="deleteItem(props.item)"
aa310d61a   Shikha Mishra   added functionali...
208
                    src="/static/icon/delete.png"
68d742034   Neeraj Sharma   implement new des...
209
210
211
                  />
                  <span>Delete</span>
                </v-tooltip>
81d876b5d   Shikha Mishra   salary invoice de...
212
213
214
215
216
217
218
219
220
221
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer; width:20px; height:18px; "
                    class="mr-3"
                    @click="paymentItem(props.item)"
                    src="/static/schoolIcons/Account.png"
                  />
                  <span>Payment</span>
                </v-tooltip>
68d742034   Neeraj Sharma   implement new des...
222
              </span>
81d876b5d   Shikha Mishra   salary invoice de...
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
              <span v-if="props.item.paymentStatus === 'PARTIALLY_PAID'">
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer; width:20px; height:18px; "
                    class="mr-3"
                    @click="paymentItem(props.item)"
                    src="/static/schoolIcons/Account.png"
                  />
                  <span>Payment</span>
                </v-tooltip>
              </span>
              <v-tooltip top>
                <img
                  slot="activator"
ff30cbe86   Neeraj Sharma   remove discount p...
238
                  style="cursor:pointer; width:18px; height:17px;"
81d876b5d   Shikha Mishra   salary invoice de...
239
240
241
242
243
                  @click="profile(props.item)"
                  src="/static/icon/eye1.png"
                />
                <span>View Payment</span>
              </v-tooltip>
68d742034   Neeraj Sharma   implement new des...
244
245
246
247
248
249
250
251
252
253
            </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>
b9759239c   Shikha Mishra   shown invoice det...
254

68d742034   Neeraj Sharma   implement new des...
255
      <!-- ****** ADD INVOICE ****** -->
81d876b5d   Shikha Mishra   salary invoice de...
256
257
258
259
260
261
262
263
      <v-snackbar
        :timeout="timeout"
        :top="y === 'top'"
        :right="x === 'right'"
        :vertical="mode === 'vertical'"
        v-model="snackbar"
        :color="color"
      >{{ text }}</v-snackbar>
8e8d14254   Shikha Mishra   Cleared data whil...
264
      <v-dialog v-model="addInvoiceDialog" v-if="addInvoiceDialog">
68d742034   Neeraj Sharma   implement new des...
265
266
        <v-card flat class="text-xs-center white--text">
          <v-layout>
81d876b5d   Shikha Mishra   salary invoice de...
267
268
            <v-flex xs12 class="card-styles pa-2">
              <label class="title text-xs-center">Add Invoice</label>
8e8d14254   Shikha Mishra   Cleared data whil...
269
              <v-icon size="24" class="right white--text" @click="closeAddInvoiceModel">cancel</v-icon>
68d742034   Neeraj Sharma   implement new des...
270
271
272
273
274
275
276
277
278
            </v-flex>
          </v-layout>
          <v-flex xs12 sm12>
            <v-container fluid grid-list-md>
              <v-layout wrap>
                <v-flex xs12 sm12 md5>
                  <v-card flat>
                    <v-toolbar dark class="card-styles" flat>
                      <v-spacer></v-spacer>
81d876b5d   Shikha Mishra   salary invoice de...
279
                      <h3>Invoice</h3>
68d742034   Neeraj Sharma   implement new des...
280
281
282
                      <v-spacer></v-spacer>
                    </v-toolbar>
                    <v-form ref="form" v-model="valid" lazy-validation class="py-4">
687e0b929   Neeraj Sharma   add user,attenden...
283
                      <v-layout>
68d742034   Neeraj Sharma   implement new des...
284
285
286
                        <v-flex xs4 class="pt-4 subheading">
                          <label class="right hidden-xs-only hidden-sm-only">Select Class:</label>
                          <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Class:</label>
687e0b929   Neeraj Sharma   add user,attenden...
287
                        </v-flex>
68d742034   Neeraj Sharma   implement new des...
288
289
290
291
292
293
294
295
296
297
298
                        <v-flex xs6 class="ml-3">
                          <v-select
                            :items="addclass"
                            label="Select Class"
                            v-model="invoiceData.classNum"
                            item-text="classNum"
                            item-value="_id"
                            @change="getAllStudents()"
                            :rules="classRules"
                            required
                          ></v-select>
687e0b929   Neeraj Sharma   add user,attenden...
299
300
301
                        </v-flex>
                      </v-layout>
                      <v-layout>
68d742034   Neeraj Sharma   implement new des...
302
303
304
                        <v-flex xs4 class="pt-4 subheading">
                          <label class="right hidden-xs-only hidden-sm-only">Select Student:</label>
                          <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Student:</label>
687e0b929   Neeraj Sharma   add user,attenden...
305
                        </v-flex>
68d742034   Neeraj Sharma   implement new des...
306
307
308
309
310
311
312
313
314
315
316
                        <v-flex xs6 class="ml-3">
                          <v-select
                            :items="studentList"
                            label="Select Student"
                            v-model="invoiceData.studentId"
                            item-text="name"
                            item-value="_id"
                            :rules="inchargeRules"
                            @change="selectAllStudent()"
                            required
                          ></v-select>
687e0b929   Neeraj Sharma   add user,attenden...
317
318
319
                        </v-flex>
                      </v-layout>
                      <v-layout>
68d742034   Neeraj Sharma   implement new des...
320
321
                        <v-flex xs4 class="pt-4 subheading">
                          <label class="right">Date:</label>
687e0b929   Neeraj Sharma   add user,attenden...
322
                        </v-flex>
68d742034   Neeraj Sharma   implement new des...
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
                        <v-flex xs6 class="ml-3">
                          <v-menu
                            ref="menu1"
                            :close-on-content-click="false"
                            v-model="menu1"
                            :nudge-right="40"
                            lazy
                            :return-value.sync="invoiceData.date"
                            transition="scale-transition"
                            offset-y
                            full-width
                            min-width="290px"
                          >
                            <v-text-field
                              slot="activator"
                              :rules="dateRules"
                              v-model="invoiceData.date"
                              placeholder="Select date"
                            ></v-text-field>
                            <v-date-picker
                              v-model="invoiceData.date"
                              @input="$refs.menu1.save(invoiceData.date)"
                            ></v-date-picker>
                          </v-menu>
687e0b929   Neeraj Sharma   add user,attenden...
347
348
349
                        </v-flex>
                      </v-layout>
                      <v-layout>
68d742034   Neeraj Sharma   implement new des...
350
351
352
                        <v-flex xs4 class="pt-4 subheading">
                          <label class="right hidden-xs-only hidden-sm-only">Payment Status:</label>
                          <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Payment:</label>
687e0b929   Neeraj Sharma   add user,attenden...
353
                        </v-flex>
68d742034   Neeraj Sharma   implement new des...
354
355
356
357
358
359
360
361
362
363
364
                        <v-flex xs6 class="ml-3">
                          <v-select
                            :items="paymentStatus"
                            v-model="invoiceData.paymentStatus"
                            item-text="name"
                            item-value="value"
                            label="Select Payment Status"
                            @change="getPayMethodList"
                            :rules="paymentStatusRules"
                            required
                          ></v-select>
687e0b929   Neeraj Sharma   add user,attenden...
365
366
                        </v-flex>
                      </v-layout>
68d742034   Neeraj Sharma   implement new des...
367
368
369
                      <v-layout v-show="showPayMethods">
                        <v-flex xs4 class="pt-4 subheading">
                          <label class="right">Payment Method:</label>
687e0b929   Neeraj Sharma   add user,attenden...
370
                        </v-flex>
68d742034   Neeraj Sharma   implement new des...
371
                        <v-flex xs6 class="ml-3">
687e0b929   Neeraj Sharma   add user,attenden...
372
                          <v-select
68d742034   Neeraj Sharma   implement new des...
373
374
                            :items="paymentMethods"
                            v-model="invoiceData.paymentMethod"
728b5d417   Neeraj Sharma   solve bugs in add...
375
                            :rules="paymentMethodRules"
68d742034   Neeraj Sharma   implement new des...
376
377
                            label="Select Payment Method"
                            required
687e0b929   Neeraj Sharma   add user,attenden...
378
379
                          ></v-select>
                        </v-flex>
68d742034   Neeraj Sharma   implement new des...
380
381
382
383
384
385
                      </v-layout>
                      <v-layout>
                        <v-flex xs12 sm11>
                          <v-card-actions>
                            <v-spacer></v-spacer>
                            <v-btn @click="clear" round dark class="clear-button">clear</v-btn>
81d876b5d   Shikha Mishra   salary invoice de...
386
387
388
389
390
391
392
                            <v-btn
                              @click="submit"
                              round
                              dark
                              :loading="loading"
                              class="add-button"
                            >Add</v-btn>
68d742034   Neeraj Sharma   implement new des...
393
                          </v-card-actions>
687e0b929   Neeraj Sharma   add user,attenden...
394
395
                        </v-flex>
                      </v-layout>
68d742034   Neeraj Sharma   implement new des...
396
397
398
399
400
                    </v-form>
                  </v-card>
                </v-flex>
                <v-flex xs12 sm12 md7>
                  <v-card>
81d876b5d   Shikha Mishra   salary invoice de...
401
                    <v-toolbar dark class="card-styles" flat>
68d742034   Neeraj Sharma   implement new des...
402
                      <v-spacer></v-spacer>
81d876b5d   Shikha Mishra   salary invoice de...
403
                      <h3>Fee Type List</h3>
68d742034   Neeraj Sharma   implement new des...
404
405
406
407
                      <v-spacer></v-spacer>
                    </v-toolbar>
                    <v-layout>
                      <v-flex xs4 sm2 class="mt-4 hidden-xs-only hidden-sm-only">
81d876b5d   Shikha Mishra   salary invoice de...
408
                        <label class="right title">Fee Type:</label>
68d742034   Neeraj Sharma   implement new des...
409
410
411
412
413
414
415
416
                      </v-flex>
                      <v-flex xs8 sm4>
                        <v-select
                          :items="feeTypes"
                          v-model="feeType.feeTypeName"
                          item-text="feeType"
                          item-value="feeType"
                          label="Select Fee Type"
81d876b5d   Shikha Mishra   salary invoice de...
417
                          required
68d742034   Neeraj Sharma   implement new des...
418
419
420
                        ></v-select>
                      </v-flex>
                      <v-flex xs4 sm6>
81d876b5d   Shikha Mishra   salary invoice de...
421
422
423
424
425
426
427
                        <v-btn
                          color="open-dialog-button"
                          round
                          dark
                          class="right mt-3"
                          @click="selectFeeType"
                        >ADD</v-btn>
68d742034   Neeraj Sharma   implement new des...
428
429
430
431
432
433
434
                      </v-flex>
                    </v-layout>
                    <table class="feeTypeTable tableRsponsive">
                      <tr class="info white--text">
                        <th>#</th>
                        <th>Fee Type</th>
                        <th>Amount</th>
ff30cbe86   Neeraj Sharma   remove discount p...
435
                        <th>Discount</th>
68d742034   Neeraj Sharma   implement new des...
436
437
438
439
440
441
442
443
444
445
446
                        <th>Subtotal</th>
                        <th>Paid Amount</th>
                        <th>Action</th>
                      </tr>
                      <tr
                        v-show="showFeeType"
                        v-for="(feeType, index) in feeTypeData"
                        :key="index"
                        v-on:keyup="getAmmountDetails(feeType)"
                      >
                        <td style="width:40px" class="tdFeeType">{{ index + 1 }}</td>
81d876b5d   Shikha Mishra   salary invoice de...
447
448
449
450
451
                        <td
                          style="width:120px"
                          class="tdFeeType"
                          :rules="feeTypeNameRules"
                        >{{ feeType.feeTypeName }}</td>
68d742034   Neeraj Sharma   implement new des...
452
453
454
455
456
                        <td class="tdFeeType">
                          <v-text-field
                            placeholder="fill your Amount"
                            v-model="feeType.amount"
                            type="number"
81d876b5d   Shikha Mishra   salary invoice de...
457
458
                            :rules="amountRules"
                            required
68d742034   Neeraj Sharma   implement new des...
459
460
461
462
463
464
465
                          ></v-text-field>
                        </td>
                        <td class="tdFeeType">
                          <v-text-field
                            placeholder="fill your Discount"
                            v-model="feeType.discount"
                            type="number"
81d876b5d   Shikha Mishra   salary invoice de...
466
467
                            :rules="discountRules"
                            required
68d742034   Neeraj Sharma   implement new des...
468
469
                          ></v-text-field>
                        </td>
81d876b5d   Shikha Mishra   salary invoice de...
470
471
                        <td class="tdFeeType" :rules="subtotalRules">{{ feeType.subTotal }}</td>
                        <td class="tdFeeType" v-if="invoiceData.paymentStatus === 'NOT_PAID'">
68d742034   Neeraj Sharma   implement new des...
472
473
474
475
476
477
                          <v-text-field
                            placeholder="fill your Paid Amount"
                            v-model="feeType.paidAmount"
                            type="number"
                            :disabled="disabled"
                          ></v-text-field>
81d876b5d   Shikha Mishra   salary invoice de...
478
                        </td>
68d742034   Neeraj Sharma   implement new des...
479
480
481
482
483
484
485
486
487
488
489
                        <td class="tdFeeType" v-if="invoiceData.paymentStatus == ''">
                          <v-text-field
                            placeholder="fill your Paid Amount"
                            v-model="feeType.paidAmount"
                            type="number"
                            :disabled="disabled"
                          ></v-text-field>
                        </td>
                        <td
                          class="tdFeeType"
                          v-if="invoiceData.paymentStatus != 'NOT_PAID' && invoiceData.paymentStatus != ''"
687e0b929   Neeraj Sharma   add user,attenden...
490
                        >
68d742034   Neeraj Sharma   implement new des...
491
492
493
494
495
496
497
                          <v-text-field
                            placeholder="fill your Paid Amount"
                            v-model="feeType.paidAmount"
                            type="number"
                          ></v-text-field>
                        </td>
                        <td class="tdFeeType">
11f495070   Neeraj Sharma   all solve bugs ed...
498
                          <v-icon color="error" @click="deleteSelectFee(index,feeType)">delete</v-icon>
68d742034   Neeraj Sharma   implement new des...
499
500
501
502
503
                        </td>
                      </tr>
                      <tfoot>
                        <tr>
                          <td colspan="2" class="tdFeeType">Total:</td>
b9759239c   Shikha Mishra   shown invoice det...
504
505
506
507
                          <td class="tdFeeType">{{ feeType.amount }}</td>
                          <td class="tdFeeType">{{ feeType.discount }}</td>
                          <td class="tdFeeType">{{ feeType.subTotal }}</td>
                          <td class="tdFeeType">{{ feeType.paidAmount }}</td>
11f495070   Neeraj Sharma   all solve bugs ed...
508
                          <!-- <td class="tdFeeType">
81d876b5d   Shikha Mishra   salary invoice de...
509
                            <v-icon color="error" @click="deleteSelectFee(index)">delete</v-icon>
11f495070   Neeraj Sharma   all solve bugs ed...
510
                          </td>-->
687e0b929   Neeraj Sharma   add user,attenden...
511
                        </tr>
68d742034   Neeraj Sharma   implement new des...
512
513
514
515
516
517
518
519
520
                      </tfoot>
                    </table>
                  </v-card>
                </v-flex>
              </v-layout>
            </v-container>
          </v-flex>
        </v-card>
      </v-dialog>
687e0b929   Neeraj Sharma   add user,attenden...
521
522
523
      <div class="loader" v-if="showLoader">
        <v-progress-circular indeterminate color="white"></v-progress-circular>
      </div>
68d742034   Neeraj Sharma   implement new des...
524
    </v-container>
687e0b929   Neeraj Sharma   add user,attenden...
525
526
527
528
  </template>
  
  <script>
  import http from "@/Services/http.js";
88868752b   Neeraj Sharma   solve bugs add in...
529
  import editInvoice from "./editInvoice";
3e79b2f9f   Neeraj Sharma   implement functio...
530
  import paymentTemplate from "./paymentTemplate.vue";
687e0b929   Neeraj Sharma   add user,attenden...
531
532
533
  import moment from "moment";
  
  export default {
88868752b   Neeraj Sharma   solve bugs add in...
534
    components: {
3e79b2f9f   Neeraj Sharma   implement functio...
535
      editInvoice: editInvoice,
8e8d14254   Shikha Mishra   Cleared data whil...
536
      paymentTemplate: paymentTemplate,
88868752b   Neeraj Sharma   solve bugs add in...
537
    },
687e0b929   Neeraj Sharma   add user,attenden...
538
539
540
541
542
543
    data: () => ({
      snackbar: false,
      showPayMethods: false,
      y: "top",
      x: "right",
      mode: "",
d9bb52b5b   Neeraj Sharma   implement trello ...
544
      timeout: 5000,
687e0b929   Neeraj Sharma   add user,attenden...
545
      text: "",
d9bb52b5b   Neeraj Sharma   implement trello ...
546
      color: "",
68d742034   Neeraj Sharma   implement new des...
547
548
      show: true,
      showSearch: false,
687e0b929   Neeraj Sharma   add user,attenden...
549
550
551
552
553
554
555
556
557
558
      showLoader: false,
      loading: false,
      date: null,
      search: "",
      dialog: false,
      dialog1: false,
      valid: true,
      validEdit: true,
      isActive: true,
      newActive: false,
b9759239c   Shikha Mishra   shown invoice det...
559
      showFeeType: true,
68d742034   Neeraj Sharma   implement new des...
560
      addInvoiceDialog: false,
81d876b5d   Shikha Mishra   salary invoice de...
561
562
      editInvoiceDialog: false,
      paymentInvoiceDialog: false,
687e0b929   Neeraj Sharma   add user,attenden...
563
564
565
      disabled: true,
      details: [],
      feeTypes: [],
81d876b5d   Shikha Mishra   salary invoice de...
566
      invoiceData: [],
879451281   Shikha Mishra   improve update in...
567
      editData: [],
b9759239c   Shikha Mishra   shown invoice det...
568
      invoiceList: [],
879451281   Shikha Mishra   improve update in...
569
570
      editPayment: {
        studentId: {
c62132b75   Shikha Mishra   invoice,progress-...
571
          name: "",
8e8d14254   Shikha Mishra   Cleared data whil...
572
          rollNo: "",
879451281   Shikha Mishra   improve update in...
573
574
        },
        classId: {
8e8d14254   Shikha Mishra   Cleared data whil...
575
576
          classNum: "",
        },
879451281   Shikha Mishra   improve update in...
577
      },
687e0b929   Neeraj Sharma   add user,attenden...
578
579
580
581
582
      menu1: false,
      paymentMethods: ["Cash", "Cheque"],
      feeType: {
        amount: "0.00",
        discount: "0.00",
687e0b929   Neeraj Sharma   add user,attenden...
583
        subTotal: "0.00",
6df6faccd   Rishav Singla   design changes
584
        paidAmount: "0.00",
8e8d14254   Shikha Mishra   Cleared data whil...
585
        feeTypeName: "",
687e0b929   Neeraj Sharma   add user,attenden...
586
      },
c62132b75   Shikha Mishra   invoice,progress-...
587

687e0b929   Neeraj Sharma   add user,attenden...
588
      feeTypeData: [],
88868752b   Neeraj Sharma   solve bugs add in...
589
590
      editFeeTypeData: [],
      paymentFeeTypeData: [],
687e0b929   Neeraj Sharma   add user,attenden...
591
      pagination: {
8e8d14254   Shikha Mishra   Cleared data whil...
592
        rowsPerPage: 10,
687e0b929   Neeraj Sharma   add user,attenden...
593
      },
8e8d14254   Shikha Mishra   Cleared data whil...
594
595
596
597
598
599
600
601
602
603
604
605
      classRules: [(v) => !!v || " Class Name is required"],
      inchargeRules: [(v) => !!v || "Student Name is required"],
      dateRules: [(v) => !!v || " Date is required"],
      paymentStatusRules: [(v) => !!v || "Payment Status is required"],
      paymentMethodsRules: [(v) => !!v || "payment Method is required"],
      feeTypeRules: [(v) => !!v || "Fee Type  is required"],
      feeTypeNameRules: [(v) => !!v || "Fee Type Name is required"],
      amountRules: [(v) => !!v || "Amount is required"],
      discountRules: [(v) => !!v || "Discount is required"],
      subtotalRules: [(v) => !!v || "Subtotal is required"],
      paymentRules: [(v) => !!v || "Payment is required"],
      paidAmountRules: [(v) => !!v || "Paid Amount is required"],
728b5d417   Neeraj Sharma   solve bugs in add...
606
      paymentMethodRules: [],
687e0b929   Neeraj Sharma   add user,attenden...
607
608
609
      headers: [
        {
          text: "No",
68d742034   Neeraj Sharma   implement new des...
610
          align: "",
687e0b929   Neeraj Sharma   add user,attenden...
611
          sortable: false,
8e8d14254   Shikha Mishra   Cleared data whil...
612
          value: "No",
687e0b929   Neeraj Sharma   add user,attenden...
613
        },
81d876b5d   Shikha Mishra   salary invoice de...
614
615
616
617
        {
          text: "Student",
          value: "name",
          sortable: false,
8e8d14254   Shikha Mishra   Cleared data whil...
618
          align: "center",
81d876b5d   Shikha Mishra   salary invoice de...
619
        },
687e0b929   Neeraj Sharma   add user,attenden...
620
621
        { text: "Class", value: "class", sortable: false, align: "center" },
        { text: "Total", value: "subtotal", sortable: false, align: "center" },
c62132b75   Shikha Mishra   invoice,progress-...
622
        {
ff30cbe86   Neeraj Sharma   remove discount p...
623
          text: "Discount",
c62132b75   Shikha Mishra   invoice,progress-...
624
625
          value: "discount",
          sortable: false,
8e8d14254   Shikha Mishra   Cleared data whil...
626
          align: "center",
c62132b75   Shikha Mishra   invoice,progress-...
627
        },
687e0b929   Neeraj Sharma   add user,attenden...
628
629
630
631
        {
          text: "Paid Amount",
          value: "paidAmount",
          sortable: false,
8e8d14254   Shikha Mishra   Cleared data whil...
632
          align: "center",
687e0b929   Neeraj Sharma   add user,attenden...
633
634
635
636
637
        },
        {
          text: "Balance",
          value: "Balance",
          sortable: false,
8e8d14254   Shikha Mishra   Cleared data whil...
638
          align: "center",
687e0b929   Neeraj Sharma   add user,attenden...
639
640
641
642
643
        },
        {
          text: "Status",
          value: "paymentStatus",
          sortable: false,
8e8d14254   Shikha Mishra   Cleared data whil...
644
          align: "center",
687e0b929   Neeraj Sharma   add user,attenden...
645
646
647
648
649
        },
        {
          text: "Date",
          value: "date",
          sortable: false,
8e8d14254   Shikha Mishra   Cleared data whil...
650
          align: "center",
687e0b929   Neeraj Sharma   add user,attenden...
651
        },
8e8d14254   Shikha Mishra   Cleared data whil...
652
        { text: "Action", value: "", sortable: false, align: "center" },
687e0b929   Neeraj Sharma   add user,attenden...
653
      ],
b9759239c   Shikha Mishra   shown invoice det...
654

81d876b5d   Shikha Mishra   salary invoice de...
655
      studentId: {
8e8d14254   Shikha Mishra   Cleared data whil...
656
        name: "",
81d876b5d   Shikha Mishra   salary invoice de...
657
      },
687e0b929   Neeraj Sharma   add user,attenden...
658
659
660
      token: "",
      editedItem: {},
      invoiceData: {
d45ffc6fa   Neeraj Sharma   solve bugs and ad...
661
        paymentStatus: "",
8e8d14254   Shikha Mishra   Cleared data whil...
662
        students: [],
687e0b929   Neeraj Sharma   add user,attenden...
663
664
665
666
667
668
      },
      addclass: [],
      studentList: [],
      paymentStatus: [
        {
          name: "Not Paid",
8e8d14254   Shikha Mishra   Cleared data whil...
669
          value: "NOT_PAID",
687e0b929   Neeraj Sharma   add user,attenden...
670
671
672
        },
        {
          name: "Partially Paid",
8e8d14254   Shikha Mishra   Cleared data whil...
673
          value: "PARTIALLY_PAID",
687e0b929   Neeraj Sharma   add user,attenden...
674
675
676
        },
        {
          name: "Fully Paid",
8e8d14254   Shikha Mishra   Cleared data whil...
677
678
679
          value: "FULLY_PAID",
        },
      ],
687e0b929   Neeraj Sharma   add user,attenden...
680
    }),
8e8d14254   Shikha Mishra   Cleared data whil...
681
682
683
684
685
686
687
688
689
690
    watch: {
      addInvoiceDialog: function (val) {
        if (!val) {
          this.invoiceData = [];
          this.menu1 = false;
          this.feeType = [];
          this.feeTypeData = [];
        }
      },
    },
687e0b929   Neeraj Sharma   add user,attenden...
691
692
693
694
    methods: {
      save(date) {
        this.$refs.menu1.save(date);
      },
8e8d14254   Shikha Mishra   Cleared data whil...
695
      dates: function (date) {
687e0b929   Neeraj Sharma   add user,attenden...
696
697
        return moment(date).format("MMMM DD, YYYY");
      },
81d876b5d   Shikha Mishra   salary invoice de...
698
      profile(item) {
b9759239c   Shikha Mishra   shown invoice det...
699
        // console.log("item", item);
81d876b5d   Shikha Mishra   salary invoice de...
700
        this.editedIndex = this.invoiceList.indexOf(item);
da153da77   Neeraj Sharma   solved issued vie...
701
        this.editedItem = Object.assign({}, item);
88868752b   Neeraj Sharma   solve bugs add in...
702
        console.log("editedItem", this.editedItem);
81d876b5d   Shikha Mishra   salary invoice de...
703
704
705
706
        this.dialog1 = true;
      },
      editItem(item) {
        this.editedIndex = this.invoiceList.indexOf(item);
879451281   Shikha Mishra   improve update in...
707
        this.editData = Object.assign({}, item);
88868752b   Neeraj Sharma   solve bugs add in...
708
709
710
        this.editData.date = this.editData.date.slice(0, 10);
        // console.log("invoiceData", this.editData);
        this.editFeeTypeData = this.editData.feeType;
81d876b5d   Shikha Mishra   salary invoice de...
711
712
713
        this.editInvoiceDialog = true;
      },
      paymentItem(item) {
879451281   Shikha Mishra   improve update in...
714
        // console.log("item", item);
81d876b5d   Shikha Mishra   salary invoice de...
715
        this.editedIndex = this.invoiceList.indexOf(item);
b9759239c   Shikha Mishra   shown invoice det...
716
        this.editPayment = Object.assign({}, item);
3e79b2f9f   Neeraj Sharma   implement functio...
717
        this.editPayment.date = this.editPayment.date.slice(0, 10);
c765369af   Neeraj Sharma   solve bugs
718
719
720
721
722
723
        if (this.editPayment.paymentStatus == "NOT_PAID") {
          for (let i = 0; i < this.editPayment.feeType.length; i++) {
            this.editPayment.feeType[i].paidAmount = "0.00";
          }
        }
        // console.log("this.editPayment", this.editPayment);
88868752b   Neeraj Sharma   solve bugs add in...
724
        this.paymentFeeTypeData = this.editPayment.feeType;
81d876b5d   Shikha Mishra   salary invoice de...
725
726
        this.paymentInvoiceDialog = true;
      },
687e0b929   Neeraj Sharma   add user,attenden...
727
728
      deleteItem(item) {
        let deleteInvoice = {
8e8d14254   Shikha Mishra   Cleared data whil...
729
          invoiceId: item._id,
687e0b929   Neeraj Sharma   add user,attenden...
730
731
732
733
734
        };
        http()
          .delete(
            "/deleteInvoice",
            confirm("Are you sure you want to delete this?") && {
8e8d14254   Shikha Mishra   Cleared data whil...
735
              params: deleteInvoice,
687e0b929   Neeraj Sharma   add user,attenden...
736
737
            }
          )
8e8d14254   Shikha Mishra   Cleared data whil...
738
          .then((response) => {
d9bb52b5b   Neeraj Sharma   implement trello ...
739
740
            this.snackbar = true;
            this.text = "Successfully delete Existing Invoice";
b3860f8e6   Shikha Mishra   improve delete fu...
741
742
743
744
            this.color = "green";
            this.dialog1 = false;
            this.getInvoiceList();
          })
8e8d14254   Shikha Mishra   Cleared data whil...
745
          .catch((error) => {
b3860f8e6   Shikha Mishra   improve delete fu...
746
747
748
749
750
            // console.log(error);
          });
      },
      deletePayment(editedItem) {
        let deleteInvoice = {
8e8d14254   Shikha Mishra   Cleared data whil...
751
          invoiceId: editedItem._id,
b3860f8e6   Shikha Mishra   improve delete fu...
752
753
        };
        http()
c62132b75   Shikha Mishra   invoice,progress-...
754
755
756
757
758
          .put(
            "/removePayment",
            deleteInvoice,
            confirm("Are you sure you want to delete this?") && {
              headers: {
8e8d14254   Shikha Mishra   Cleared data whil...
759
760
                Authorization: "Bearer " + this.token,
              },
b3860f8e6   Shikha Mishra   improve delete fu...
761
            }
c62132b75   Shikha Mishra   invoice,progress-...
762
          )
8e8d14254   Shikha Mishra   Cleared data whil...
763
          .then((response) => {
b3860f8e6   Shikha Mishra   improve delete fu...
764
765
            this.snackbar = true;
            this.text = "Successfully delete Existing Invoice";
d9bb52b5b   Neeraj Sharma   implement trello ...
766
            this.color = "green";
81d876b5d   Shikha Mishra   salary invoice de...
767
            this.dialog1 = false;
687e0b929   Neeraj Sharma   add user,attenden...
768
769
            this.getInvoiceList();
          })
8e8d14254   Shikha Mishra   Cleared data whil...
770
          .catch((error) => {
687e0b929   Neeraj Sharma   add user,attenden...
771
772
773
            // console.log(error);
          });
      },
687e0b929   Neeraj Sharma   add user,attenden...
774
775
      close() {
        this.dialog = false;
687e0b929   Neeraj Sharma   add user,attenden...
776
      },
8e8d14254   Shikha Mishra   Cleared data whil...
777
778
779
780
781
782
783
      closeAddInvoiceModel() {
        this.addInvoiceDialog = false;
        this.invoiceData = [];
        this.menu1 = false;
        this.feeType = [];
        this.feeTypeData = [];
      },
d9bb52b5b   Neeraj Sharma   implement trello ...
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
      // totalAmount() {
      //   // console.log("this.feeType.paidAmount ", this.feeType.paidAmount);
      //   // console.log(
      //   //   "this.feeType.subTotalAAAAAAAAAAAAAAA ",
      //   //   this.feeType.subTotal
      //   // );
  
      //   if (this.feeType.paidAmount < this.feeType.subTotal) {
      //     console.log("this.feeType.subTotalBBBBBBBBBBB ", this.feeType.subTotal);
  
      //     this.feeType.paidAmount = this.feeType.subTotal;
      //     console.log(
      //       "this.feeType.paidAmount BBBBBBBBBBB",
      //       this.feeType.paidAmount
      //     );
      //   }
      // },
687e0b929   Neeraj Sharma   add user,attenden...
801
802
803
804
805
806
807
      submit() {
        let feeTypeId = "";
        for (let i = 0; i < this.feeTypes.length; i++) {
          if (this.feeTypes[i].feeType === this.feeType.feeTypeName) {
            feeTypeId = this.feeTypes[i]._id;
          }
        }
88868752b   Neeraj Sharma   solve bugs add in...
808
809
810
811
812
813
814
815
        if (this.$refs.form.validate()) {
          let invoiceData = {
            classId: this.invoiceData.classNum,
            students: this.invoiceData.students,
            date: this.invoiceData.date,
            paymentStatus: this.invoiceData.paymentStatus,
            paymentMethod: this.invoiceData.paymentMethod,
            feeType: this.feeTypeData,
c765369af   Neeraj Sharma   solve bugs
816
817
            totalAmount: this.feeType.amount.toString(),
            totalDiscount: this.feeType.discount.toString(),
11f495070   Neeraj Sharma   all solve bugs ed...
818
            totalSubTotal: this.feeType.subTotal.toString(),
8e8d14254   Shikha Mishra   Cleared data whil...
819
            totalPaidAmount: this.feeType.paidAmount,
88868752b   Neeraj Sharma   solve bugs add in...
820
          };
11f495070   Neeraj Sharma   all solve bugs ed...
821
822
823
824
  
          if (invoiceData.paymentStatus == "NOT_PAID") {
            delete invoiceData.paymentMethod;
          }
c765369af   Neeraj Sharma   solve bugs
825
826
827
          if (this.feeType.paidAmount != "0.00") {
            if (this.feeType.subTotal == this.feeType.paidAmount) {
              invoiceData.paymentStatus = "FULLY_PAID";
d650dbf7d   Neeraj Sharma   edit invoice issu...
828
              // console.log("FULLY_PAID");
c765369af   Neeraj Sharma   solve bugs
829
830
831
832
            }
            if (invoiceData.totalPaidAmount) {
              if (this.feeType.subTotal != this.feeType.paidAmount) {
                invoiceData.paymentStatus = "PARTIALLY_PAID";
d650dbf7d   Neeraj Sharma   edit invoice issu...
833
                // console.log("PARTIALLY_PAID");
c765369af   Neeraj Sharma   solve bugs
834
              }
e03bf1f92   Neeraj Sharma   solved bugs add i...
835
            }
11f495070   Neeraj Sharma   all solve bugs ed...
836
837
838
839
840
841
842
843
844
          }
  
          if (invoiceData.totalSubTotal == "0.00") {
            invoiceData.paymentStatus = "FULLY_PAID";
          } else if (invoiceData.totalSubTotal != "0.00") {
            if (this.feeType.paidAmount === "0.00") {
              invoiceData.paymentStatus = "NOT_PAID";
              delete invoiceData.paymentMethod;
            }
e03bf1f92   Neeraj Sharma   solved bugs add i...
845
          }
88868752b   Neeraj Sharma   solve bugs add in...
846
847
          http()
            .post("/createInvoice", invoiceData)
8e8d14254   Shikha Mishra   Cleared data whil...
848
            .then((response) => {
88868752b   Neeraj Sharma   solve bugs add in...
849
850
851
852
853
854
855
856
857
858
859
860
              this.getInvoiceList();
              this.snackbar = true;
              this.text = "New Invoice added successfully";
              this.color = "green";
              this.clear();
              this.feeTypeData = [];
              if (this.feeTypeData.length == 0) {
                this.feeType = {
                  amount: "0.00",
                  discount: "0.00",
                  paidAmount: "0.00",
                  subTotal: "0.00",
8e8d14254   Shikha Mishra   Cleared data whil...
861
                  feeTypeList: "",
88868752b   Neeraj Sharma   solve bugs add in...
862
863
864
865
866
                };
              }
              this.loading = false;
              this.addInvoiceDialog = false;
            })
8e8d14254   Shikha Mishra   Cleared data whil...
867
            .catch((error) => {
88868752b   Neeraj Sharma   solve bugs add in...
868
869
870
871
872
              this.snackbar = true;
              this.text = error.response.data.errors[0].messages[0];
              this.color = "error";
              this.loading = false;
            });
81d876b5d   Shikha Mishra   salary invoice de...
873
        }
81d876b5d   Shikha Mishra   salary invoice de...
874
      },
687e0b929   Neeraj Sharma   add user,attenden...
875
876
877
878
      clear() {
        this.$refs.form.reset();
      },
      getInvoiceList() {
6ae46ca27   Neeraj Sharma   implement upload ...
879
        this.showLoader = true;
687e0b929   Neeraj Sharma   add user,attenden...
880
881
        http()
          .get("/getInvoicesList", {
99cd79184   Neeraj Sharma   implement all tas...
882
            params: { schoolId: this.$store.state.schoolId },
8e8d14254   Shikha Mishra   Cleared data whil...
883
            headers: { Authorization: "Bearer " + this.token },
687e0b929   Neeraj Sharma   add user,attenden...
884
          })
8e8d14254   Shikha Mishra   Cleared data whil...
885
          .then((response) => {
687e0b929   Neeraj Sharma   add user,attenden...
886
887
888
            this.invoiceList = response.data.data;
            this.showLoader = false;
          })
8e8d14254   Shikha Mishra   Cleared data whil...
889
          .catch((error) => {
687e0b929   Neeraj Sharma   add user,attenden...
890
891
892
893
894
895
896
897
898
899
900
901
            // console.log("err====>", err);
            this.showLoader = false;
            if (error.response.status === 401) {
              this.$router.replace({ path: "/" });
              this.$store.dispatch("setToken", null);
              this.$store.dispatch("Id", null);
            }
          });
      },
      selectFeeType() {
        this.showFeeType = true;
        this.feeTypeData.push({ feeTypeName: this.feeType.feeTypeName });
687e0b929   Neeraj Sharma   add user,attenden...
902
      },
8e8d14254   Shikha Mishra   Cleared data whil...
903
      deleteSelectFee: function (index, feeTyp) {
11f495070   Neeraj Sharma   all solve bugs ed...
904
        console.log("---index----", index);
687e0b929   Neeraj Sharma   add user,attenden...
905
        this.feeTypeData.splice(index, 1);
11f495070   Neeraj Sharma   all solve bugs ed...
906
        this.getAmmountDetails(feeTyp);
687e0b929   Neeraj Sharma   add user,attenden...
907
908
909
910
911
912
        if (this.feeTypeData.length == 0) {
          this.feeType = {
            amount: "0.00",
            discount: "0.00",
            paidAmount: "0.00",
            subTotal: "0.00",
8e8d14254   Shikha Mishra   Cleared data whil...
913
            feeTypeName: "",
687e0b929   Neeraj Sharma   add user,attenden...
914
915
916
917
918
919
          };
        }
      },
      getAllClasses() {
        http()
          .get("/getClassesList", {
99cd79184   Neeraj Sharma   implement all tas...
920
            params: { schoolId: this.$store.state.schoolId },
8e8d14254   Shikha Mishra   Cleared data whil...
921
            headers: { Authorization: "Bearer " + this.token },
687e0b929   Neeraj Sharma   add user,attenden...
922
          })
8e8d14254   Shikha Mishra   Cleared data whil...
923
          .then((response) => {
687e0b929   Neeraj Sharma   add user,attenden...
924
925
            this.addclass = response.data.data;
          })
8e8d14254   Shikha Mishra   Cleared data whil...
926
          .catch((err) => {
687e0b929   Neeraj Sharma   add user,attenden...
927
928
929
930
931
            // console.log("err====>", err);
            // this.$router.replace({ path: "/" });
          });
      },
      getAllStudents() {
d9bb52b5b   Neeraj Sharma   implement trello ...
932
        this.showLoader = true;
687e0b929   Neeraj Sharma   add user,attenden...
933
934
        http()
          .get("/getStudentsList", {
99cd79184   Neeraj Sharma   implement all tas...
935
936
            params: {
              classId: this.invoiceData.classNum,
8e8d14254   Shikha Mishra   Cleared data whil...
937
              schoolId: this.$store.state.schoolId,
99cd79184   Neeraj Sharma   implement all tas...
938
            },
8e8d14254   Shikha Mishra   Cleared data whil...
939
            headers: { Authorization: "Bearer " + this.token },
687e0b929   Neeraj Sharma   add user,attenden...
940
          })
8e8d14254   Shikha Mishra   Cleared data whil...
941
          .then((response) => {
d45ffc6fa   Neeraj Sharma   solve bugs and ad...
942
943
            response.data.data.unshift({
              name: "Select All",
8e8d14254   Shikha Mishra   Cleared data whil...
944
              _id: "Select All",
d45ffc6fa   Neeraj Sharma   solve bugs and ad...
945
            });
687e0b929   Neeraj Sharma   add user,attenden...
946
            this.studentList = response.data.data;
d9bb52b5b   Neeraj Sharma   implement trello ...
947
            this.showLoader = false;
687e0b929   Neeraj Sharma   add user,attenden...
948
          })
8e8d14254   Shikha Mishra   Cleared data whil...
949
          .catch((err) => {
d9bb52b5b   Neeraj Sharma   implement trello ...
950
            this.showLoader = false;
687e0b929   Neeraj Sharma   add user,attenden...
951
952
953
954
955
956
957
            // console.log("err====>", err);
            // this.$router.replace({ path: "/" });
          });
      },
      getfeeType() {
        http()
          .get("/getFeesList", {
99cd79184   Neeraj Sharma   implement all tas...
958
            params: {
8e8d14254   Shikha Mishra   Cleared data whil...
959
              schoolId: this.$store.state.schoolId,
99cd79184   Neeraj Sharma   implement all tas...
960
            },
8e8d14254   Shikha Mishra   Cleared data whil...
961
            headers: { Authorization: "Bearer " + this.token },
687e0b929   Neeraj Sharma   add user,attenden...
962
          })
8e8d14254   Shikha Mishra   Cleared data whil...
963
          .then((response) => {
687e0b929   Neeraj Sharma   add user,attenden...
964
965
            this.feeTypes = response.data.data;
          })
8e8d14254   Shikha Mishra   Cleared data whil...
966
          .catch((err) => {
687e0b929   Neeraj Sharma   add user,attenden...
967
968
969
970
            // console.log("err====>", err);
            // this.$router.replace({ path: "/" });
          });
      },
c62132b75   Shikha Mishra   invoice,progress-...
971

e03bf1f92   Neeraj Sharma   solved bugs add i...
972
      getAmmountDetails(feeTyp) {
687e0b929   Neeraj Sharma   add user,attenden...
973
        let feeType = {
de5a79260   Neeraj Sharma   solve bugs empty ...
974
975
976
977
          amount: "0.00",
          discount: "0.00",
          subTotal: "0.00",
          subParticularTotal: "0.00",
8e8d14254   Shikha Mishra   Cleared data whil...
978
          paidAmount: "",
687e0b929   Neeraj Sharma   add user,attenden...
979
980
981
        };
        for (let i = 0; i < this.feeTypeData.length; i++) {
          // *********** AMOUNT ***********
c765369af   Neeraj Sharma   solve bugs
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
          if (this.feeTypeData[i].amount) {
            feeType.amount =
              Number(feeType.amount) + Number(this.feeTypeData[i].amount);
            this.feeType.amount = feeType.amount;
            this.feeType.subTotal = feeType.amount;
            this.feeTypeData[i].subTotal = this.feeTypeData[i].amount;
          } else if (this.feeTypeData[0].amount == "") {
            this.feeType.amount = "0.00";
            this.feeTypeData[i].subTotal = "0.00";
            this.feeType.subTotal = "0.00";
          } else if (this.feeTypeData[i].amount == "") {
            this.feeType.amount =
              Number(feeType.amount) + Number(this.feeTypeData[i].amount);
            this.feeTypeData[i].subTotal =
              Number(feeType.amount) + Number(this.feeTypeData[i].amount);
            this.feeType.subTotal =
              Number(feeType.amount) + Number(this.feeTypeData[i].amount);
          }
687e0b929   Neeraj Sharma   add user,attenden...
1000
          // *********** DISCOUNT ***********
de5a79260   Neeraj Sharma   solve bugs empty ...
1001
          if (this.feeTypeData[i].discount) {
ff30cbe86   Neeraj Sharma   remove discount p...
1002
1003
1004
            if (
              Number(this.feeTypeData[i].discount) < this.feeTypeData[i].amount
            ) {
11f495070   Neeraj Sharma   all solve bugs ed...
1005
1006
1007
1008
              feeType.discount =
                Number(feeType.discount) + Number(this.feeTypeData[i].discount);
              this.feeType.discount = feeType.discount;
              feeType.subParticularTotal =
ff30cbe86   Neeraj Sharma   remove discount p...
1009
                this.feeTypeData[i].amount - this.feeTypeData[i].discount;
11f495070   Neeraj Sharma   all solve bugs ed...
1010
1011
1012
              this.feeTypeData[i].subTotal = feeType.subParticularTotal.toFixed(
                2
              );
ff30cbe86   Neeraj Sharma   remove discount p...
1013
1014
1015
1016
            } else if (
              Number(this.feeTypeData[i].discount) >= this.feeTypeData[i].amount
            ) {
              this.feeTypeData[i].discount = this.feeTypeData[i].amount;
11f495070   Neeraj Sharma   all solve bugs ed...
1017
1018
1019
1020
              feeType.discount =
                Number(feeType.discount) + Number(this.feeTypeData[i].discount);
              this.feeType.discount = feeType.discount.toString();
              feeType.subParticularTotal =
ff30cbe86   Neeraj Sharma   remove discount p...
1021
                this.feeTypeData[i].amount - this.feeTypeData[i].discount;
11f495070   Neeraj Sharma   all solve bugs ed...
1022
1023
1024
1025
              this.feeTypeData[
                i
              ].subTotal = feeType.subParticularTotal.toString();
            }
c765369af   Neeraj Sharma   solve bugs
1026
1027
          } else if (this.feeTypeData[0].discount == "") {
            this.feeType.discount = "0.00";
de5a79260   Neeraj Sharma   solve bugs empty ...
1028
          }
ff30cbe86   Neeraj Sharma   remove discount p...
1029
1030
1031
1032
          // else if (this.feeTypeData[i].discount == "") {
          //   this.feeType.discount =
          //     Number(feeType.discount) + Number(this.feeTypeData[i].discount);
          // }
687e0b929   Neeraj Sharma   add user,attenden...
1033
1034
  
          // *********** SUBTOTAL ***********
c765369af   Neeraj Sharma   solve bugs
1035
1036
1037
1038
1039
          if (this.feeTypeData[i].subTotal) {
            feeType.subTotal =
              Number(feeType.subTotal) + Number(this.feeTypeData[i].subTotal);
            this.feeType.subTotal = feeType.subTotal.toFixed(2);
          }
687e0b929   Neeraj Sharma   add user,attenden...
1040
1041
  
          // *********** PAID-AMOUNT ***********
de5a79260   Neeraj Sharma   solve bugs empty ...
1042
1043
1044
1045
          if (this.feeTypeData[i].paidAmount) {
            feeType.paidAmount =
              Number(feeType.paidAmount) + Number(this.feeTypeData[i].paidAmount);
            this.feeType.paidAmount = feeType.paidAmount.toFixed(2);
c765369af   Neeraj Sharma   solve bugs
1046
1047
1048
1049
1050
          } else if (this.feeTypeData[0].paidAmount == "") {
            this.feeType.paidAmount = "0.00";
          } else if (this.feeTypeData[i].paidAmount == "") {
            this.feeType.paidAmount = feeType.paidAmount =
              Number(feeType.paidAmount) + Number(this.feeTypeData[i].paidAmount);
de5a79260   Neeraj Sharma   solve bugs empty ...
1051
          }
c765369af   Neeraj Sharma   solve bugs
1052

d9bb52b5b   Neeraj Sharma   implement trello ...
1053
1054
1055
1056
1057
          // if paid Amount fill large of subtotal value so this condition are fixed filled subtotal value.
          if (feeType.paidAmount > feeType.subTotal) {
            this.feeTypeData[i].paidAmount = this.feeTypeData[i].subTotal;
            this.feeType.paidAmount = feeType.subTotal;
          }
687e0b929   Neeraj Sharma   add user,attenden...
1058
1059
1060
1061
1062
        }
      },
      getPayMethodList() {
        if (this.invoiceData.paymentStatus == "PARTIALLY_PAID") {
          this.showPayMethods = true;
8e8d14254   Shikha Mishra   Cleared data whil...
1063
          this.paymentMethodRules = [(v) => !!v || "Payment Method is required"];
687e0b929   Neeraj Sharma   add user,attenden...
1064
1065
        } else if (this.invoiceData.paymentStatus == "FULLY_PAID") {
          this.showPayMethods = true;
8e8d14254   Shikha Mishra   Cleared data whil...
1066
          this.paymentMethodRules = [(v) => !!v || "Payment Method is required"];
c765369af   Neeraj Sharma   solve bugs
1067
1068
1069
1070
1071
        } else if (this.invoiceData.paymentStatus == "NOT_PAID") {
          for (let i = 0; i < this.feeTypeData.length; i++) {
            this.feeTypeData[i].paidAmount = "0.00";
            this.feeType.paidAmount = "0.00";
          }
728b5d417   Neeraj Sharma   solve bugs in add...
1072
1073
          this.paymentMethodRules = "";
          this.showPayMethods = false;
879451281   Shikha Mishra   improve update in...
1074
1075
1076
1077
        } else {
          this.showPayMethods = false;
        }
      },
d45ffc6fa   Neeraj Sharma   solve bugs and ad...
1078
      selectAllStudent() {
d45ffc6fa   Neeraj Sharma   solve bugs and ad...
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
        this.invoiceData.students = [];
        if (this.invoiceData.studentId === "Select All") {
          for (let i = 1; i < this.studentList.length; i++) {
            this.invoiceData.students.push(this.studentList[i]._id);
            console.log("data", this.invoiceData.students);
            // data.push(this.studentList[i]._id);
            // console.log("data", data);
          }
        } else {
          this.invoiceData.students.push(this.invoiceData.studentId);
        }
68d742034   Neeraj Sharma   implement new des...
1090
1091
      },
      displaySearch() {
c765369af   Neeraj Sharma   solve bugs
1092
1093
        this.show = false;
        this.showSearch = true;
68d742034   Neeraj Sharma   implement new des...
1094
1095
1096
1097
1098
      },
      closeSearch() {
        this.showSearch = false;
        this.show = true;
        this.search = "";
88868752b   Neeraj Sharma   solve bugs add in...
1099
1100
1101
1102
      },
      updateDoneInvoice() {
        this.editInvoiceDialog = false;
        this.getInvoiceList();
e03bf1f92   Neeraj Sharma   solved bugs add i...
1103
1104
1105
1106
1107
1108
1109
      },
      updatePayment() {
        this.paymentInvoiceDialog = false;
        this.getInvoiceList();
        this.snackbar = true;
        this.text = "Payment added successfully";
        this.color = "green";
8e8d14254   Shikha Mishra   Cleared data whil...
1110
      },
687e0b929   Neeraj Sharma   add user,attenden...
1111
1112
1113
1114
1115
1116
    },
    mounted() {
      this.token = this.$store.state.token;
      this.getInvoiceList();
      this.getAllClasses();
      this.getfeeType();
81d876b5d   Shikha Mishra   salary invoice de...
1117
      this.getAllStudents();
8e8d14254   Shikha Mishra   Cleared data whil...
1118
    },
687e0b929   Neeraj Sharma   add user,attenden...
1119
1120
1121
1122
1123
  };
  </script>
  
  
  <style scoped>
687e0b929   Neeraj Sharma   add user,attenden...
1124
1125
1126
1127
1128
1129
  table {
    border-collapse: collapse;
    border: 1px solid #e2e7eb;
  }
  
  th,
68d742034   Neeraj Sharma   implement new des...
1130
  .tdFeeType {
687e0b929   Neeraj Sharma   add user,attenden...
1131
1132
1133
1134
1135
1136
1137
1138
    border: 1px solid #e2e7eb;
    padding: 10px;
    text-align: center;
  }
  table.feeTypeTable {
    table-layout: auto !important;
    width: 100% !important;
  }
00e0f1a63   Neeraj Sharma   test live view pa...
1139
  .card-style {
abce86599   Neeraj Sharma   testing sucess of...
1140
1141
1142
1143
1144
    background: #7f62f8 !important;
    border-color: #7f62f8 !important;
    border-radius: 12px;
    text-align: center !important;
    padding-top: 10px !important;
00e0f1a63   Neeraj Sharma   test live view pa...
1145
1146
  }
  .add-button {
abce86599   Neeraj Sharma   testing sucess of...
1147
1148
1149
1150
1151
    background: #feb83c !important;
    border-color: #feb83c !important;
    text-transform: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
00e0f1a63   Neeraj Sharma   test live view pa...
1152
1153
  }
  .clear-button {
abce86599   Neeraj Sharma   testing sucess of...
1154
1155
1156
1157
1158
    background: #fa7676 !important;
    border-color: #fa7676 !important;
    text-transform: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
00e0f1a63   Neeraj Sharma   test live view pa...
1159
1160
  }
  .card-styles {
abce86599   Neeraj Sharma   testing sucess of...
1161
1162
    background: #7f62f8 !important;
    border-color: #7f62f8 !important;
00e0f1a63   Neeraj Sharma   test live view pa...
1163
1164
  }
  .v-card__actions .v-btn {
abce86599   Neeraj Sharma   testing sucess of...
1165
1166
    margin: 0 15px !important;
    min-width: 96px !important;
00e0f1a63   Neeraj Sharma   test live view pa...
1167
  }
687e0b929   Neeraj Sharma   add user,attenden...
1168
  </style>