edit.blade.php 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. @extends('layouts.app')
  2. @section('title')编辑-纸箱@endsection
  3. @section('content')
  4. <div class="container-fluid" id="form">
  5. <div class="card col-md-8 offset-md-2">
  6. <div class="card-body">
  7. <form method="POST" action="{{ url('maintenance/paperBox/'.$paperBox->id) }}">
  8. @csrf
  9. @method('PUT')
  10. <div class="form-group row text-center">
  11. <div class="col-12 text-danger">
  12. 注意:为保证数据正确您输入的长宽高将会被重新定义<br>
  13. 最大值为长,其次为宽,最小为高
  14. </div>
  15. </div>
  16. <div class="form-group row">
  17. <label for="model" class="col-2 col-form-label text-right">型号</label>
  18. <div class="col-8">
  19. <input type="text" class="form-control @error('model') is-invalid @enderror"
  20. name="model" autocomplete="off" value="{{old('model')?old('model'):$paperBox->model}}" required>
  21. @error('model')
  22. <span class="invalid-feedback" role="alert">
  23. <strong>{{ $message }}</strong>
  24. </span>
  25. @enderror
  26. </div>
  27. </div>
  28. <div class="form-group row">
  29. <label for="length" class="col-2 col-form-label text-right">长(cm)</label>
  30. <div class="col-8">
  31. <input type="text" class="form-control @error('length') is-invalid @enderror"
  32. name="length" autocomplete="off" value="{{old('length')?old('length'):$paperBox->length}}" required>
  33. @error('length')
  34. <span class="invalid-feedback" role="alert">
  35. <strong>{{ $message }}</strong>
  36. </span>
  37. @enderror
  38. </div>
  39. </div>
  40. <div class="form-group row">
  41. <label for="width" class="col-2 col-form-label text-right">宽(cm)</label>
  42. <div class="col-8">
  43. <input type="text" class="form-control @error('width') is-invalid @enderror"
  44. name="width" autocomplete="off" value="{{old('width')?old('width'):$paperBox->width}}" required>
  45. @error('width')
  46. <span class="invalid-feedback" role="alert">
  47. <strong>{{ $message }}</strong>
  48. </span>
  49. @enderror
  50. </div>
  51. </div>
  52. <div class="form-group row">
  53. <label for="height" class="col-2 col-form-label text-right">高(cm)</label>
  54. <div class="col-8">
  55. <input type="text" class="form-control @error('height') is-invalid @enderror"
  56. name="height" autocomplete="off" value="{{old('height')?old('height'):$paperBox->height}}" required>
  57. @error('height')
  58. <span class="invalid-feedback" role="alert">
  59. <strong>{{ $message }}</strong>
  60. </span>
  61. @enderror
  62. </div>
  63. </div>
  64. <div class="form-group row">
  65. <label for="height" class="col-2 col-form-label text-right">选择货主</label>
  66. <div class="col-3">
  67. <div style="max-height: 130px;overflow-y: scroll;border: solid 1px #ddd;border-radius:5px;opacity:0.5;text-align: center;transform:scale(0.9)" v-if="owners.length>0">
  68. <ul class="list-group tooltipTarget" title="双击添加货主">
  69. <li id="selectLi" class="tooltipTarget" v-for="owner in owners" @dblclick="selectedOwner(owner)" style="list-style: none"><a >@{{ owner.name }}</a></li>
  70. </ul>
  71. </div>
  72. </div>
  73. <div class="col-5">
  74. <div style="max-height: 130px;overflow-y: scroll;border: solid 1px #ddd;border-radius:5px;text-align: center;" v-if="selectedOwners.length>0">
  75. <ul class="list-group ">
  76. <li v-for="selectedOwner in selectedOwners" class="tooltipTarget" @dblclick="owner(selectedOwner)" title="双击删除货主" style="list-style: none">
  77. <a>@{{ selectedOwner.name }}</a>
  78. <input hidden name="owner_id[]" :value="selectedOwner.id">
  79. </li>
  80. </ul>
  81. </div>
  82. </div>
  83. </div>
  84. <div class="form-group row">
  85. <div class="col-8 offset-2">
  86. <input type="submit" class="btn btn-outline-dark form-control">
  87. </div>
  88. </div>
  89. </form>
  90. </div>
  91. </div>
  92. </div>
  93. @endsection
  94. @section('lastScript')
  95. <style>
  96. li a:hover{background-color: #4aa0e6;display: block;cursor:pointer}
  97. </style>
  98. <script>
  99. let vue=new Vue({
  100. el:'#form',
  101. data:{
  102. owners:[
  103. @foreach($owners as $owner)
  104. {id:'{{$owner->id}}',name:'{{$owner->name}}'},
  105. @endforeach
  106. ],
  107. selectedOwners:[
  108. @foreach($paperBox->owners as $paperBox_owner)
  109. {id:'{{$paperBox_owner->id}}',name:'{{$paperBox_owner->name}}'},
  110. @endforeach
  111. ],
  112. },
  113. methods:{
  114. selectedOwner(paperBox_owner){
  115. let _this=this;
  116. let location=true;
  117. this.selectedOwners.some(function (selectedOwner) {
  118. if(selectedOwner.id===paperBox_owner.id){
  119. document.getElementById('selectLi').title='已存在';
  120. location=false;
  121. return true;
  122. }
  123. });
  124. if (location){
  125. _this.selectedOwners.push(paperBox_owner);
  126. }
  127. },
  128. owner(selectedOwner){
  129. let _this=this;
  130. for (let i=0;i<this.selectedOwners.length;i++){
  131. if (_this.selectedOwners[i]===selectedOwner){
  132. _this.selectedOwners.splice(i,1);
  133. break;
  134. }
  135. }
  136. },
  137. },
  138. });
  139. </script>
  140. @endsection