woinfo.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <div>
  3. <woinfo-edit-modal modal-id="workordereditModal" :populate-with="this.data" :store-list="this.storeList"></woinfo-edit-modal>
  4. <p><i class="fas fa-fw fa-info-circle"></i> <span v-text="this.data.probdesc"></span></p>
  5. <p><i class="far fa-fw fa-lightbulb"></i> <span v-text="this.data.suggested"></span></p>
  6. <p><i class="fas fa-fw fa-paste"></i> <span v-text="this.data.woid"></span></p>
  7. <p><i class="fas fa-fw fa-building"></i> <span v-if="this.storeList">{{ this.storeList[this.data.storeid].storesname }}</span></p>
  8. <p><i class="fas fa-fw fa-sign-in-alt"></i>
  9. <span class="dashed-underline" data-toggle="tooltip" data-placement="bottom" v-bind:title=this.getHRDate(this.data.dropdate)>
  10. {{ Math.floor(this.daysSinceToday(this.data.dropdate)) }} days ago
  11. </span>
  12. </p>
  13. <p><i class="fas fa-sign-out-alt"></i>
  14. <span class="dashed-underline" data-toggle="tooltip" data-placement="bottom" v-if="!this.isZero(this.data.pickupdate)" v-bind:title=this.getHRDate(this.data.pickupdate)>
  15. {{ Math.floor(this.daysSinceToday(this.data.pickupdate)) }} days ago
  16. </span>
  17. </p>
  18. <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#workordereditModal">Edit</button>
  19. </div>
  20. </template>
  21. <script>
  22. import dateMixin from '../mixins/dateMixin'
  23. export default {
  24. mixins: [dateMixin],
  25. props: ['workOrder'],
  26. data() {
  27. return {
  28. data: JSON.parse(this.workOrder),
  29. storeList: null,
  30. }
  31. },
  32. mounted() {
  33. Echo.channel('work-orders')
  34. .listen('WorkOrderUpdated', (e) => {
  35. this.data = JSON.parse(e.data);
  36. });
  37. axios.get('/api/stores').then((response) => {
  38. this.storeList = {};
  39. response.data.map(val => {
  40. this.storeList[val.storeid] = val;
  41. });
  42. }).catch((error) => { console.error(error) });
  43. }
  44. }
  45. </script>