Dashboard.vue 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <template>
  2. <div class="container">
  3. <div class="row justify-content-center">
  4. <div v-if="!isLoading" class="col-md-12">
  5. <div class="col-md-4" v-for="(workOrder, index) in workOrders" :key="workOrder.woid">
  6. <div class="card">
  7. <div class="card-header">
  8. <router-link :to="{ name: 'workorders', params: { id: workOrder.woid } }" class="h4 card-title">{{workOrder.woid}}</router-link>
  9. </div>
  10. <div class="card-body card-body-dark">
  11. <div>
  12. {{ workOrder.probdesc }}
  13. </div>
  14. <div>
  15. {{ workOrder.suggested }}
  16. </div>
  17. </div>
  18. </div>
  19. </div>
  20. </div>
  21. <div v-else class="col-md-12">
  22. <circle-spinner color="#663399"></circle-spinner>
  23. </div>
  24. </div>
  25. </div>
  26. </template>
  27. <script>
  28. import CircleSpinner from '../components/CircleSpinner.vue'
  29. export default {
  30. components: {
  31. CircleSpinner
  32. },
  33. data () {
  34. return {
  35. workOrders: [],
  36. isLoading: true,
  37. }
  38. },
  39. mounted () {
  40. let token = localStorage.getItem('jwt')
  41. let user = localStorage.getItem('user')
  42. axios.defaults.headers.common['Content-Type'] = 'application/json'
  43. axios.defaults.headers.common['Authorization'] = 'Bearer ' + token
  44. axios.get('api/users/'+user+'/workorders').then(response => {
  45. this.workOrders = response.data
  46. this.isLoading = false
  47. }).catch(error => {
  48. console.log(error)
  49. })
  50. },
  51. beforeRouteEnter (to, from, next) {
  52. if ( ! localStorage.getItem('jwt')) {
  53. return next('login')
  54. }
  55. next()
  56. }
  57. }
  58. </script>