Blame view

src/pages/Account/paymentHistory.vue 9.23 KB
687e0b929   Neeraj Sharma   add user,attenden...
1
  <template>
68d742034   Neeraj Sharma   implement new des...
2
    <v-container fluid class="body-color">
acb6c9e2b   Shikha Mishra   issues solved rel...
3
      <!-- ****** Edit  Payment History  ****** -->
db965de89   Amber Dev   added dialog pers...
4
      <v-dialog v-model="editPaymentDialog" max-width="400px" persistent>
acb6c9e2b   Shikha Mishra   issues solved rel...
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        <v-card flat class="card-style pa-2" dark>
          <v-layout>
            <v-flex xs12>
              <label class="title text-xs-center">Edit Payment History</label>
              <v-icon size="24" class="right" @click="editPaymentDialog = false">cancel</v-icon>
            </v-flex>
          </v-layout>
          <v-form ref="form">
            <v-container fluid>
              <v-flex xs12 sm12>
                <v-layout>
                  <v-flex xs3 class="pt-4 subheading">
                    <label class="right">Amount:</label>
                  </v-flex>
                  <v-flex xs8 sm7 class="ml-3">
                    <v-text-field
109a6218c   Neeraj Sharma   solve issue/bugs ...
21
                      v-model="editedItem.paidAmount"
acb6c9e2b   Shikha Mishra   issues solved rel...
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
                      placeholder="please fill this field"
                    ></v-text-field>
                  </v-flex>
                </v-layout>
              </v-flex>
              <v-flex xs12 sm12>
                <v-layout>
                  <v-flex xs3 class="pt-4 subheading">
                    <label class="right">Method:</label>
                  </v-flex>
                  <v-flex xs8 sm7 class="ml-3">
                    <v-select
                      :items="paymentMethod"
                      v-model="editedItem.paymentMethod"
                      label="please fill this field"
                      required
                    ></v-select>
                  </v-flex>
                </v-layout>
              </v-flex>
              <v-layout>
                <v-flex xs12>
                  <v-layout>
                    <v-spacer></v-spacer>
                    <v-btn round dark @click="save" class="add-button">Update Payment History</v-btn>
                    <v-spacer></v-spacer>
                  </v-layout>
                </v-flex>
              </v-layout>
            </v-container>
          </v-form>
        </v-card>
      </v-dialog>
  
      <!-- ****** PAYMENT HISTORY TABLE ****** -->
68d742034   Neeraj Sharma   implement new des...
57
58
59
60
61
      <v-toolbar color="transparent" flat>
        <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...
62
              <img src="/static/icon/search.png" alt="icon" />
68d742034   Neeraj Sharma   implement new des...
63
64
65
            </v-avatar>
          </v-btn>
        </v-card-title>
612b79bb4   Amber Dev   made serch auto f...
66
        <v-flex xs8 sm8 md3 lg2 v-if="showSearch">
687e0b929   Neeraj Sharma   add user,attenden...
67
          <v-layout>
860da881d   Shikha Mishra   comment all consoles
68
69
70
71
72
73
74
            <v-text-field
              autofocus
              v-model="search"
              label="Search"
              prepend-inner-icon="search"
              color="primary"
            ></v-text-field>
68d742034   Neeraj Sharma   implement new des...
75
            <v-icon @click="closeSearch" color="error">close</v-icon>
687e0b929   Neeraj Sharma   add user,attenden...
76
          </v-layout>
68d742034   Neeraj Sharma   implement new des...
77
78
        </v-flex>
      </v-toolbar>
687e0b929   Neeraj Sharma   add user,attenden...
79
80
81
82
83
84
85
      <v-data-table
        :headers="headers"
        :items="paymentHistory"
        :pagination.sync="pagination"
        :search="search"
      >
        <template slot="items" slot-scope="props">
68d742034   Neeraj Sharma   implement new des...
86
          <tr class="tr">
acb6c9e2b   Shikha Mishra   issues solved rel...
87
88
            <td class="td td-row">{{ props.index + 1 }}</td>
            <td class="td td-row text-xs-center">{{ props.item.studentId.name }}</td>
68d742034   Neeraj Sharma   implement new des...
89
            <td class="td td-row text-xs-center">{{ props.item.classId.classNum }}</td>
acb6c9e2b   Shikha Mishra   issues solved rel...
90
            <td class="td td-row text-xs-center">{{ props.item.feeType.feeTypeName }}</td>
68d742034   Neeraj Sharma   implement new des...
91
            <td class="td td-row text-xs-center">{{ props.item.paymentMethod }}</td>
0e46192a0   Shikha Mishra   change data of pa...
92
            <td class="td td-row text-xs-center">{{ props.item.feeType.paidAmount }}</td>
68d742034   Neeraj Sharma   implement new des...
93
            <td class="td td-row text-xs-center">{{ dates(props.item.date) }}</td>
acb6c9e2b   Shikha Mishra   issues solved rel...
94
95
96
97
98
            <td class="td td-row text-xs-center">
              <span>
                <v-tooltip top>
                  <img
                    slot="activator"
109a6218c   Neeraj Sharma   solve issue/bugs ...
99
100
                    style="cursor:pointer; width:20px; height:18px;"
                    class="mr-3"
acb6c9e2b   Shikha Mishra   issues solved rel...
101
                    @click="editItem(props.item)"
109a6218c   Neeraj Sharma   solve issue/bugs ...
102
                    src="/static/icon/edit.png"
acb6c9e2b   Shikha Mishra   issues solved rel...
103
104
105
106
107
108
                  />
                  <span>Edit</span>
                </v-tooltip>
                <v-tooltip top>
                  <img
                    slot="activator"
109a6218c   Neeraj Sharma   solve issue/bugs ...
109
110
                    style="cursor:pointer;width:20px; height:20px;"
                    class="mr-3"
acb6c9e2b   Shikha Mishra   issues solved rel...
111
                    @click="deleteItem(props.item)"
109a6218c   Neeraj Sharma   solve issue/bugs ...
112
                    src="/static/icon/delete.png"
acb6c9e2b   Shikha Mishra   issues solved rel...
113
114
115
116
117
                  />
                  <span>Delete</span>
                </v-tooltip>
              </span>
            </td>
68d742034   Neeraj Sharma   implement new des...
118
          </tr>
687e0b929   Neeraj Sharma   add user,attenden...
119
120
121
122
123
124
125
126
127
128
129
        </template>
        <v-alert
          slot="no-results"
          :value="true"
          color="error"
          icon="warning"
        >Your search for "{{ search }}" found no results.</v-alert>
      </v-data-table>
      <div class="loader" v-if="showLoader">
        <v-progress-circular indeterminate color="white"></v-progress-circular>
      </div>
59793b95a   Neeraj Sharma   complete design a...
130
131
132
133
134
135
136
137
      <v-snackbar
        :timeout="timeout"
        :top="y === 'top'"
        :right="x === 'right'"
        :vertical="mode === 'vertical'"
        v-model="snackbar"
        :color="color"
      >{{ text }}</v-snackbar>
68d742034   Neeraj Sharma   implement new des...
138
    </v-container>
687e0b929   Neeraj Sharma   add user,attenden...
139
140
141
142
143
144
145
146
  </template>
  
  <script>
  import http from "@/Services/http.js";
  import moment from "moment";
  
  export default {
    data: () => ({
acb6c9e2b   Shikha Mishra   issues solved rel...
147
      snackbar: false,
687e0b929   Neeraj Sharma   add user,attenden...
148
149
      showLoader: false,
      search: "",
68d742034   Neeraj Sharma   implement new des...
150
151
      show: true,
      showSearch: false,
687e0b929   Neeraj Sharma   add user,attenden...
152
      pagination: {
860da881d   Shikha Mishra   comment all consoles
153
        rowsPerPage: 10,
687e0b929   Neeraj Sharma   add user,attenden...
154
      },
acb6c9e2b   Shikha Mishra   issues solved rel...
155
      paymentMethod: ["Cash", "Cheque"],
687e0b929   Neeraj Sharma   add user,attenden...
156
157
158
      headers: [
        {
          text: "No",
68d742034   Neeraj Sharma   implement new des...
159
          align: "",
687e0b929   Neeraj Sharma   add user,attenden...
160
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
161
          value: "No",
687e0b929   Neeraj Sharma   add user,attenden...
162
        },
acb6c9e2b   Shikha Mishra   issues solved rel...
163
164
165
166
        {
          text: "Student",
          value: "name",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
167
          align: "center",
acb6c9e2b   Shikha Mishra   issues solved rel...
168
        },
687e0b929   Neeraj Sharma   add user,attenden...
169
        { text: "Class", value: "class", sortable: false, align: "center" },
ab54b5656   Neeraj Sharma   implement library...
170
171
172
173
        {
          text: "Fee Type",
          value: "feeTypeName",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
174
          align: "center",
ab54b5656   Neeraj Sharma   implement library...
175
176
177
178
179
        },
        {
          text: "Method",
          value: "paymentMethod",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
180
          align: "center",
ab54b5656   Neeraj Sharma   implement library...
181
        },
687e0b929   Neeraj Sharma   add user,attenden...
182
183
184
185
        {
          text: "Paid Amount",
          value: "totalPaidAmount",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
186
          align: "center",
687e0b929   Neeraj Sharma   add user,attenden...
187
188
189
190
191
        },
        {
          text: "Date",
          value: "date",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
192
          align: "center",
acb6c9e2b   Shikha Mishra   issues solved rel...
193
        },
860da881d   Shikha Mishra   comment all consoles
194
        { text: "Action", value: "", sortable: false, align: "center" },
687e0b929   Neeraj Sharma   add user,attenden...
195
      ],
68d742034   Neeraj Sharma   implement new des...
196
      paymentHistory: [],
acb6c9e2b   Shikha Mishra   issues solved rel...
197
198
      addPaymentHistoryDialog: "",
      editPaymentDialog: false,
59793b95a   Neeraj Sharma   complete design a...
199
200
201
202
203
204
205
      editedItem: {},
      y: "top",
      x: "right",
      mode: "",
      timeout: 5000,
      text: "",
      color: "",
860da881d   Shikha Mishra   comment all consoles
206
      snackbar: false,
687e0b929   Neeraj Sharma   add user,attenden...
207
208
    }),
    methods: {
acb6c9e2b   Shikha Mishra   issues solved rel...
209
210
211
      editItem(item) {
        this.editedIndex = this.paymentHistory.indexOf(item);
        this.editedItem = Object.assign({}, item);
109a6218c   Neeraj Sharma   solve issue/bugs ...
212
        this.editedItem.paidAmount = this.editedItem.feeType.paidAmount;
acb6c9e2b   Shikha Mishra   issues solved rel...
213
214
215
216
217
        this.editPaymentDialog = true;
      },
      deleteItem(item) {
        let deleteGrade = {
          invoiceId: item._id,
860da881d   Shikha Mishra   comment all consoles
218
          feeTypeId: item.feeType._id,
acb6c9e2b   Shikha Mishra   issues solved rel...
219
220
221
        };
        http()
          .put(
109a6218c   Neeraj Sharma   solve issue/bugs ...
222
223
            "/deleteFeeType",
            confirm("Are you sure you want to delete this?") && deleteGrade,
acb6c9e2b   Shikha Mishra   issues solved rel...
224
225
            {
              headers: {
860da881d   Shikha Mishra   comment all consoles
226
227
                Authorization: "Bearer " + this.token,
              },
acb6c9e2b   Shikha Mishra   issues solved rel...
228
229
            }
          )
860da881d   Shikha Mishra   comment all consoles
230
          .then((response) => {
acb6c9e2b   Shikha Mishra   issues solved rel...
231
232
233
234
235
236
            this.snackbar = true;
            //   this.text = "Successfully Delete Salary ";
            this.text = response.data.message;
            this.color = "green";
            this.getPaymentHistory();
          })
860da881d   Shikha Mishra   comment all consoles
237
238
          .catch((error) => {
            //   console.log("error", error);
acb6c9e2b   Shikha Mishra   issues solved rel...
239
240
241
242
243
            this.snackbar = true;
            this.text = error.response.data.message;
            this.color = "red";
          });
      },
860da881d   Shikha Mishra   comment all consoles
244
      dates: function (date) {
687e0b929   Neeraj Sharma   add user,attenden...
245
246
247
248
249
250
        return moment(date).format("MMMM DD, YYYY");
      },
      getPaymentHistory() {
        this.showLoader = true;
        var token = this.$store.state.token;
        http()
acb6c9e2b   Shikha Mishra   issues solved rel...
251
          .get("/getPaymentHistory", {
99cd79184   Neeraj Sharma   implement all tas...
252
253
            params: {
              paymentStatus: "FULLY_PAID",
860da881d   Shikha Mishra   comment all consoles
254
              schoolId: this.$store.state.schoolId,
99cd79184   Neeraj Sharma   implement all tas...
255
            },
860da881d   Shikha Mishra   comment all consoles
256
            headers: { Authorization: "Bearer " + token },
687e0b929   Neeraj Sharma   add user,attenden...
257
          })
860da881d   Shikha Mishra   comment all consoles
258
          .then((response) => {
687e0b929   Neeraj Sharma   add user,attenden...
259
260
261
            this.paymentHistory = response.data.data;
            this.showLoader = false;
          })
860da881d   Shikha Mishra   comment all consoles
262
          .catch((error) => {
687e0b929   Neeraj Sharma   add user,attenden...
263
264
265
266
267
            this.showLoader = false;
            if (error.response.status === 401) {
              this.$router.replace({ path: "/" });
              this.$store.dispatch("setToken", null);
              this.$store.dispatch("Id", null);
00e4bc4e1   Neeraj Sharma   fixed auntentication
268
              this.$store.dispatch("Role", null);
687e0b929   Neeraj Sharma   add user,attenden...
269
270
            }
          });
68d742034   Neeraj Sharma   implement new des...
271
      },
acb6c9e2b   Shikha Mishra   issues solved rel...
272
273
274
275
      save() {
        var updatePayment = {
          invoiceId: this.editedItem._id,
          feeTypeId: this.editedItem.feeType._id,
109a6218c   Neeraj Sharma   solve issue/bugs ...
276
          paidAmount: this.editedItem.paidAmount,
860da881d   Shikha Mishra   comment all consoles
277
          paymentMethod: this.editedItem.paymentMethod,
acb6c9e2b   Shikha Mishra   issues solved rel...
278
279
280
281
        };
        http()
          .put("/updateFeeType", updatePayment, {
            headers: {
860da881d   Shikha Mishra   comment all consoles
282
283
              Authorization: "Bearer " + this.token,
            },
acb6c9e2b   Shikha Mishra   issues solved rel...
284
          })
860da881d   Shikha Mishra   comment all consoles
285
          .then((response) => {
acb6c9e2b   Shikha Mishra   issues solved rel...
286
287
288
289
290
291
            this.getPaymentHistory();
            this.snackbar = true;
            this.text = response.data.message;
            this.color = "green";
            this.editPaymentDialog = false;
          })
860da881d   Shikha Mishra   comment all consoles
292
293
          .catch((error) => {
            //   console.log("error", error.response);
acb6c9e2b   Shikha Mishra   issues solved rel...
294
            this.snackbar = true;
59793b95a   Neeraj Sharma   complete design a...
295
            this.text = error.response.data.message;
acb6c9e2b   Shikha Mishra   issues solved rel...
296
297
298
            this.color = "red";
          });
      },
68d742034   Neeraj Sharma   implement new des...
299
      displaySearch() {
109a6218c   Neeraj Sharma   solve issue/bugs ...
300
301
        this.show = false;
        this.showSearch = true;
68d742034   Neeraj Sharma   implement new des...
302
303
304
305
306
      },
      closeSearch() {
        this.showSearch = false;
        this.show = true;
        this.search = "";
860da881d   Shikha Mishra   comment all consoles
307
      },
687e0b929   Neeraj Sharma   add user,attenden...
308
309
    },
    mounted() {
acb6c9e2b   Shikha Mishra   issues solved rel...
310
      this.token = this.$store.state.token;
687e0b929   Neeraj Sharma   add user,attenden...
311
      this.getPaymentHistory();
860da881d   Shikha Mishra   comment all consoles
312
    },
687e0b929   Neeraj Sharma   add user,attenden...
313
  };
68d742034   Neeraj Sharma   implement new des...
314
  </script>