Advertisement
multiarts

Userlist.vue

Oct 3rd, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <template>
  2. <div class="col-md-12">
  3.   <div class="row">
  4.     <div class="col-md-12">
  5.       <Adduser></Adduser>
  6.     </div>
  7.       <table class="table table-hover" v-cloak>
  8.         <thead class="bg-inverse">
  9.           <tr>
  10.             <th>IMG</th>
  11.             <th>Name</th>
  12.             <th>Username</th>
  13.             <th>E-mail</th>
  14.             <th>Active</th>
  15.             <th>Actions</th>
  16.           </tr>
  17.         </thead>
  18.         <tbody>
  19.           <tr v-for="(user, index) in list">
  20.             <td>
  21.               <img :src="user.avatar" style="max-width: 50px; max-height: 50px">
  22.             </td>
  23.             <td>
  24.               {{ user.name }}
  25.             </td>
  26.             <td>
  27.               <form action="" @submit.prevent="updateUser">
  28.                 <input type="text"
  29.                        name="username" v-if="edit"
  30.                        v-model="user.username"
  31.                        :class="{'form-control form-control-sm': true, 'is-invalid': form.errors.has('username') }"
  32.                 >              
  33.                 <span v-else>{{ user.username }}</span>
  34.               </form>
  35.             </td>
  36.             <td>{{ user.email }}</td>
  37.             <td><Toggle v-model="user.active"></Toggle></td>
  38.             <td>
  39.               <b-btn size="sm" variant="primary" @click.prevent="viewUser(user)" v-if="!edit"><i class="fa fa-eye"></i> Ver</b-btn>
  40.               <b-btn size="sm" variant="info" v-if="!edit" @click.prevent="editUser($event, user.username)"><i class="fa fa-edit"></i> Edit</b-btn>
  41.               <b-btn size="sm" variant="danger" @click.prevent="deleteUser(user)" v-if="!edit"><i class="fa fa-trash"></i> Delete</b-btn>
  42.  
  43.               <b-btn size="sm" variant="danger" @click.prevent="cancelEdit" v-if="edit"><i class="fa fa-ban"></i> Cancel</b-btn>
  44.               <b-btn size="sm" variant="warning" @click.prevent="onUpdate(user)" v-if="edit"><i class="fa fa-refresh"></i> Update</b-btn>
  45.             </td>
  46.           </tr>
  47.         </tbody>
  48.       </table>
  49.     </div>
  50.   </div>
  51. </template>
  52.  
  53. <script>
  54. import Adduser from '../modals/Adduser'
  55. import Toggle from '../Simpleswith';
  56. export default {
  57.   components: { Adduser, Toggle},
  58.   data () {
  59.     return {
  60.       list: [],
  61.       edit: false,
  62.       form: new Form({ username: '' }),
  63.       user: {id: '', name: '', email: ''},
  64.       fillItem : {
  65.         'name':'',
  66.         'username':'',
  67.         'email':'',
  68.         'id':''
  69.       },
  70.       editForm: {},
  71.     };
  72.   },
  73.   created(){
  74.     this.fecthUserList();
  75.   },
  76.   methods: {
  77.     fecthUserList(){
  78.       axios.get('/admin/userjson').then((res) => {
  79.         this.list = res.data
  80.       });
  81.     },
  82.     viewUser(user){
  83.       axios.get('/admin/userjson/' + user.id).then((res) => {
  84.         let listUser = ['Name: '+ user.name, user.id, user.email, user.created_at];
  85.         swal('Successo', listUser + 'com ID '+user.id+' excluido com sucesso', 'success', {timer: 6000, buttons: true})
  86.         this.$emit('cu')
  87.         console.log('delete '+user.name)
  88.       })
  89.       .catch((err) => console.error(err.data));
  90.     },
  91.     editUser(user){
  92.       this.edit = true;
  93.       this.fillItem.username = user.username;
  94.     },
  95.     cancelEdit(){
  96.         this.edit = false;
  97.         this.editForm = '';
  98.     },
  99.     onUpdate(user){
  100.       let input = this.fillItem;
  101.       this.form.put('/admin/userjson/' + user.id, input).then(status => {
  102.         swal('Successo', user.name+' atualizado com sucesso', 'success', {timer: 800, buttons: false})
  103.         this.fecthUserList()
  104.         this.cancelEdit()
  105.       })
  106.       .catch((err) => console.log(err.status))
  107.     },
  108.     deleteUser(user){
  109.       axios.delete('/admin/userjson/' + user.id).then((res) => {
  110.         let index = this;
  111.         this.fecthUserList()
  112.         swal('Successo', user.name+' excluido com sucesso', 'success', {timer: 800, buttons: false})
  113.         console.log('delete '+user.name)
  114.       })
  115.       .catch((err) => console.error(err.data));
  116.     },
  117.   }
  118. };
  119. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement