index.blade.php 9.1 KB

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