index.blade.php 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. @extends('layouts.app')
  2. @section('title')称重查询-包裹管理@endsection
  3. @section('content')
  4. <span id="nav2">
  5. @component('package.menu')@endcomponent
  6. @component('package.weigh.menu')@endcomponent
  7. @component('package.weigh.record.menu')@endcomponent
  8. </span>
  9. <div class="d-none" id="list">
  10. <div class="container-fluid">
  11. <div id="form_div"></div>
  12. <span class="dropdown">
  13. <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget mt-1 mb-1"
  14. data-toggle="dropdown" title="导出所有页将会以搜索条件得到的筛选结果,将其全部记录(每一页)导出">
  15. 导出Excel
  16. </button>
  17. <div class="dropdown-menu">
  18. <a class="dropdown-item" @click="packageExport(false)" href="javascript:">导出勾选内容</a>
  19. <a class="dropdown-item" @click="packageExport(true)" href="javascript:">导出所有页</a>
  20. </div>
  21. </span>
  22. <div>
  23. <table class="table table-bordered table-striped table-sm text-nowrap table-hover td-min-width-80" id="table">
  24. <tr v-for="(package,i) in packages" @click="selectTr===i+1?selectTr=0:selectTr=i+1" :class="selectTr===i+1?'focusing' : ''">
  25. <td>
  26. <input class="checkItem" type="checkbox" :value="package.id">
  27. </td>
  28. <td><span>@{{ i+1 }}</span></td>
  29. <td><span>@{{package.ownerName}}</span></td>
  30. <td><span>@{{package.logisticNumber}}</span></td>
  31. <td class="text-muted"><span>@{{package.batchNumber}}</span></td>
  32. <td><span>@{{package.orderCode}}</span></td>
  33. <td class="text-muted"><span>@{{package.logisticName}}</span></td>
  34. <td class="text-muted"><span>@{{package.measuringMachineName}}</span></td>
  35. <td><span>@{{package.weight}}</span></td>
  36. <td><span>@{{package.length|upDigit}}</span><a v-if="package.length" class="text-primary">*</a>@{{package.width|upDigit}}<a class="text-primary" v-if="package.width">*</a>@{{package.height|upDigit}}</td>
  37. <td><span>@{{package.bulk|upCubic}}</span></td>
  38. <td><span>@{{package.paperBoxName}}</span></td>
  39. <td :class="[package.uploaded_to_wms==='是'?'text-success':'']"><span>@{{package.status}}</span></td>
  40. <td class="text-muted"><span>@{{package.batchRule}}</span></td>
  41. <td class="text-muted"><span>@{{package.weighed_at}}</span></td>
  42. <td class="text-muted"><span>@{{package.recipient}}</span></td>
  43. <td class="text-muted"><span>@{{package.recipientMobile}}</span></td>
  44. </tr>
  45. </table>
  46. <div class="text-info h5 btn btn">{{$packages->count()}}/{{$packages->total()}}</div>
  47. {{$packages->appends($paginateParams)->links()}}
  48. </div>
  49. </div>
  50. </div>
  51. @endsection
  52. @section('lastScript')
  53. <script type="text/javascript" src="{{mix('js/queryForm/export.js')}}"></script>
  54. <script type="text/javascript" src="{{mix('js/queryForm/queryForm.js')}}"></script>
  55. <script type="text/javascript" src="{{mix('js/queryForm/header.js')}}"></script>{{--新版2--}}
  56. <script>
  57. @if(isset($request))
  58. let request={!! json_encode($request) !!};
  59. @endif
  60. let vue = new Vue({
  61. el:"#list",
  62. data:{
  63. packages:[
  64. @foreach($packages as $package)
  65. {id:'{{$package->id}}',ownerName:'{{$package->order ? ($package->order->owner ? $package->order->owner->name : '') : ''}}',
  66. orderCode:'{{$package->order ? $package->order->code : ''}}',
  67. logisticName:'{{$package->order ? ($package->order->logistic ? $package->order->logistic->name : '') : ''}}',
  68. batchNumber:'{{$package->order ? ($package->order->batch ? $package->order->batch->code : '') : ''}}',
  69. batchRule:'{{$package->order ? ($package->order->batch ? $package->order->batch->wms_type : '') : ''}}',
  70. recipient:'{{$package->order ? preg_replace('/[\s\n]/','',$package->order->consignee_name) : ''}}',
  71. recipientMobile:'{{$package->order ? $package->order->consignee_phone : ''}}',
  72. logisticNumber:'{{$package->logistic_number}}',
  73. measuringMachineName:'{{$package->measuringMachine ? $package->measuringMachine->name : ''}}',
  74. weight:'{{$package->weight}}', length:'{{$package->length}}',width:'{{$package->width}}',height:'{{$package->height}}',
  75. bulk:'{{$package->bulk}}',paperBoxName:'{{$package->paperBox ? $package->paperBox->name : ''}}',
  76. status:'{{$package->status}}',created_at:'{{$package->created_at}}',weighed_at:'{{$package->weighed_at}}',
  77. paperBox : {!! $package->paperBox??'""' !!} },
  78. @endforeach
  79. ],
  80. i:0,
  81. owners:[
  82. @foreach($owners as $owner)
  83. {name:'{{$owner->id}}',value:'{{$owner->name}}'},
  84. @endforeach
  85. ],
  86. form:'',
  87. sum:{!! $packages->total() !!},
  88. selectTr:0
  89. },
  90. mounted:function(){
  91. $(".tooltipTarget").tooltip({'trigger':'hover'});
  92. $('#list').removeClass('d-none');
  93. let _this = this;
  94. let data = [[
  95. {name:'weighed_at_start',type:'time',tip:['选择显示称重日期的起始时间','选择显示称重日期的起始时间']},
  96. {name:'owner_id',type:'select_multiple_select',tip:['输入关键词快速定位下拉列表,回车确定','选择要显示的客户'],
  97. placeholder:['货主','定位或多选货主'],data:_this.owners},
  98. {name:'logistic_number',type:'input',tip:'可支持多快递单号,糊模查找需要在右边打上%符号',placeholder:'快递单号'},
  99. {name:'is_weighed',type:'checkbox',tip:'是否已称重', data: [{name: 'true', value: '是否已称重'}]}
  100. ],[
  101. {name:'weighed_at_end',type:'time',tip:['选择显示称重日期的结束时间','选择显示称重日期的结束时间']},
  102. {name:'batch_number',type:'input',tip:'可支持多波次号,糊模查找需要在右边打上%符号',placeholder:'波次号'}
  103. ]];
  104. _this.form = new query({
  105. el:'#form_div',
  106. condition:data,
  107. });
  108. _this.form.init();
  109. let column = [
  110. {name:'index',value: '序号', neglect: true},
  111. {name:'ownerName',value: '货主'},
  112. {name: 'logisticNumber', value: '快递单号'},
  113. {name: 'batchNumber', value: '波次号'},
  114. {name:'order_code',value: '订单号'},
  115. {name: 'logisticName', value: '物流公司'},
  116. {name: 'measuringMachineName', value: '设备'},
  117. {name: 'weight', value: '重(KG)'},
  118. {name:'length_width_height',value: '长*宽*高(cm)', neglect: true},
  119. {name: 'bulk', value: '体积(cm³)'},
  120. {name: 'paperBoxName', value: '纸箱'},
  121. {name: 'status', value: '状态'},
  122. {name:'batchRule',value: '波次规则'},
  123. {name:'weighed_at',value: '称重时间'},
  124. {name:'recipient',value: '收件人'},
  125. {name:'recipientMobile',value: '收件人电话'},
  126. ];
  127. new Header({
  128. el: "table",
  129. name: "weight",
  130. column: column,
  131. data: this.packages,
  132. fixedTop:($('#form_div').height())+2,
  133. }).init();
  134. },
  135. methods:{
  136. packageExport(checkAllSign){
  137. let url = '{{url('package/export')}}';
  138. let token='{{ csrf_token() }}';
  139. excelExport(checkAllSign,checkData,url,this.sum,token);
  140. },
  141. },
  142. filters:{
  143. upDigit(val){
  144. if(!val)return;
  145. return Math.round(Number(val)*10)/100;
  146. },
  147. upCubic(val){
  148. if(!val)return;
  149. return Math.round(Number(val)/10)/100;
  150. }
  151. }
  152. });
  153. </script>
  154. @endsection