appointment.blade.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. @extends('layouts.app')
  2. @section('title')任务-盘收一体@endsection
  3. @section('content')
  4. <span id="nav2">
  5. @component('store.menu')@endcomponent
  6. @component('store.checkingReceive.menu')@endcomponent
  7. </span>
  8. <div class="container-fluid" id="container">
  9. <div class="card">
  10. <div class="card-body row">
  11. <div class="offset-2 col-8">
  12. <div class="card">
  13. <div class="card-header">
  14. <div class="row">
  15. <label class="col-2 offset-2">车牌号</label>
  16. <label class="col-2">车型</label>
  17. <label class="col-2">司机姓名</label>
  18. <label class="col-3">司机电话</label>
  19. <label class="col-1">
  20. <span class="fa fa-plus cursor-pointer text-primary">增加</span>
  21. </label>
  22. </div>
  23. </div>
  24. <div class="card-body">
  25. <div class="row" v-for="(car,i) in model.cars">
  26. <label class="col-2">车辆-@{{ i+1 }}</label>
  27. <label class="col-2">
  28. <input type="text" class="form-control" v-model="car.number">
  29. </label>
  30. <label class="col-2">
  31. <input type="text" class="form-control" v-model="car.id">
  32. </label>
  33. <label class="col-2">
  34. <input type="text" class="form-control" v-model="car.name">
  35. </label>
  36. <label class="col-3">
  37. <input type="text" class="form-control" v-model="car.phone">
  38. </label>
  39. <label class="col-1" v-if="i!==0">
  40. <span class="h4 font-weight-bold cursor-pointer text-danger">&times;</span>
  41. </label>
  42. </div>
  43. </div>
  44. </div>
  45. <div class="row mt-4 ml-1">
  46. <label class="col-2" for="ownerId">货主</label>
  47. <select id="ownerId" v-model="model.owner_id" class="col-6 form-control">
  48. <option v-for="owner in owners" :value="owner.id">@{{ owner.name }}</option>
  49. </select>
  50. </div>
  51. <div class="row mt-4 ml-1">
  52. <label class="col-2" for="procurementNumber">采购单号</label>
  53. <input class="col-6 form-control" type="text" id="procurementNumber" v-model="model.procurement_number">
  54. </div>
  55. <div class="row mt-2 ml-1">
  56. <label class="col-2" for="asnNumber">ASN单号</label>
  57. <input class="col-6 form-control" type="text" id="asnNumber" v-model="model.asn_number">
  58. </div>
  59. <div class="row mt-2 ml-1">
  60. <label class="col-2" for="warehouse">仓库</label>
  61. <input class="col-6 form-control" type="text" id="warehouse" v-model="model.warehouse_id">
  62. </div>
  63. <div class="row mt-2 ml-1">
  64. <label class="col-2" for="tonne">吨</label>
  65. <input class="col-3 form-control" type="text" id="tonne" v-model="model.tonne">
  66. <label class="col-1 offset-2" for="cube">立方</label>
  67. <input class="col-3 form-control" type="text" id="cube" v-model="model.cube">
  68. </div>
  69. <div class="row mt-2 ml-1">
  70. <label class="col-2" for="isUpload">是否上传明细单</label>
  71. <input content="col-3" id="isUpload" type="checkbox" class="switch" v-model="model.is_upload">
  72. <button data-toggle="tooltip" id="openFile" type="button" class="col-2 offset-1 btn btn-info text-white"
  73. title="表头必须包含:商品名称 数量 条码"
  74. v-show="model.is_upload" @click="openFile()">
  75. <span class="fa fa-cloud-upload"></span> 选择文件</button>
  76. <span v-if="model.is_upload" class="text-secondary mt-1">&nbsp;@{{ fileName }}</span>
  77. <label hidden><input type="file" id="file" accept=".csv, .xlsx, .xls" @change="selectedFile($event)"></label>
  78. </div>
  79. <div class="row mt-4 ml-1">
  80. <button type="button" class="btn btn-success col-8 offset-2">提 交 预 约</button>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. @stop
  87. @section("lastScript")
  88. <script>
  89. new Vue({
  90. el:"#container",
  91. data:{
  92. cars:[],
  93. model:{
  94. cars:[{number:"",id:"",name:"",phone:""}],
  95. },
  96. owners:@json($owners),
  97. fileName:""
  98. },
  99. mounted(){
  100. if (this.owners.length === 1)this.model.owner_id = this.owners[0].id;
  101. $('#openFile').tooltip();
  102. },
  103. methods:{
  104. openFile(){
  105. if (!this.model.owner_id){
  106. window.tempTip.setDuration(2000);
  107. window.tempTip.show("必须先选定货主");
  108. }else $('#file').click();
  109. },
  110. selectedFile(e){
  111. let file=e.target.files[0];
  112. this.fileName = file.name;
  113. if (!file){
  114. window.tempTip.setDuration(3000);
  115. window.tempTip.show("未选择文件");
  116. return;
  117. }
  118. let formData = new FormData();
  119. formData.append("file",file);
  120. window.axios.post('{{url('store/checkingReceive/appointment/import')}}',formData,{
  121. 'Content-Type':'multipart/form-data'
  122. }).then(res=>{
  123. window.tempTip.setDuration(3000);
  124. window.tempTip.show(res.data.data);
  125. }).catch(err=> {
  126. window.tempTip.setDuration(3000);
  127. window.tempTip.show("网络错误:"+err);
  128. })
  129. },
  130. },
  131. });
  132. </script>
  133. @stop