Blame view

src/pages/Mark/markDistribution.vue 11.2 KB
006544386   Neeraj Sharma   implement task
1
  <template>
68d742034   Neeraj Sharma   implement new des...
2
3
    <v-container fluid class="body-color">
      <!-- ****** EDIT  Mark Distribution ****** -->
db965de89   Amber Dev   added dialog pers...
4
      <v-dialog v-model="editMarkDistributionDialog" max-width="500px" persistent>
4dd422bef   Shikha Mishra   change ui of card...
5
        <v-card flat class="Card-style pa-2">
68d742034   Neeraj Sharma   implement new des...
6
7
          <v-layout>
            <v-flex xs12>
8c3acf4a9   Shikha Mishra   improve details
8
              <label class="title text-xs-center">Edit Mark Distribution</label>
68d742034   Neeraj Sharma   implement new des...
9
              <v-icon size="24" class="right" @click="editMarkDistributionDialog = false">cancel</v-icon>
006544386   Neeraj Sharma   implement task
10
            </v-flex>
68d742034   Neeraj Sharma   implement new des...
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
          </v-layout>
          <v-form ref="form">
            <v-container fluid>
              <v-flex xs12 sm12>
                <v-layout>
                  <v-flex xs4 class="pt-4 subheading">
                    <label class="right">Mark Distribution:</label>
                  </v-flex>
                  <v-flex xs8 sm6 class="ml-3">
                    <v-text-field
                      v-model="editedItem.distributionType"
                      placeholder="fill your Distribution Type"
                    ></v-text-field>
                  </v-flex>
                </v-layout>
              </v-flex>
              <v-flex xs12 sm12>
                <v-layout>
                  <v-flex xs4 class="pt-4 subheading">
                    <label class="right">Mark Value:</label>
                  </v-flex>
                  <v-flex xs8 sm6 class="ml-3">
                    <v-text-field placeholder="fill your  Mark Value" v-model="editedItem.markValue"></v-text-field>
                  </v-flex>
                </v-layout>
              </v-flex>
              <v-layout>
                <v-flex xs12 sm11>
                  <v-card-actions>
                    <v-spacer></v-spacer>
                    <v-btn round dark @click="save" class="add-button">Save</v-btn>
                  </v-card-actions>
                </v-flex>
              </v-layout>
            </v-container>
          </v-form>
        </v-card>
      </v-dialog>
      <!-- ****** MARK DISTRIBUTATION TABLE ****** -->
      <v-toolbar color="transparent" flat>
        <v-btn
          fab
          dark
          class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only"
          small
          @click="addMarkDistributionDialog = true"
        >
          <v-icon dark>add</v-icon>
        </v-btn>
        <v-btn
          round
          class="open-dialog-button hidden-sm-only hidden-xs-only"
          dark
          @click="addMarkDistributionDialog = true"
        >
          <v-icon class="white--text pr-1" size="20">add</v-icon>Add Mark Distribution
        </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...
72
              <img src="/static/icon/search.png" alt="icon" />
68d742034   Neeraj Sharma   implement new des...
73
74
75
            </v-avatar>
          </v-btn>
        </v-card-title>
612b79bb4   Amber Dev   made serch auto f...
76
        <v-flex xs8 sm8 md3 lg2 v-if="showSearch">
68d742034   Neeraj Sharma   implement new des...
77
          <v-layout>
860da881d   Shikha Mishra   comment all consoles
78
79
80
81
82
83
84
            <v-text-field
              autofocus
              v-model="search"
              label="Search"
              prepend-inner-icon="search"
              color="primary"
            ></v-text-field>
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
            <v-icon @click="closeSearch" color="error">close</v-icon>
          </v-layout>
        </v-flex>
      </v-toolbar>
      <v-data-table
        :headers="headers"
        :items="markList"
        :pagination.sync="pagination"
        :search="search"
      >
        <template slot="items" slot-scope="props">
          <tr class="tr">
            <td class="td td-row text-xs-center">{{ props.index + 1 }}</td>
            <td class="td td-row text-xs-center">{{ props.item.distributionType }}</td>
            <td class="td td-row text-xs-center linkCover">{{ props.item.markValue }}</td>
            <td class="td td-row text-xs-center">
              <span>
                <img
                  style="cursor:pointer; width:20px; height:18px; "
                  class="mr-3"
                  @click="editItem(props.item)"
aa310d61a   Shikha Mishra   added functionali...
106
                  src="/static/icon/edit.png"
68d742034   Neeraj Sharma   implement new des...
107
108
109
110
                />
                <img
                  style="cursor:pointer; width:20px; height:20px; "
                  @click="deleteItem(props.item)"
aa310d61a   Shikha Mishra   added functionali...
111
                  src="/static/icon/delete.png"
68d742034   Neeraj Sharma   implement new des...
112
113
114
115
116
117
118
119
120
121
122
123
124
                />
              </span>
            </td>
          </tr>
        </template>
        <v-alert
          slot="no-results"
          :value="true"
          color="error"
          icon="warning"
        >Your search for "{{ search }}" found no results.</v-alert>
      </v-data-table>
      <!-- ****** ADD MULTIPLE REMINDER ****** -->
db965de89   Amber Dev   added dialog pers...
125
      <v-dialog v-model="addMarkDistributionDialog" max-width="500px" persistent>
4dd422bef   Shikha Mishra   change ui of card...
126
        <v-card flat class="Card-style pa-2">
68d742034   Neeraj Sharma   implement new des...
127
128
129
          <v-layout>
            <v-flex xs12>
              <label class="title text-xs-center">Add Mark Distribution</label>
860da881d   Shikha Mishra   comment all consoles
130
131
132
133
134
              <v-icon
                size="24"
                class="right"
                @click="$refs.form.reset();addMarkDistributionDialog = false"
              >cancel</v-icon>
006544386   Neeraj Sharma   implement task
135
            </v-flex>
68d742034   Neeraj Sharma   implement new des...
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
          </v-layout>
          <v-form ref="form" v-model="valid" lazy-validation>
            <v-container fluid>
              <v-flex xs12>
                <v-layout wrap>
                  <v-flex xs12 sm12 md4 class="pt-4 subheading">
                    <label class="right hidden-xs-only hidden-sm-only">Mark Distribution:</label>
                    <label class="hidden-md-only hidden-lg-only hidden-xl-only">Mark Distribution:</label>
                  </v-flex>
                  <v-flex xs12 sm12 md7 class="ml-3">
                    <v-text-field
                      v-model="mark.distributionType"
                      placeholder="fill your Mark Distribution"
                      :rules="markDistributionRules"
                    ></v-text-field>
                  </v-flex>
                </v-layout>
              </v-flex>
              <v-flex xs12>
                <v-layout wrap>
                  <v-flex xs12 sm12 md4 class="pt-4 subheading">
                    <label class="right hidden-xs-only hidden-sm-only">Mark Value:</label>
                    <label class="hidden-md-only hidden-lg-only hidden-xl-only">Mark Value:</label>
                  </v-flex>
                  <v-flex xs12 sm12 md7 class="ml-3">
                    <v-text-field
                      placeholder="fill your Mark Value"
                      :rules="markValueRules"
                      v-model="mark.markValue"
                      type="text"
                      required
                    ></v-text-field>
                  </v-flex>
                </v-layout>
              </v-flex>
              <v-layout>
                <v-flex xs12 sm12>
                  <v-layout>
                    <v-spacer></v-spacer>
                    <v-btn @click="clear" round class="clear-button" dark>clear</v-btn>
                    <v-btn @click="submit" round dark :loading="loading" class="add-button">Add</v-btn>
                  </v-layout>
                </v-flex>
              </v-layout>
            </v-container>
          </v-form>
        </v-card>
      </v-dialog>
006544386   Neeraj Sharma   implement task
184
185
186
187
188
189
      <v-snackbar
        :timeout="timeout"
        :top="y === 'top'"
        :right="x === 'right'"
        :vertical="mode === 'vertical'"
        v-model="snackbar"
68d742034   Neeraj Sharma   implement new des...
190
        :color="color"
006544386   Neeraj Sharma   implement task
191
192
193
194
      >{{ text }}</v-snackbar>
      <div class="loader" v-if="showLoader">
        <v-progress-circular indeterminate color="white"></v-progress-circular>
      </div>
68d742034   Neeraj Sharma   implement new des...
195
    </v-container>
006544386   Neeraj Sharma   implement task
196
197
198
199
200
201
202
203
204
205
206
207
  </template>
  
  <script>
  import http from "@/Services/http.js";
  import Util from "@/util";
  
  export default {
    data: () => ({
      snackbar: false,
      y: "top",
      x: "right",
      mode: "",
68d742034   Neeraj Sharma   implement new des...
208
209
      color: "",
      timeout: 5000,
006544386   Neeraj Sharma   implement task
210
211
212
213
      text: "",
      loading: false,
      search: "",
      showLoader: false,
68d742034   Neeraj Sharma   implement new des...
214
215
216
217
      show: true,
      showSearch: false,
      editMarkDistributionDialog: false,
      addMarkDistributionDialog: false,
006544386   Neeraj Sharma   implement task
218
219
220
221
      valid: true,
      isActive: true,
      newActive: false,
      pagination: {
860da881d   Shikha Mishra   comment all consoles
222
        rowsPerPage: 15,
006544386   Neeraj Sharma   implement task
223
      },
860da881d   Shikha Mishra   comment all consoles
224
225
226
227
      markDistributionRules: [
        (v) => !!v || " Mark Distribution type is required",
      ],
      markValueRules: [(v) => !!v || "Mark Value is required"],
006544386   Neeraj Sharma   implement task
228
229
230
231
232
      headers: [
        {
          text: "No",
          align: "center",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
233
          value: "No",
006544386   Neeraj Sharma   implement task
234
235
236
237
238
        },
        {
          text: " Mark Distribution Type",
          value: " distributionType",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
239
          align: "center",
006544386   Neeraj Sharma   implement task
240
241
242
243
244
        },
        {
          text: " Mark Value",
          value: "markValue",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
245
          align: "center",
006544386   Neeraj Sharma   implement task
246
        },
860da881d   Shikha Mishra   comment all consoles
247
        { text: "Action", value: "", sortable: false, align: "center" },
006544386   Neeraj Sharma   implement task
248
249
250
251
252
      ],
      markList: [],
      editedIndex: -1,
      mark: {},
      editedItem: {},
860da881d   Shikha Mishra   comment all consoles
253
      token: "",
006544386   Neeraj Sharma   implement task
254
255
256
257
258
259
    }),
    methods: {
      getMarkDistributions() {
        this.showLoader = true;
        http()
          .get("/getMarkDistributionsList", {
860da881d   Shikha Mishra   comment all consoles
260
            headers: { Authorization: "Bearer " + this.token },
006544386   Neeraj Sharma   implement task
261
          })
860da881d   Shikha Mishra   comment all consoles
262
          .then((response) => {
006544386   Neeraj Sharma   implement task
263
264
265
            this.markList = response.data.data;
            this.showLoader = false;
          })
860da881d   Shikha Mishra   comment all consoles
266
          .catch((error) => {
006544386   Neeraj Sharma   implement task
267
268
269
270
271
272
273
274
275
276
277
            this.showLoader = false;
            // if (error.response.status === 401) {
            //   this.$router.replace({ path: "/" });
            //   this.$store.dispatch("setToken", null);
            //   this.$store.dispatch("Id", null);
            // }
          });
      },
      editItem(item) {
        this.editedIndex = this.markList.indexOf(item);
        this.editedItem = Object.assign({}, item);
68d742034   Neeraj Sharma   implement new des...
278
        this.editMarkDistributionDialog = true;
006544386   Neeraj Sharma   implement task
279
280
281
      },
      deleteItem(item) {
        let deleteParticularMark = {
860da881d   Shikha Mishra   comment all consoles
282
          markDistributionId: item._id,
006544386   Neeraj Sharma   implement task
283
284
285
286
287
        };
        http()
          .delete(
            "/deleteMarkDistribution",
            confirm("Are you sure you want to delete this?") && {
860da881d   Shikha Mishra   comment all consoles
288
              params: deleteParticularMark,
006544386   Neeraj Sharma   implement task
289
290
            }
          )
860da881d   Shikha Mishra   comment all consoles
291
          .then((response) => {
006544386   Neeraj Sharma   implement task
292
293
294
295
            this.snackbar = true;
            this.text = response.data.message;
            this.getMarkDistributions();
          })
860da881d   Shikha Mishra   comment all consoles
296
297
298
299
300
          .catch((error) => {
            //   console.log(error);
            this.snackbar = true;
            this.color = "error";
            this.text = error.response.data.message;
006544386   Neeraj Sharma   implement task
301
302
          });
      },
006544386   Neeraj Sharma   implement task
303
      close() {
68d742034   Neeraj Sharma   implement new des...
304
        this.editMarkDistributionDialog = false;
006544386   Neeraj Sharma   implement task
305
306
307
308
309
310
      },
      submit() {
        if (this.$refs.form.validate()) {
          this.loading = true;
          http()
            .post("/createMarkDistribution", this.mark)
860da881d   Shikha Mishra   comment all consoles
311
            .then((response) => {
006544386   Neeraj Sharma   implement task
312
313
314
315
              this.snackbar = true;
              this.text = response.data.message;
              this.getMarkDistributions();
              this.clear();
68d742034   Neeraj Sharma   implement new des...
316
              this.addMarkDistributionDialog = false;
006544386   Neeraj Sharma   implement task
317
318
              this.loading = false;
            })
860da881d   Shikha Mishra   comment all consoles
319
            .catch((error) => {
006544386   Neeraj Sharma   implement task
320
321
322
323
324
325
326
327
328
329
330
331
332
              this.snackbar = true;
              this.text = error.response.data.message;
              this.loading = false;
            });
        }
      },
      clear() {
        this.$refs.form.reset();
      },
      save() {
        (this.editedItem.markDistributionId = this.editedItem._id),
          http()
            .put("/updateMarkDistribution", this.editedItem)
860da881d   Shikha Mishra   comment all consoles
333
            .then((response) => {
006544386   Neeraj Sharma   implement task
334
335
              this.snackbar = true;
              this.text = "Successfully Edit Notification";
e8965626f   Shikha Mishra   set login design ...
336
              this.color = "green";
006544386   Neeraj Sharma   implement task
337
338
339
              this.getMarkDistributions();
              this.close();
            })
860da881d   Shikha Mishra   comment all consoles
340
341
            .catch((error) => {
              // console.log(error);
e8965626f   Shikha Mishra   set login design ...
342
343
344
              this.snackbar = true;
              this.text = error.response.data.message;
              this.color = "red";
006544386   Neeraj Sharma   implement task
345
            });
68d742034   Neeraj Sharma   implement new des...
346
347
348
349
350
351
352
353
      },
      displaySearch() {
        (this.show = false), (this.showSearch = true);
      },
      closeSearch() {
        this.showSearch = false;
        this.show = true;
        this.search = "";
860da881d   Shikha Mishra   comment all consoles
354
      },
006544386   Neeraj Sharma   implement task
355
356
357
358
    },
    mounted() {
      this.token = this.$store.state.token;
      this.getMarkDistributions();
860da881d   Shikha Mishra   comment all consoles
359
    },
006544386   Neeraj Sharma   implement task
360
361
  };
  </script>
68d742034   Neeraj Sharma   implement new des...
362
  <style scoped>