Blame view

src/pages/Account/invoice.vue 39.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>
c62132b75   Shikha Mishra   invoice,progress-...
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>
b9759239c   Shikha Mishra   shown invoice det...
80
          </table>
68d742034   Neeraj Sharma   implement new des...
81
        </v-card>
81d876b5d   Shikha Mishra   salary invoice de...
82
      </v-dialog>
687e0b929   Neeraj Sharma   add user,attenden...
83

b9759239c   Shikha Mishra   shown invoice det...
84
      <!-- ****** Invoice Table ****** -->
68d742034   Neeraj Sharma   implement new des...
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
      <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...
107
              <img src="/static/icon/search.png" alt="icon" />
68d742034   Neeraj Sharma   implement new des...
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
            </v-avatar>
          </v-btn>
        </v-card-title>
        <v-flex xs8 sm8 md3 lg2 v-show="showSearch">
          <v-layout>
            <v-text-field v-model="search" label="Search" prepend-inner-icon="search" color="primary"></v-text-field>
            <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...
127
            <td class="text-xs-center td td-row">{{ props.item.studentId.name }}</td>
68d742034   Neeraj Sharma   implement new des...
128
129
            <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-...
130
            <td class="text-xs-center td td-row">{{ props.item.totalDiscount}}</td>
68d742034   Neeraj Sharma   implement new des...
131
132
133
134
135
            <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...
136
            >{{ props.item.totalPaidAmount ? props.item.totalSubTotal - props.item.totalPaidAmount : props.item.totalSubTotal }}</td>
68d742034   Neeraj Sharma   implement new des...
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
            <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...
154
              <router-link :to="{ name:'View Invoice',params: { viewInvoiceId:props.item._id } }">
68d742034   Neeraj Sharma   implement new des...
155
156
157
158
159
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer; width:25px; height:25px; "
                    class="mr-3"
aa310d61a   Shikha Mishra   added functionali...
160
                    src="/static/icon/view.png"
68d742034   Neeraj Sharma   implement new des...
161
162
163
164
165
                  />
                  <span>View</span>
                </v-tooltip>
              </router-link>
              <span v-if="props.item.paymentStatus === 'NOT_PAID'">
c62132b75   Shikha Mishra   invoice,progress-...
166
167
168
169
170
171
172
173
174
175
176
177
                <!-- <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...
178
179
180
181
182
183
184
185
186
187
                <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...
188
189
190
191
192
193
                <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...
194
                    src="/static/icon/delete.png"
68d742034   Neeraj Sharma   implement new des...
195
196
197
                  />
                  <span>Delete</span>
                </v-tooltip>
81d876b5d   Shikha Mishra   salary invoice de...
198
199
200
201
202
203
204
205
206
207
                <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...
208
              </span>
81d876b5d   Shikha Mishra   salary invoice de...
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
              <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...
224
                  style="cursor:pointer; width:18px; height:17px;"
81d876b5d   Shikha Mishra   salary invoice de...
225
226
227
228
229
                  @click="profile(props.item)"
                  src="/static/icon/eye1.png"
                />
                <span>View Payment</span>
              </v-tooltip>
68d742034   Neeraj Sharma   implement new des...
230
231
232
233
234
235
236
237
238
239
            </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...
240

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

687e0b929   Neeraj Sharma   add user,attenden...
574
      feeTypeData: [],
88868752b   Neeraj Sharma   solve bugs add in...
575
576
      editFeeTypeData: [],
      paymentFeeTypeData: [],
687e0b929   Neeraj Sharma   add user,attenden...
577
      pagination: {
68d742034   Neeraj Sharma   implement new des...
578
        rowsPerPage: 10
687e0b929   Neeraj Sharma   add user,attenden...
579
580
581
582
583
      },
      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"],
6ae46ca27   Neeraj Sharma   implement upload ...
584
      paymentMethodsRules: [v => !!v || "payment Method is required"],
81d876b5d   Shikha Mishra   salary invoice de...
585
586
587
588
589
590
591
      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...
592
      paymentMethodRules: [],
687e0b929   Neeraj Sharma   add user,attenden...
593
594
595
      headers: [
        {
          text: "No",
68d742034   Neeraj Sharma   implement new des...
596
          align: "",
687e0b929   Neeraj Sharma   add user,attenden...
597
598
599
          sortable: false,
          value: "No"
        },
81d876b5d   Shikha Mishra   salary invoice de...
600
601
602
603
604
605
        {
          text: "Student",
          value: "name",
          sortable: false,
          align: "center"
        },
687e0b929   Neeraj Sharma   add user,attenden...
606
607
        { text: "Class", value: "class", sortable: false, align: "center" },
        { text: "Total", value: "subtotal", sortable: false, align: "center" },
c62132b75   Shikha Mishra   invoice,progress-...
608
        {
ff30cbe86   Neeraj Sharma   remove discount p...
609
          text: "Discount",
c62132b75   Shikha Mishra   invoice,progress-...
610
611
612
613
          value: "discount",
          sortable: false,
          align: "center"
        },
687e0b929   Neeraj Sharma   add user,attenden...
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
        {
          text: "Paid Amount",
          value: "paidAmount",
          sortable: false,
          align: "center"
        },
        {
          text: "Balance",
          value: "Balance",
          sortable: false,
          align: "center"
        },
        {
          text: "Status",
          value: "paymentStatus",
          sortable: false,
          align: "center"
        },
        {
          text: "Date",
          value: "date",
          sortable: false,
          align: "center"
        },
        { text: "Action", value: "", sortable: false, align: "center" }
      ],
b9759239c   Shikha Mishra   shown invoice det...
640

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

e03bf1f92   Neeraj Sharma   solved bugs add i...
941
      getAmmountDetails(feeTyp) {
687e0b929   Neeraj Sharma   add user,attenden...
942
        let feeType = {
de5a79260   Neeraj Sharma   solve bugs empty ...
943
944
945
946
          amount: "0.00",
          discount: "0.00",
          subTotal: "0.00",
          subParticularTotal: "0.00",
687e0b929   Neeraj Sharma   add user,attenden...
947
948
949
950
          paidAmount: ""
        };
        for (let i = 0; i < this.feeTypeData.length; i++) {
          // *********** AMOUNT ***********
c765369af   Neeraj Sharma   solve bugs
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
          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...
969
          // *********** DISCOUNT ***********
de5a79260   Neeraj Sharma   solve bugs empty ...
970
          if (this.feeTypeData[i].discount) {
ff30cbe86   Neeraj Sharma   remove discount p...
971
972
973
            if (
              Number(this.feeTypeData[i].discount) < this.feeTypeData[i].amount
            ) {
11f495070   Neeraj Sharma   all solve bugs ed...
974
975
976
977
              feeType.discount =
                Number(feeType.discount) + Number(this.feeTypeData[i].discount);
              this.feeType.discount = feeType.discount;
              feeType.subParticularTotal =
ff30cbe86   Neeraj Sharma   remove discount p...
978
                this.feeTypeData[i].amount - this.feeTypeData[i].discount;
11f495070   Neeraj Sharma   all solve bugs ed...
979
980
981
              this.feeTypeData[i].subTotal = feeType.subParticularTotal.toFixed(
                2
              );
ff30cbe86   Neeraj Sharma   remove discount p...
982
983
984
985
            } 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...
986
987
988
989
              feeType.discount =
                Number(feeType.discount) + Number(this.feeTypeData[i].discount);
              this.feeType.discount = feeType.discount.toString();
              feeType.subParticularTotal =
ff30cbe86   Neeraj Sharma   remove discount p...
990
                this.feeTypeData[i].amount - this.feeTypeData[i].discount;
11f495070   Neeraj Sharma   all solve bugs ed...
991
992
993
994
              this.feeTypeData[
                i
              ].subTotal = feeType.subParticularTotal.toString();
            }
c765369af   Neeraj Sharma   solve bugs
995
996
          } else if (this.feeTypeData[0].discount == "") {
            this.feeType.discount = "0.00";
de5a79260   Neeraj Sharma   solve bugs empty ...
997
          }
ff30cbe86   Neeraj Sharma   remove discount p...
998
999
1000
1001
          // else if (this.feeTypeData[i].discount == "") {
          //   this.feeType.discount =
          //     Number(feeType.discount) + Number(this.feeTypeData[i].discount);
          // }
687e0b929   Neeraj Sharma   add user,attenden...
1002
1003
  
          // *********** SUBTOTAL ***********
c765369af   Neeraj Sharma   solve bugs
1004
1005
1006
1007
1008
          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...
1009
1010
  
          // *********** PAID-AMOUNT ***********
de5a79260   Neeraj Sharma   solve bugs empty ...
1011
1012
1013
1014
          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
1015
1016
1017
1018
1019
          } 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 ...
1020
          }
c765369af   Neeraj Sharma   solve bugs
1021

d9bb52b5b   Neeraj Sharma   implement trello ...
1022
1023
1024
1025
1026
          // 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...
1027
1028
1029
1030
1031
        }
      },
      getPayMethodList() {
        if (this.invoiceData.paymentStatus == "PARTIALLY_PAID") {
          this.showPayMethods = true;
728b5d417   Neeraj Sharma   solve bugs in add...
1032
          this.paymentMethodRules = [v => !!v || "Payment Method is required"];
687e0b929   Neeraj Sharma   add user,attenden...
1033
1034
        } else if (this.invoiceData.paymentStatus == "FULLY_PAID") {
          this.showPayMethods = true;
728b5d417   Neeraj Sharma   solve bugs in add...
1035
          this.paymentMethodRules = [v => !!v || "Payment Method is required"];
c765369af   Neeraj Sharma   solve bugs
1036
1037
1038
1039
1040
        } 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...
1041
1042
          this.paymentMethodRules = "";
          this.showPayMethods = false;
879451281   Shikha Mishra   improve update in...
1043
1044
1045
1046
        } else {
          this.showPayMethods = false;
        }
      },
d45ffc6fa   Neeraj Sharma   solve bugs and ad...
1047
      selectAllStudent() {
d45ffc6fa   Neeraj Sharma   solve bugs and ad...
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
        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...
1059
1060
      },
      displaySearch() {
c765369af   Neeraj Sharma   solve bugs
1061
1062
        this.show = false;
        this.showSearch = true;
68d742034   Neeraj Sharma   implement new des...
1063
1064
1065
1066
1067
      },
      closeSearch() {
        this.showSearch = false;
        this.show = true;
        this.search = "";
88868752b   Neeraj Sharma   solve bugs add in...
1068
1069
1070
1071
      },
      updateDoneInvoice() {
        this.editInvoiceDialog = false;
        this.getInvoiceList();
e03bf1f92   Neeraj Sharma   solved bugs add i...
1072
1073
1074
1075
1076
1077
1078
      },
      updatePayment() {
        this.paymentInvoiceDialog = false;
        this.getInvoiceList();
        this.snackbar = true;
        this.text = "Payment added successfully";
        this.color = "green";
687e0b929   Neeraj Sharma   add user,attenden...
1079
1080
1081
1082
1083
1084
1085
      }
    },
    mounted() {
      this.token = this.$store.state.token;
      this.getInvoiceList();
      this.getAllClasses();
      this.getfeeType();
81d876b5d   Shikha Mishra   salary invoice de...
1086
      this.getAllStudents();
687e0b929   Neeraj Sharma   add user,attenden...
1087
1088
1089
1090
1091
1092
    }
  };
  </script>
  
  
  <style scoped>
687e0b929   Neeraj Sharma   add user,attenden...
1093
1094
1095
1096
1097
1098
  table {
    border-collapse: collapse;
    border: 1px solid #e2e7eb;
  }
  
  th,
68d742034   Neeraj Sharma   implement new des...
1099
  .tdFeeType {
687e0b929   Neeraj Sharma   add user,attenden...
1100
1101
1102
1103
1104
1105
1106
1107
    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...
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
  .card-style {
      background: #7f62f8 !important;
      border-color: #7f62f8 !important;
      border-radius: 12px;
      text-align: center !important;
      padding-top: 10px !important;
  }
  .add-button {
      background: #feb83c !important;
      border-color: #feb83c !important;
      text-transform: none !important;
      -webkit-box-shadow: none !important;
      box-shadow: none !important;
  }
  .clear-button {
      background: #fa7676 !important;
      border-color: #fa7676 !important;
      text-transform: none !important;
      -webkit-box-shadow: none !important;
      box-shadow: none !important;
  }
  .card-styles {
      background: #7f62f8 !important;
      border-color: #7f62f8 !important;
  }
  .v-card__actions .v-btn {
      margin: 0 15px !important;
      min-width: 96px !important;
  }
687e0b929   Neeraj Sharma   add user,attenden...
1137
  </style>