undo-mark-as-shipped.blade.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <div moe normal>
  2. <a start show href="#" class="text-danger">Undo mark as shipped</a>
  3. <form url="/api/storeOrder/undoMarkAsShipped">
  4. <div id="undoMarkAsShipped_{{$order->iid}}">
  5. <input type="hidden" name="uid" value="{{ $order->uid }}">
  6. <input type="hidden" name="shippingDetailJson" value="{{ $order->shipping_detail_json }}">
  7. <div class="mb-2">
  8. <label>Tracking Number</label>
  9. <input type="text" v-model="form.tracking_number" class="form-control form-control-sm" />
  10. </div>
  11. <div>
  12. <button submit class="btn btn-sm btn-primary me-2">Undo Mark as shipped</button>
  13. <button cancel class="btn btn-sm btn-default border">Cancel</button>
  14. </div>
  15. </div>
  16. </form>
  17. </div>
  18. <script>
  19. var markAsShipped = new Vue({
  20. el: '#undoMarkAsShipped_{{ $order->iid }}',
  21. data: {
  22. form: {
  23. tracking_number: null
  24. }
  25. },
  26. watch: {
  27. form: {
  28. handler: function(val, oldVal){
  29. $('input[name=shippingDetailJson]').val(JSON.stringify(this.form));
  30. },
  31. deep: true
  32. }
  33. },
  34. methods: {
  35. init: function() {
  36. var defaultData = <?= json_encode($order->shipping_detail_json) ?>;
  37. try {
  38. defaultData = JSON.parse(defaultData);
  39. }catch(e){}
  40. console.log({defaultData});
  41. this.form = $.extend(this.form, defaultData);
  42. }
  43. },
  44. mounted: function() {
  45. this.init();
  46. }
  47. });
  48. </script>