woinfo.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div>
  3. <modal id="workordereditModal" tabindex="-1" role="dialog" aria-labelledby="workordereditModalLabel">
  4. <h5 slot="header" class="modal-title" id="workordereditModalLabel">
  5. Edit Work Order Information
  6. </h5>
  7. <div slot="body">
  8. <div class="form-group">
  9. <label for="probdesc">Problem Description</label>
  10. <textarea id="probdesc" name="probdesc" class="form-control" v-model="data.probdesc"></textarea>
  11. </div>
  12. <div class="form-group">
  13. <label for="suggested">Suggested Solution</label>
  14. <textarea id="suggested" name="suggested" class="form-control" v-model="data.suggested"></textarea>
  15. </div>
  16. </div>
  17. <div slot="footer">
  18. <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
  19. <button type="button" class="btn btn-primary" @click="updateWorkOrder()">Save</button>
  20. </div>
  21. </modal>
  22. <p><i class="fas fa-fw fa-info-circle"></i> <span v-text="this.data.probdesc"></span></p>
  23. <p><i class="far fa-fw fa-lightbulb"></i> <span v-text="this.data.suggested"></span></p>
  24. <p><i class="fas fa-fw fa-paste"></i> <span v-text="this.data.woid"></span></p>
  25. <p><i class="fas fa-fw fa-building"></i> <span v-text="this.data.storeid"></span></p>
  26. <p><i class="fas fa-fw fa-sign-in-alt"></i>
  27. <span class="dashed-underline" data-toggle="tooltip" data-placement="bottom" v-bind:title=this.getHRDate(this.data.dropdate)>
  28. {{ Math.floor(this.daysSinceToday(this.data.dropdate)) }} days ago
  29. </span>
  30. </p>
  31. <p><i class="fas fa-sign-out-alt"></i>
  32. <span class="dashed-underline" data-toggle="tooltip" data-placement="bottom" v-if="!this.isZero(this.data.pickupdate)" v-bind:tittle=this.getHRDate(this.data.pickupdate)>
  33. {{ Math.floor(this.daysSinceToday(this.data.pickupdate)) }} days ago
  34. </span>
  35. </p>
  36. <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#workordereditModal">Edit</button>
  37. </div>
  38. </template>
  39. <script>
  40. import dateMixin from '../mixins/dateMixin'
  41. export default {
  42. mixins: [dateMixin],
  43. props: ['workOrder'],
  44. data() {
  45. return {
  46. data: JSON.parse(this.workOrder),
  47. showModal:false
  48. }
  49. },
  50. mounted() {
  51. Echo.channel('work-orders')
  52. .listen('WorkOrderUpdated', (e) => {
  53. this.data = JSON.parse(e.data);
  54. });
  55. },
  56. methods: {
  57. updateWorkOrder() {
  58. axios.put('/api/workorder/' + this.data.woid, this.data)
  59. .then((response) => {})
  60. .catch((error) => {});
  61. $('#workordereditModal').modal('hide');
  62. }
  63. }
  64. }
  65. </script>