Blame view
src/pages/Provider.vue
7.93 KB
93a68cfa1
|
1 |
<template> |
269061695
|
2 |
<v-container grid-list-md> |
93a68cfa1
|
3 4 5 |
<v-flex> <v-card> <v-card-title> |
250d1e021
|
6 |
<b><h5> Healthcare Providers </h5></b> |
93a68cfa1
|
7 8 9 10 11 12 |
<v-spacer></v-spacer> <v-flex xs6 sm4> <v-text-field justify-right prepend-icon="search" v-model="search" label="Find Yours Users" |
4413a8d93
|
13 |
color="black" |
93a68cfa1
|
14 15 |
></v-text-field></v-flex> </v-card-title> |
04e3fbc56
|
16 |
|
93a68cfa1
|
17 |
<v-dialog v-model="dialog" max-width="500px"> |
250d1e021
|
18 |
<v-toolbar color="white"> |
93a68cfa1
|
19 20 21 22 |
<v-spacer></v-spacer> <v-toolbar-title>Edit Profile</v-toolbar-title> <v-spacer></v-spacer> </v-toolbar> |
250d1e021
|
23 24 25 26 27 |
<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
|
28 29 30 31 32 |
<v-card-text> <v-container grid-list-md> <v-layout wrap justify-center> <v-flex xs12 sm9> <v-form> |
250d1e021
|
33 |
<v-layout style="position:relative; top:15px; "> |
e2e46164f
|
34 35 36 37 38 39 40 41 |
<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 |
250d1e021
|
42 43 44 45 |
></v-text-field> </v-flex> </v-layout> <v-layout> |
e2e46164f
|
46 47 48 49 |
<v-flex xs4 class="pt-4 subheading"> <label>Last Name: </label> </v-flex> <v-flex xs8> |
93a68cfa1
|
50 |
<v-text-field |
93a68cfa1
|
51 |
v-model="editedItem.LName" |
e2e46164f
|
52 53 |
:rules="lnameRules" required |
250d1e021
|
54 55 56 |
></v-text-field> </v-flex> </v-layout> |
e2e46164f
|
57 |
|
250d1e021
|
58 |
<v-layout> |
e2e46164f
|
59 60 61 62 63 64 |
<v-flex xs4 class="pt-4 subheading"> <label>Email ID: </label> </v-flex> <v-flex xs8> <v-text-field v-model="editedItem.Email" |
7e8044568
|
65 |
:rules="emailRules" |
e2e46164f
|
66 67 68 |
data-vv-name="E-mail" required ></v-text-field></v-flex></v-layout> |
250d1e021
|
69 |
<v-layout> |
e2e46164f
|
70 71 72 73 74 75 76 77 78 |
<v-flex xs4 class="pt-4 subheading"> <label>Date of Birth: </label> </v-flex> <v-flex xs8> <v-text-field v-model="editedItem.DOB" :rules="[rules.required, rules.min]" ></v-text-field></v-flex></v-layout> <v-card-actions> |
04e3fbc56
|
79 |
<v-btn round dark @click.native="close">Cancel</v-btn> |
93a68cfa1
|
80 |
<v-spacer></v-spacer> |
04e3fbc56
|
81 82 |
<v-btn round dark @click.native="save">Save</v-btn> |
93a68cfa1
|
83 84 85 86 87 88 |
</v-card-actions> </v-form> </v-flex> </v-layout> </v-container> </v-card-text> |
93a68cfa1
|
89 90 |
</v-card> </v-dialog> |
04e3fbc56
|
91 92 93 94 95 96 97 98 |
<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> |
a259e694f
|
99 |
|
04e3fbc56
|
100 101 102 |
<v-card> <v-flex align-center justify-center layout text-xs-center> |
8fc85e8ec
|
103 |
<v-avatar size="50px" style="position:absolute; top:10px;"> |
269061695
|
104 |
<img src="/static/icon/user.png"/> </v-avatar> |
04e3fbc56
|
105 106 107 108 |
</v-flex> <v-card-text> <v-container grid-list-md> <v-layout wrap justify-center> |
a259e694f
|
109 110 111 112 113 114 115 116 117 118 119 |
<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> |
250d1e021
|
120 121 122 123 |
<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> |
a259e694f
|
124 125 |
</th> |
c35a8dafd
|
126 |
|
a259e694f
|
127 |
</table> |
04e3fbc56
|
128 129 130 131 |
</v-flex> </v-layout> </v-container> </v-card-text> |
250d1e021
|
132 |
</v-card> |
04e3fbc56
|
133 |
</v-dialog> |
269061695
|
134 135 136 137 |
<v-data-table :headers="headers" :items="desserts" :search="search" |
8fc85e8ec
|
138 |
class="elevation-1" |
5ac5570a9
|
139 |
:pagination.sync="pagination" |
269061695
|
140 141 142 |
> <template slot="items" slot-scope="props"> |
e2e46164f
|
143 144 145 |
<td id="td" class="text-xs-center">{{ props.item.No }}</td> <td id="td" class="text-xs-center">{{ props.item.Name+' '+props.item.LName }}</td> <td id="td" class="text-xs-center">{{ props.item.Email }}</td> |
c1fd43e24
|
146 147 148 149 150 151 152 153 154 155 156 157 |
<td id="td" class="text-xs-center"> <v-flex xs6 sm6> <v-select :items="status" v-model="props.item.e1" menu-props="auto" label="Select" hide-details single-line ></v-select> </v-flex> </td> |
4413a8d93
|
158 |
<td class="text-xs-center"> |
269061695
|
159 |
<span> |
4413a8d93
|
160 161 |
<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"/> |
269061695
|
162 163 164 165 166 167 |
<img style="cursor:pointer; height:20px; " class="mr-2" @click="deleteItem(props.item)" src="/static/icon/delete1.png"/> </span> </td> </template> </v-data-table> |
04e3fbc56
|
168 169 170 |
</v-card> </v-flex> |
93a68cfa1
|
171 172 173 174 175 |
</v-container> </template> <script> export default { data: () => ({ |
c35a8dafd
|
176 177 178 179 |
Name: '', LName: '', DOB: '', email: '', |
93a68cfa1
|
180 181 |
dialog: false, dialog1: false, |
04e3fbc56
|
182 |
status: ['Pending', 'Approved', 'Declined'], |
93a68cfa1
|
183 |
search: '', |
04e3fbc56
|
184 |
e1: '', |
c35a8dafd
|
185 186 187 188 |
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' }, |
e2e46164f
|
189 190 191 192 193 194 |
nameRules: [v => !!v || ' First Name is required'], lnameRules: [v => !!v || ' First Name is required'], emailRules: [ v => !!v || 'E-mail is required', v => /.+@.+/.test(v) || 'E-mail must be valid' ], |
5ac5570a9
|
195 196 197 198 |
pagination: { rowsPerPage: 10, }, |
93a68cfa1
|
199 |
headers: [ |
269061695
|
200 |
{ |
93a68cfa1
|
201 |
text: 'No', |
e2e46164f
|
202 |
align: 'center', |
93a68cfa1
|
203 |
sortable: false, |
07095d4d8
|
204 |
value: 'no' |
93a68cfa1
|
205 |
}, |
e2e46164f
|
206 207 208 |
{ text: 'Name', value: 'Name', sortable: false, align: 'center' }, { text: 'Email', value: 'Email', sortable: false, align: 'center' }, { text: 'Status', value: 'Status', sortable: false, align: 'center' }, |
93a68cfa1
|
209 210 211 212 213 214 215 |
{ text: '', value: '', sortable: false }, ], desserts: [], editedIndex: -1, editedItem: { No: '', |
c35a8dafd
|
216 |
Name: '', |
93a68cfa1
|
217 218 219 220 221 |
LName: '', Email: '', }, defaultItem: { No: '', |
c35a8dafd
|
222 |
Name: '', |
93a68cfa1
|
223 224 225 226 |
LName: '', Email: '', }, }), |
93a68cfa1
|
227 228 229 230 231 232 233 234 235 236 237 238 239 240 |
watch: { dialog (val) { val || this.close(); } }, created () { this.initialize(); }, methods: { initialize () { this.desserts = [ { No: 1, |
07095d4d8
|
241 |
Name: 'Amit', |
93a68cfa1
|
242 243 244 245 246 247 |
LName: 'goyal', Email: 'jsi@gmail.com', DOB: '22/09/1996' }, { No: 2, |
07095d4d8
|
248 |
Name: 'Sumit', |
93a68cfa1
|
249 250 251 252 |
LName: 'kumar', Email: 'aasi@gmail.com', DOB: '16/09/1997' } |
4413a8d93
|
253 |
|
93a68cfa1
|
254 255 256 257 258 259 260 261 |
]; }, editItem (item) { this.editedIndex = this.desserts.indexOf(item); this.editedItem = Object.assign({}, item); this.dialog = true; }, |
a259e694f
|
262 263 264 |
profile (item) { this.editedIndex = this.desserts.indexOf(item); this.editedItem = Object.assign({}, item); |
04e3fbc56
|
265 266 |
this.dialog1 = true; }, |
93a68cfa1
|
267 268 269 270 271 272 273 274 275 276 277 278 279 280 |
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); }, |
04e3fbc56
|
281 282 283 |
close1 () { this.dialog1 = false; }, |
93a68cfa1
|
284 285 286 287 288 289 290 291 292 293 294 |
save () { if (this.editedIndex > -1) { Object.assign(this.desserts[this.editedIndex], this.editedItem); } else { this.desserts.push(this.editedItem); } this.close(); } }, }; |
04e3fbc56
|
295 296 297 298 299 300 |
</script> <style scoped> .v-card__actions .v-btn { margin: 0px; min-width: 120px; } |
269061695
|
301 302 303 304 305 |
#td { border: 1px solid #dddddd; text-align: left; padding: 8px; } |
789f8298f
|
306 |
|
04e3fbc56
|
307 |
</style> |