Blame view

src/pages/Provider.vue 11.9 KB
93a68cfa1   Jatinder Singh   first commit
1
  <template>
eba96ec51   Neeraj Sharma   set login name on...
2
3
4
5
6
7
8
9
10
    <!-- <v-container fluid> -->
    <v-flex xs12>
      <v-card>
        <v-card-title>
          <v-flex xs12 lg2 md3 sm4>
            <h4 class="text-xs-center">Healthcare Providers</h4>
          </v-flex>
          <v-spacer></v-spacer>
          <!-- SEARCH ALL HEALTH PROVIDER -->
659b42db7   Neeraj Sharma   changes something...
11
          <v-flex xs12 sm4 lg3 class="top">
eba96ec51   Neeraj Sharma   set login name on...
12
13
14
            <v-text-field
              justify-right
              prepend-icon="search"
ac10393a4   Neeraj Sharma   add calender date...
15
              v-model="terms"
eba96ec51   Neeraj Sharma   set login name on...
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
              label="Find Yours Users"
              color="black"
            ></v-text-field>
          </v-flex>
        </v-card-title>
        <!-- EDIT HEALTH PROVIDER -->
        <v-snackbar
          :timeout="timeout"
          :top="y === 'top'"
          :right="x === 'right'"
          :vertical="mode === 'vertical'"
          v-model="snackbar"
          color="success"
        >{{ text }}</v-snackbar>
        <v-dialog v-model="dialog" max-width="500px">
          <v-toolbar color="white">
            <v-spacer></v-spacer>
            <v-toolbar-title>Edit Profile</v-toolbar-title>
            <v-spacer></v-spacer>
          </v-toolbar>
          <v-card>
            <v-flex align-center justify-center layout text-xs-center>
              <v-avatar size="50px" style="position:absolute; top:10px; ">
                <img src="/static/icon/user.png">
              </v-avatar>
            </v-flex>
93a68cfa1   Jatinder Singh   first commit
42
            <v-card-text>
eba96ec51   Neeraj Sharma   set login name on...
43
              <v-container grid-list-md>
03dcbf0c1   Neeraj Sharma   fix all api and r...
44
                <v-layout wrap justify-center>
eba96ec51   Neeraj Sharma   set login name on...
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
                  <v-flex xs12 sm9>
                    <v-form ref="form" v-model="valid" lazy-validation>
                      <v-layout style="position:relative; top:15px; ">
                        <v-flex xs4 class="pt-4 subheading">
                          <label>First Name:</label>
                        </v-flex>
                        <v-flex xs8>
                          <v-text-field v-model="editedItem.name" :rules="nameRules" required></v-text-field>
                        </v-flex>
                      </v-layout>
                      <v-layout>
                        <v-flex xs4 class="pt-4 subheading">
                          <label>Last Name:</label>
                        </v-flex>
                        <v-flex xs8>
                          <v-text-field v-model="editedItem.lastname" required></v-text-field>
                        </v-flex>
                      </v-layout>
                      <v-layout>
                        <v-flex xs4 class="pt-4 subheading">
                          <label>Email ID:</label>
                        </v-flex>
                        <v-flex xs8>
                          <v-text-field
                            v-model="editedItem.email"
                            :rules="emailRules"
                            data-vv-name="E-mail"
                            required
                          ></v-text-field>
                        </v-flex>
                      </v-layout>
                      <v-card-actions>
                        <v-btn round dark @click.native="close">Cancel</v-btn>
                        <v-spacer></v-spacer>
                        <v-btn round dark @click.native="save">Save</v-btn>
                      </v-card-actions>
                    </v-form>
                  </v-flex>
                </v-layout>
              </v-container>
            </v-card-text>
          </v-card>
        </v-dialog>
        <!-- VIEW PROFILE PRVIDE LIST -->
        <v-dialog v-model="dialog1" max-width="700px">
          <v-toolbar color="white">
            <v-spacer></v-spacer>
            <v-toolbar-title>Profile</v-toolbar-title>
            <v-spacer></v-spacer>
            <v-icon @click="close1">close</v-icon>
          </v-toolbar>
          <v-card>
            <v-flex align-center justify-center layout text-xs-center>
              <v-avatar size="60px" style="position:absolute; top:10px;">
                <img src="/static/icon/user.png">
              </v-avatar>
            </v-flex>
            <v-card-text>
              <v-container grid-list-md>
                <v-layout wrap justify-center>
                  <v-flex sm12 offset-sm3>
                    <br>
                    <br>
                    <v-layout>
                      <v-flex xs4>
                        <h5 class="right">First Name:</h5>
03dcbf0c1   Neeraj Sharma   fix all api and r...
111
112
                      </v-flex>
                      <v-flex xs8>
eba96ec51   Neeraj Sharma   set login name on...
113
114
115
                        <h5 class="left">{{ editedItem.name }}</h5>
                      </v-flex>
                    </v-layout>
03dcbf0c1   Neeraj Sharma   fix all api and r...
116
                    <v-layout>
eba96ec51   Neeraj Sharma   set login name on...
117
118
                      <v-flex xs4>
                        <h5 class="right my-3">Last Name:</h5>
03dcbf0c1   Neeraj Sharma   fix all api and r...
119
120
                      </v-flex>
                      <v-flex xs8>
eba96ec51   Neeraj Sharma   set login name on...
121
122
123
                        <h5 class="my-3 left">{{ editedItem.name }}</h5>
                      </v-flex>
                    </v-layout>
03dcbf0c1   Neeraj Sharma   fix all api and r...
124
                    <v-layout>
eba96ec51   Neeraj Sharma   set login name on...
125
126
                      <v-flex xs4>
                        <h5 class="right">Email:</h5>
03dcbf0c1   Neeraj Sharma   fix all api and r...
127
128
                      </v-flex>
                      <v-flex xs8>
eba96ec51   Neeraj Sharma   set login name on...
129
130
131
                        <h5 class="left">{{ editedItem.email }}</h5>
                      </v-flex>
                    </v-layout>
03dcbf0c1   Neeraj Sharma   fix all api and r...
132
133
134
                  </v-flex>
                </v-layout>
              </v-container>
eba96ec51   Neeraj Sharma   set login name on...
135
136
137
138
139
140
141
            </v-card-text>
          </v-card>
          <!-- PROVIDER DATA TABLE PROVIDER DEATILS -->
        </v-dialog>
        <v-data-table
          :headers="headers"
          :items="desserts"
ac10393a4   Neeraj Sharma   add calender date...
142
          :terms="terms"
eba96ec51   Neeraj Sharma   set login name on...
143
144
145
146
147
148
149
150
151
152
153
154
          class="elevation-1"
          :pagination.sync="pagination"
        >
          <template slot="items" slot-scope="props">
            <v-snackbar
              :timeout="timeout"
              :top="y === 'top'"
              :right="x === 'right'"
              :vertical="mode === 'vertical'"
              v-model="statussnackbar"
              color="success"
            >{{ text }}</v-snackbar>
03dcbf0c1   Neeraj Sharma   fix all api and r...
155
156
157
158
159
            <td id="td" class="text-xs-center">{{ props.index }}</td>
            <td id="td" class="text-xs-center">{{ props.item.name}}</td>
            <td id="td" class="text-xs-center">{{ props.item.email }}</td>
            <td id="td" class="text-xs-center">
              <v-flex xs12 sm12>
eba96ec51   Neeraj Sharma   set login name on...
160
161
162
163
164
165
166
167
168
                <v-select
                  :items="statusList"
                  @change="changeswitch(props.item)"
                  v-model="props.item.e1"
                  menu-props="auto"
                  :label="props.item.verified"
                  hide-details
                  single-line
                ></v-select>
c1fd43e24   Jatinder Singh   changes
169
              </v-flex>
eba96ec51   Neeraj Sharma   set login name on...
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
            </td>
            <td class="text-xs-center">
              <span>
                <img
                  style="cursor:pointer; width:25px; height:18px; "
                  class="mr-5"
                  @click="profile(props.item)"
                  src="/static/icon/eye1.png"
                >
                <img
                  style="cursor:pointer; width:20px; height:18px; "
                  class="mr-5"
                  @click="editItem(props.item)"
                  src="/static/icon/edit1.png"
                >
                <img
                  style="cursor:pointer; height:20px; "
                  class="mr-5"
                  @click="deleteItem(props.item)"
                  src="/static/icon/delete1.png"
                >
              </span>
            </td>
          </template>
          <v-alert
            slot="no-results"
            :value="true"
            color="error"
            icon="warning"
ac10393a4   Neeraj Sharma   add calender date...
199
          >Your search for "{{ terms }}" found no results.</v-alert>
eba96ec51   Neeraj Sharma   set login name on...
200
201
202
203
        </v-data-table>
      </v-card>
    </v-flex>
    <!-- </v-container> -->
93a68cfa1   Jatinder Singh   first commit
204
205
  </template>
  <script>
eba96ec51   Neeraj Sharma   set login name on...
206
  import http from "@/Services/http.js";
93a68cfa1   Jatinder Singh   first commit
207
208
  export default {
    data: () => ({
03dcbf0c1   Neeraj Sharma   fix all api and r...
209
      snackbar: false,
eba96ec51   Neeraj Sharma   set login name on...
210
      statussnackbar: false,
03dcbf0c1   Neeraj Sharma   fix all api and r...
211
212
213
214
215
      y: "top",
      x: "right",
      mode: "",
      timeout: 3000,
      text: "",
eba96ec51   Neeraj Sharma   set login name on...
216
217
      valid: "",
      modaledit: false,
93a68cfa1   Jatinder Singh   first commit
218
219
      dialog: false,
      dialog1: false,
eba96ec51   Neeraj Sharma   set login name on...
220
      statusList: ["APPROVED", "DECLINED"],
ac10393a4   Neeraj Sharma   add calender date...
221
      terms: [],
eba96ec51   Neeraj Sharma   set login name on...
222
      e1: "",
c35a8dafd   Jatinder Singh   minor changes
223
      rules: {
eba96ec51   Neeraj Sharma   set login name on...
224
225
226
227
228
229
230
        required: value => !!value || "This field is Required.",
        min: v =>
          (/^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/.test(
            v
          ) &&
            v.length > 0) ||
          "Please enter a date in the format dd/mm/yyyy"
c35a8dafd   Jatinder Singh   minor changes
231
      },
eba96ec51   Neeraj Sharma   set login name on...
232
      nameRules: [v => !!v || " First Name is required"],
03dcbf0c1   Neeraj Sharma   fix all api and r...
233
      // lnameRules: [v => !!v || ' Last Name is required'],
e2e46164f   Jatinder Singh   edit profile changes
234
      emailRules: [
eba96ec51   Neeraj Sharma   set login name on...
235
236
        v => !!v || "E-mail is required",
        v => /.+@.+/.test(v) || "E-mail must be valid"
e2e46164f   Jatinder Singh   edit profile changes
237
      ],
5ac5570a9   Jatinder Singh   datatable changes
238
      pagination: {
eba96ec51   Neeraj Sharma   set login name on...
239
        rowsPerPage: 13
5ac5570a9   Jatinder Singh   datatable changes
240
      },
93a68cfa1   Jatinder Singh   first commit
241
      headers: [
eba96ec51   Neeraj Sharma   set login name on...
242
243
244
        {
          text: "No",
          align: "center",
93a68cfa1   Jatinder Singh   first commit
245
          sortable: false,
eba96ec51   Neeraj Sharma   set login name on...
246
          value: "no"
93a68cfa1   Jatinder Singh   first commit
247
        },
eba96ec51   Neeraj Sharma   set login name on...
248
249
250
251
        { text: "Name", value: "name", sortable: false, align: "center" },
        { text: "Email", value: "email", sortable: false, align: "center" },
        { text: "Status", value: "verified", sortable: false, align: "center" },
        { text: "", value: "", sortable: false }
93a68cfa1   Jatinder Singh   first commit
252
253
254
255
      ],
      desserts: [],
      editedIndex: -1,
      editedItem: {
eba96ec51   Neeraj Sharma   set login name on...
256
257
258
259
260
        No: "",
        Name: "",
        lastname: "",
        Email: "",
        dob: ""
93a68cfa1   Jatinder Singh   first commit
261
262
      },
      defaultItem: {
eba96ec51   Neeraj Sharma   set login name on...
263
264
265
266
267
268
        No: "",
        Name: "",
        lastname: "",
        Email: "",
        dob: ""
      }
93a68cfa1   Jatinder Singh   first commit
269
    }),
93a68cfa1   Jatinder Singh   first commit
270
    watch: {
eba96ec51   Neeraj Sharma   set login name on...
271
      dialog(val) {
93a68cfa1   Jatinder Singh   first commit
272
273
274
        val || this.close();
      }
    },
eba96ec51   Neeraj Sharma   set login name on...
275
    created() {
93a68cfa1   Jatinder Singh   first commit
276
277
      this.initialize();
    },
eba96ec51   Neeraj Sharma   set login name on...
278
    mounted() {
e173bab21   Jatinder Singh   api
279
280
      this.getProviderList();
    },
93a68cfa1   Jatinder Singh   first commit
281
    methods: {
eba96ec51   Neeraj Sharma   set login name on...
282
283
284
285
286
287
      getProviderList() {
        var token = this.$store.state.token;
        http()
          .get("/provider-list", {
            headers: { Authorization: "Bearer " + token }
          })
e173bab21   Jatinder Singh   api
288
          .then(response => {
03dcbf0c1   Neeraj Sharma   fix all api and r...
289
            this.desserts = response.data.data.providerList;
ac10393a4   Neeraj Sharma   add calender date...
290
291
            this.terms = response.data.data
            console.log(terms)
eba96ec51   Neeraj Sharma   set login name on...
292
293
294
295
          })
          .catch(err => {
            console.log("err====>", err);
          });
e173bab21   Jatinder Singh   api
296
      },
eba96ec51   Neeraj Sharma   set login name on...
297
      initialize() {
03dcbf0c1   Neeraj Sharma   fix all api and r...
298
        this.desserts = [];
93a68cfa1   Jatinder Singh   first commit
299
      },
eba96ec51   Neeraj Sharma   set login name on...
300
      editItem(item) {
93a68cfa1   Jatinder Singh   first commit
301
302
303
304
        this.editedIndex = this.desserts.indexOf(item);
        this.editedItem = Object.assign({}, item);
        this.dialog = true;
      },
eba96ec51   Neeraj Sharma   set login name on...
305
      profile(item) {
a259e694f   Jatinder Singh   minor change
306
307
        this.editedIndex = this.desserts.indexOf(item);
        this.editedItem = Object.assign({}, item);
04e3fbc56   Jatinder Singh   minor fix
308
309
        this.dialog1 = true;
      },
eba96ec51   Neeraj Sharma   set login name on...
310
      changeswitch(item) {
03dcbf0c1   Neeraj Sharma   fix all api and r...
311
        let addStatus = {
eba96ec51   Neeraj Sharma   set login name on...
312
313
          userId: item.userId,
          status: item.e1
03dcbf0c1   Neeraj Sharma   fix all api and r...
314
        };
eba96ec51   Neeraj Sharma   set login name on...
315
316
        http()
          .post("/approve-decline", addStatus)
03dcbf0c1   Neeraj Sharma   fix all api and r...
317
318
          .then(response => {
            if ((this.statussnackbar = true)) {
eba96ec51   Neeraj Sharma   set login name on...
319
              this.text = "Successfully change your status is" + " " + item.e1;
03dcbf0c1   Neeraj Sharma   fix all api and r...
320
321
322
323
324
325
326
            }
            this.getProviderList();
          })
          .catch(error => {
            console.log(error);
          });
      },
eba96ec51   Neeraj Sharma   set login name on...
327
      deleteItem(item) {
03dcbf0c1   Neeraj Sharma   fix all api and r...
328
        let addUsers = {
eba96ec51   Neeraj Sharma   set login name on...
329
          userId: item.userId
03dcbf0c1   Neeraj Sharma   fix all api and r...
330
        };
eba96ec51   Neeraj Sharma   set login name on...
331
        http()
ac10393a4   Neeraj Sharma   add calender date...
332
          .post("/deleteProvider", confirm('Are you sure you want to delete this?') && addUsers)
03dcbf0c1   Neeraj Sharma   fix all api and r...
333
          .then(response => {
eba96ec51   Neeraj Sharma   set login name on...
334
            if ((this.snackbar = true)) {
03dcbf0c1   Neeraj Sharma   fix all api and r...
335
              this.text = "Successfully delete Health Care Priovider";
eba96ec51   Neeraj Sharma   set login name on...
336
            }
03dcbf0c1   Neeraj Sharma   fix all api and r...
337
338
339
340
341
            this.getProviderList();
          })
          .catch(error => {
            console.log(error);
          });
93a68cfa1   Jatinder Singh   first commit
342
      },
eba96ec51   Neeraj Sharma   set login name on...
343
      close() {
93a68cfa1   Jatinder Singh   first commit
344
345
346
347
348
349
        this.dialog = false;
        setTimeout(() => {
          this.editedItem = Object.assign({}, this.defaultItem);
          this.editedIndex = -1;
        }, 300);
      },
eba96ec51   Neeraj Sharma   set login name on...
350
      close1() {
04e3fbc56   Jatinder Singh   minor fix
351
352
        this.dialog1 = false;
      },
93a68cfa1   Jatinder Singh   first commit
353

eba96ec51   Neeraj Sharma   set login name on...
354
355
      save() {
        let editUsers = {
ac10393a4   Neeraj Sharma   add calender date...
356
          name: this.editedItem.name + " " + this.editedItem.lastname,
eba96ec51   Neeraj Sharma   set login name on...
357
          dob: this.editedItem.dob,
03dcbf0c1   Neeraj Sharma   fix all api and r...
358
359
          email: this.editedItem.email,
          userId: this.editedItem.userId
eba96ec51   Neeraj Sharma   set login name on...
360
361
362
        };
        http()
          .post("/provider-detail", editUsers)
03dcbf0c1   Neeraj Sharma   fix all api and r...
363
          .then(response => {
eba96ec51   Neeraj Sharma   set login name on...
364
            if ((this.snackbar = true)) {
03dcbf0c1   Neeraj Sharma   fix all api and r...
365
366
367
368
369
370
371
              this.text = "Successfully Edit Health Care Priovider";
            }
            this.getProviderList();
          })
          .catch(error => {
            console.log(error);
          });
eba96ec51   Neeraj Sharma   set login name on...
372
        this.close();
93a68cfa1   Jatinder Singh   first commit
373
      }
eba96ec51   Neeraj Sharma   set login name on...
374
    }
93a68cfa1   Jatinder Singh   first commit
375
  };
04e3fbc56   Jatinder Singh   minor fix
376
377
378
  </script>
  <style scoped>
  .v-card__actions .v-btn {
eba96ec51   Neeraj Sharma   set login name on...
379
380
    margin: 0px;
    min-width: 120px;
04e3fbc56   Jatinder Singh   minor fix
381
  }
269061695   Jatinder Singh   changes
382
  #td {
eba96ec51   Neeraj Sharma   set login name on...
383
384
    border: 1px solid #dddddd;
    padding: 8px;
269061695   Jatinder Singh   changes
385
  }
eba96ec51   Neeraj Sharma   set login name on...
386
387
  #flex {
    height: 300px;
03dcbf0c1   Neeraj Sharma   fix all api and r...
388
  }
eba96ec51   Neeraj Sharma   set login name on...
389
  .v-select_selctions.v-select_slot.v-select_selection {
03dcbf0c1   Neeraj Sharma   fix all api and r...
390
391
    color: black !important;
  }
659b42db7   Neeraj Sharma   changes something...
392
393
394
395
396
397
  @media screen and (max-width: 769px){
    .top{
      margin-top:30px;
    }
    
  }
eba96ec51   Neeraj Sharma   set login name on...
398
399
  @media screen and (max-width: 476px) {
    .flex.xs4 {
03dcbf0c1   Neeraj Sharma   fix all api and r...
400
401
      flex-basis: 55.666667%;
      max-width: 71.666667%;
eba96ec51   Neeraj Sharma   set login name on...
402
    }
03dcbf0c1   Neeraj Sharma   fix all api and r...
403
  }
eba96ec51   Neeraj Sharma   set login name on...
404
405
  @media screen and (max-width: 402px) {
    h5 {
03dcbf0c1   Neeraj Sharma   fix all api and r...
406
      font-size: 13px;
eba96ec51   Neeraj Sharma   set login name on...
407
408
    }
    /* .right{
03dcbf0c1   Neeraj Sharma   fix all api and r...
409
410
    float:none !important;
  } */
eba96ec51   Neeraj Sharma   set login name on...
411
412
413
    .left {
      float: none !important;
    }
03dcbf0c1   Neeraj Sharma   fix all api and r...
414
  }
03dcbf0c1   Neeraj Sharma   fix all api and r...
415
  </style>
789f8298f   Jatinder Singh   change
416