Blame view

src/pages/Dashboard.vue 9.02 KB
93a68cfa1   Jatinder Singh   first commit
1
2
  <template>
  <v-tabs
04e3fbc56   Jatinder Singh   minor fix
3
    slider-color="black"
93a68cfa1   Jatinder Singh   first commit
4
  >
04e3fbc56   Jatinder Singh   minor fix
5
   <v-spacer></v-spacer>
93a68cfa1   Jatinder Singh   first commit
6
7
8
9
10
11
12
13
14
    <v-tab ripple>
      Existing user
    </v-tab>
    <v-spacer></v-spacer>
    <v-tab ripple>
      Add New Users
    </v-tab>
    <v-spacer></v-spacer>
    <v-tab-item>
c35a8dafd   Jatinder Singh   minor changes
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
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
       <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="40px" style="position:absolute; top:10px; "> 
        <img src="/static/avatar/download.png"/> </v-avatar> 
       </v-flex>  
            <v-card-text>
            <v-container grid-list-md>
            <v-layout wrap justify-center>
            <v-flex xs12 sm9> 
            <v-form>
      <v-text-field
        v-model="editedItem.Name" 
        v-validate="'required|max:15'"
        :error-messages="errors.collect('Name')"
        label="First Name"
        data-vv-name="Name"
        required >
      </v-text-field>
        <v-text-field
        v-validate="'required|max:10'"
        v-model="editedItem.LName"
        :error-messages="errors.collect('name')"
        label="Last Name"
        data-vv-name="name"
        required>
      </v-text-field>
      <v-text-field
        v-model="editedItem.Email" 
        v-validate="'required|email'"
        :error-messages="errors.collect('email')"
        label="E-mail"
        data-vv-name="email"
        required>
      </v-text-field>
      <v-text-field
         v-model="editedItem.DOB" 
         label="Date of Birth"
        :rules="[rules.required, rules.min]"
         >
      </v-text-field>
      <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>
  
  <v-dialog v-model="dialog1" max-width="500px">
         <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="40px" style="position:absolute; top:10px;"> 
        <img src="/static/avatar/download.png"/> </v-avatar> 
       </v-flex>  
   <v-card-text>
      <v-container grid-list-md>
        <v-layout wrap justify-center>
          <v-flex offset-xs3>
            
            <br><br>
            <table>
              <th>
                <tr><h5><b>First Name:</b></h5></tr><br>
                <tr><h5><b>Last Name:</b></h5></tr><br>
                <tr><h5><b>Email:</b></h5></tr><br>
                <tr><h5><b>Date Of Birth:</b></h5></tr>
              </th>
              <th>
               <tr><td><h5><b>{{ editedItem.Name }}</b></h5></td></tr><br>
              <tr> <td><h5><b>{{ editedItem.LName }}</b></h5></td></tr><br>
              <tr><td><h5><b>{{ editedItem.Email }}</b></h5></td></tr><br>
              <tr><td><h5><b>{{ editedItem.DOB }}</b></h5></td></tr>
              </th>
              
          
            </table>
          </v-flex>
        </v-layout>
      </v-container>
      </v-card-text>
      </v-card>
  </v-dialog>
  <v-dialog v-model="dialog2" max-width="800px">
  
  <v-toolbar color="white">
         <v-toolbar-title>Report</v-toolbar-title>
         <v-toolbar-items>
          <h5>Patient Name: {{ editedItem.Name }}</h5>
         
         </v-toolbar-items>
         <v-spacer></v-spacer>
         <v-icon @click="close2">close</v-icon>
         
         </v-toolbar>
       <v-card>
         <v-flex>
         </v-flex>
       </v-card>
  </v-dialog>
    
93a68cfa1   Jatinder Singh   first commit
136
        <v-data-table
c35a8dafd   Jatinder Singh   minor changes
137
138
          :headers="headers"
          :items="desserts"
c35a8dafd   Jatinder Singh   minor changes
139
140
        >
          <template slot="items" slot-scope="props">
ccd0aca1b   Jatinder Singh   changes
141
            <td style="border-right:1px solid red">{{ props.item.No }}</td>
c35a8dafd   Jatinder Singh   minor changes
142
143
144
145
146
            <td>{{ props.item.Name+' '+props.item.LName }}</td>
            <td>{{ props.item.Email }}</td>
            <!-- <td class="text-xs-right">{{ props.item.carbs }}</td>
            <td class="text-xs-right">{{ props.item.protein }}</td> -->
            <td class="justify-center layout px-0">
93a68cfa1   Jatinder Singh   first commit
147
            <v-icon
c35a8dafd   Jatinder Singh   minor changes
148
            @click="report(props.item)"
93a68cfa1   Jatinder Singh   first commit
149
              class="mr-2"
93a68cfa1   Jatinder Singh   first commit
150
            >
c35a8dafd   Jatinder Singh   minor changes
151
              report
93a68cfa1   Jatinder Singh   first commit
152
153
            </v-icon>
              <v-icon
93a68cfa1   Jatinder Singh   first commit
154
              class="mr-2"
c35a8dafd   Jatinder Singh   minor changes
155
              @click="profile(props.item)"
93a68cfa1   Jatinder Singh   first commit
156
            >
c35a8dafd   Jatinder Singh   minor changes
157
              visibility
93a68cfa1   Jatinder Singh   first commit
158
            </v-icon>
c35a8dafd   Jatinder Singh   minor changes
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
              <v-icon
              
                class="mr-2"
                @click="editItem(props.item)"
              >
                edit
              </v-icon>
              <v-icon
                
                @click="deleteItem(props.item)"
              >
                delete
              </v-icon>
            </td>
            <td></td>
          </template>
        </v-data-table>
93a68cfa1   Jatinder Singh   first commit
176
177
178
179
180
    </v-tab-item>
    <v-tab-item>
         <v-flex xs12 sm6 offset-sm3>
   
   
04e3fbc56   Jatinder Singh   minor fix
181
  <v-card flat>
c35a8dafd   Jatinder Singh   minor changes
182
       <!-- <v-card-text>Contents for Item 2 go here</v-card-text> -->
04e3fbc56   Jatinder Singh   minor fix
183
    <v-container fluid fill-height>
93a68cfa1   Jatinder Singh   first commit
184
      <v-layout align-center>
04e3fbc56   Jatinder Singh   minor fix
185
186
187
        <v-flex xs12 sm8 offset-sm2> 
         <v-flex offset-sm5>
          <v-avatar size="40px"> 
93a68cfa1   Jatinder Singh   first commit
188
          <img src="/static/avatar/download.png"/> </v-avatar> 
04e3fbc56   Jatinder Singh   minor fix
189
        </v-flex>
c35a8dafd   Jatinder Singh   minor changes
190
191
192
193
194
195
  <v-form ref="form" v-model="valid" lazy-validation>
      <v-text-field
        v-model="Name"
        :rules="nameRules"
        label="Name"
        required
93a68cfa1   Jatinder Singh   first commit
196
197
      ></v-text-field>
      <v-text-field
c35a8dafd   Jatinder Singh   minor changes
198
199
200
201
202
203
        :rules="nameRules"
        v-model="LName"
        label="Last name"
        required
        ></v-text-field>
      <v-text-field
93a68cfa1   Jatinder Singh   first commit
204
        v-model="email"
c35a8dafd   Jatinder Singh   minor changes
205
        :rules="emailRules"
93a68cfa1   Jatinder Singh   first commit
206
        label="E-mail"
c35a8dafd   Jatinder Singh   minor changes
207
208
        required
      ></v-text-field>
93a68cfa1   Jatinder Singh   first commit
209
      <v-text-field
04e3fbc56   Jatinder Singh   minor fix
210
        :rules="[rules.required, rules.min]"
c35a8dafd   Jatinder Singh   minor changes
211
212
213
214
215
216
217
218
219
220
221
        label="Date of Birth"
        v-model="DOB"
        required >
        </v-text-field>
  <v-card-actions>
      <v-btn @click="clear" round dark>clear</v-btn>
          <v-spacer></v-spacer>
      <v-btn @click="submit" round dark> Add </v-btn>
  
  </v-card-actions>
    </v-form>
93a68cfa1   Jatinder Singh   first commit
222
223
224
225
226
  </v-flex>
  </v-layout>
  </v-container>
      </v-card>
         </v-flex>
c35a8dafd   Jatinder Singh   minor changes
227
    </v-tab-item> 
93a68cfa1   Jatinder Singh   first commit
228
229
230
231
232
233
  </v-tabs>
  
   
  </template>
  
  <script>
c35a8dafd   Jatinder Singh   minor changes
234
  import axios from 'axios';
93a68cfa1   Jatinder Singh   first commit
235
  export default {
93a68cfa1   Jatinder Singh   first commit
236
    data: () => ({
c35a8dafd   Jatinder Singh   minor changes
237
238
      No: '',
      Name: '',
04e3fbc56   Jatinder Singh   minor fix
239
      LName: '',
c35a8dafd   Jatinder Singh   minor changes
240
      Email: '',
93a68cfa1   Jatinder Singh   first commit
241
      DOB: '',
04e3fbc56   Jatinder Singh   minor fix
242
      clear: '',
c35a8dafd   Jatinder Singh   minor changes
243
      submit: '',
93a68cfa1   Jatinder Singh   first commit
244
245
      search: '',
      dialog: false,
c35a8dafd   Jatinder Singh   minor changes
246
247
248
      dialog1: false,
      dialog2: false,
      valid: true,
04e3fbc56   Jatinder Singh   minor fix
249
250
251
      rules: {
        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'
04e3fbc56   Jatinder Singh   minor fix
252
      },
c35a8dafd   Jatinder Singh   minor changes
253
254
255
256
257
258
259
260
      nameRules: [
        v => !!v || 'Name is required',
      ],
      email: '',
      emailRules: [
        v => !!v || 'E-mail is required',
        v => /.+@.+/.test(v) || 'E-mail must be valid'
      ],
93a68cfa1   Jatinder Singh   first commit
261
262
263
264
265
      headers: [
        {
          text: 'No',
          align: 'left',
          sortable: false,
c35a8dafd   Jatinder Singh   minor changes
266
          value: 'No'
93a68cfa1   Jatinder Singh   first commit
267
268
269
        },
        { text: 'Name', value: 'Name', sortable: false },
        { text: 'Email', value: 'Email', sortable: false },
c35a8dafd   Jatinder Singh   minor changes
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
        { text: '', value: '', sortable: false },
        { text: '', value: '', sortable: false },
  
      ],
      desserts: [
        {
          No: 1,
          Name: 'Amit',
          LName: 'goyal',
          Email: 'jsi@gmail.com',
          DOB: '22/09/1996'
        },
        {
          No: 2,
          Name: 'Sumit',
          LName: 'kumar',
          Email: 'aasi@gmail.com',
          DOB: '16/09/1997'
        }
93a68cfa1   Jatinder Singh   first commit
289
      ],
93a68cfa1   Jatinder Singh   first commit
290
291
292
293
      editedIndex: -1,
      editedItem: {
        No: '',
        Name: '',
c35a8dafd   Jatinder Singh   minor changes
294
        LName: '',
93a68cfa1   Jatinder Singh   first commit
295
296
297
298
299
        Email: '',
      },
      defaultItem: {
        No: '',
        Name: '',
c35a8dafd   Jatinder Singh   minor changes
300
        LName: '',
93a68cfa1   Jatinder Singh   first commit
301
        Email: '',
c35a8dafd   Jatinder Singh   minor changes
302
      }
93a68cfa1   Jatinder Singh   first commit
303
    }),
93a68cfa1   Jatinder Singh   first commit
304
    methods: {
93a68cfa1   Jatinder Singh   first commit
305
306
307
308
309
      editItem (item) {
        this.editedIndex = this.desserts.indexOf(item);
        this.editedItem = Object.assign({}, item);
        this.dialog = true;
      },
c35a8dafd   Jatinder Singh   minor changes
310
311
312
313
314
315
316
317
318
      profile (item) {
        this.editedIndex = this.desserts.indexOf(item);
        this.editedItem = Object.assign({}, item);
        this.dialog1 = true;
      },
      report (item) {
        this.editedIndex = this.desserts.indexOf(item);
        this.editedItem = Object.assign({}, item);
        this.dialog2 = true;
a259e694f   Jatinder Singh   minor change
319
      },
93a68cfa1   Jatinder Singh   first commit
320
321
322
323
324
325
326
327
328
329
330
331
332
333
  
      deleteItem (item) {
        const index = this.desserts.indexOf(item);
        confirm('Are you sure you want to delete this item?') &&
          this.desserts.splice(index, 1);
      },
  
      close () {
        this.dialog = false;
        setTimeout(() => {
          this.editedItem = Object.assign({}, this.defaultItem);
          this.editedIndex = -1;
        }, 300);
      },
c35a8dafd   Jatinder Singh   minor changes
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
      close1 () {
        this.dialog1 = false;
      },
      close2 () {
        this.dialog2 = false;
      },
      submit () {
        if (this.$refs.form.validate()) {
          // Native form submission is not yet supported
          axios.post('/api/submit', {
            Name: this.Name,
            LName: this.LName,
            Email: this.Email,
            DOB: this.DOB,
  
          });
        }
      },
      clear () {
        this.$refs.form.reset();
      },
   
93a68cfa1   Jatinder Singh   first commit
356
357
358
359
360
361
362
363
364
  
      save () {
        if (this.editedIndex > -1) {
          Object.assign(this.desserts[this.editedIndex], this.editedItem);
        } else {
          this.desserts.push(this.editedItem);
        }
        this.close();
      }
93a68cfa1   Jatinder Singh   first commit
365
366
367
368
    }
  };
  
  </script>
04e3fbc56   Jatinder Singh   minor fix
369
370
371
372
373
374
  <style scoped>
  .v-card__actions .v-btn{
    margin: 0 15px;
    min-width: 120px;
  }
  </style>