workload.blade.php 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. @extends('layouts.app')
  2. @section('title')工作量-问题件@endsection
  3. @section('content')
  4. <div class="container-fluid d-none" id="workLoad_div">
  5. <div style="min-width: 2000px;">
  6. <div id="form_div" style="min-width: 1950px;" class="bg-white"></div>
  7. <div class="form-inline mt-1 ">
  8. <span class="dropdown">
  9. <button type="button"
  10. class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget"
  11. data-toggle="dropdown" title="导出所有页将会以搜索条件得到的筛选结果,将其全部记录(每一页)导出">导出Excel
  12. </button>
  13. <div class="dropdown-menu">
  14. <a class="dropdown-item" @click="exportSelected()" href="javascript:">导出勾选内容</a>
  15. <a class="dropdown-item" @click="exportAll()" href="javascript:">导出所有页</a>
  16. </div>
  17. </span>
  18. </div>
  19. <table class="table table-sm table-striped table-bordered table-hover card-body mt-2 td-min-width-80" id="table">
  20. <tr v-for="(workLoad,index) in workLoads" class="text-center">
  21. <td><input type="checkbox" :value="workLoad.id"></td>
  22. <td><span>@{{ index+1 }}</span></td>
  23. <td><span>@{{ workLoad.id }}</span></td>
  24. <td><span>@{{ workLoad.created_at }}</span></td>
  25. <td>
  26. <template v-if="workLoad.endLog">@{{ workLoad.endLog.created_at }}</template>
  27. </td>
  28. <td><span>@{{ workLoad.createUser }}</span></td>
  29. <td><span>@{{ workLoad.endUser }}</span></td>
  30. <td>
  31. <template v-if="workLoad.order.owner">@{{ workLoad.order.owner.name }}</template>
  32. </td>
  33. <td>
  34. <div>
  35. <p v-for="(package,index) in workLoad.order.packages" class="p-0 m-0">
  36. <span v-if="workLoad.order.packages.length <=2 ?true : (index===1 || isBtn[workLoad.id])">@{{ package.logistic_number }}</span>
  37. </p>
  38. <b style="cursor:pointer;text-decoration: underline;color: #4aa0e6;" @click="shrink(workLoad.id)" v-if="isBtn[workLoad.id]">点击收起</b>
  39. <b style="cursor:pointer;text-decoration: underline;color: #4aa0e6;" @click="unfold(workLoad.id)" v-if="!isBtn[workLoad.id] && workLoad.order.packages.length >2">点击展开</b>
  40. </div>
  41. </td>
  42. <td><span>@{{ workLoad.processingTime }}</span></td>
  43. </tr>
  44. </table>
  45. <button class="btn btn-sm" :class="page.curPage === 1 ?'':'btn-outline-primary'"
  46. @click="goPage(page.curPage-1)"
  47. :disabled="page.curPage === 1">上一页</button>
  48. <button class="btn btn-sm" :class="page.curPage === page.lastPage ?'':'btn-outline-primary'"
  49. @click="goPage(page.curPage+1)"
  50. :disabled="page.curPage === page.lastPage">下一页</button>
  51. <input @keyup.enter="pageTurning($event)" class="form-control-sm ml-3 tooltipTarget"
  52. :placeholder="'当前页数:'+page.curPage+'/'+page.lastPage" title="去往指定页">
  53. <span class="text-muted m-1">共 @{{page.total}} 条 </span>
  54. </div>
  55. </div>
  56. @endsection
  57. @section('lastScript')
  58. <script type="text/javascript" src="{{mix('js/queryForm/queryForm.js')}}"></script>
  59. <script type="text/javascript" src="{{mix('js/queryForm/export.js')}}"></script>
  60. <script type="text/javascript" src="{{mix('js/queryForm/header.js')}}"></script>{{--新版2--}}
  61. <script>
  62. let workLoadVue = new Vue({
  63. el: "#workLoad_div",
  64. data: {
  65. workLoads: {!! $workLoads->append(['createUser','endUser','processingTime',])->toJson()??[] !!},
  66. users:{!! $users->toJson() !!},
  67. owners:{!! $owners->toJson() !!},
  68. query: {
  69. create_user_id: '{{$options['create_user_id']}}',
  70. end_user_id: '{{$options['end_user_id']}}',
  71. client_no: '{{$options['client_no']}}',
  72. owner_id: '{{{$options['owner_id']}}}',
  73. create_start: '{{$options['create_start']}}',
  74. create_end: '{{$options['create_end']}}',
  75. order_issue_id: '{{$options['order_issue_id']}}',
  76. },
  77. page: {
  78. lastPage: '{!! $workLoads->lastPage() !!}',
  79. curPage: '{!! $workLoads->currentPage() !!}',
  80. total: '{!! $workLoads->total() !!}',
  81. nextPageUrl: '{!! $workLoads->nextPageUrl() !!}',
  82. prevPageUrl: '{!! $workLoads->previousPageUrl() !!}',
  83. },
  84. isBtn:[],
  85. form:'',
  86. },
  87. mounted: function () {
  88. $('#workLoad_div').removeClass('d-none');
  89. let users = [];
  90. let owners = [];
  91. this.users.forEach(function(user,index){
  92. users.push({name:user.id,value:user.name})
  93. })
  94. this.owners.forEach(function(owner,index){
  95. owners.push({name:owner.id,value:owner.name})
  96. })
  97. let data = [
  98. [
  99. {name: 'create_start', type: 'dateTime', tip: '创建日期', placeholder: '创建日期'},
  100. {name: 'owner_id',type:'select_multiple_select',tip:['输入关键词快速定位下拉列表,回车确定','选择要显示的客户'],placeholder:['',''],data:owners},
  101. {name: 'create_user_id', type: 'select', tip: '创建人', placeholder: '创建人',data:users},
  102. {name: 'end_user_id', type: 'select', tip: '结束人', placeholder: '结束人',data:users},
  103. ], [
  104. {name: 'end_date', type: 'dateTime', tip: '完结日期', placeholder: '完结日期'},
  105. {name: 'logistic_number', type: 'input', tip: '快递单号', placeholder: '快递单号'},
  106. {name: 'order_issue_id', type: 'input', tip: '问题件ID', placeholder: '问题件ID'},
  107. ]
  108. ];
  109. this.form = new query({
  110. 'el':'#form_div',
  111. condition:data,
  112. });
  113. this.form.init();
  114. let column = [
  115. {name:'index',value: '序号', neglect: true},
  116. {name:'id',value: '问题件ID', neglect: true},
  117. {name:'created_at',value: '创建时间', neglect: true},
  118. {name:'created_at',value: '完结时间', neglect: true},
  119. {name:'createUser',value: '创建人', neglect: true},
  120. {name:'endUser',value: '结束人', neglect: true},
  121. {name:'name',value: '客户', neglect: true},
  122. {name:'number',value: '快递单号', neglect: true},
  123. {name:'processingTime',value: '处理时效', neglect: true},
  124. ];
  125. new Header({
  126. el: "table",
  127. name: "workload",
  128. column: column,
  129. data: this.waybills,
  130. fixedTop:($('#form_div').height())+2,
  131. }).init();
  132. },
  133. methods: {
  134. exportSelected() {
  135. let url = '{{url('order/issue/workLoad/export')}}';
  136. let token = '{{ csrf_token() }}';
  137. excelExport(false, checkData, url, this.page.total, token);
  138. },
  139. exportAll() {
  140. let url = '{{url('order/issue/workLoad/export')}}';
  141. let token = '{{ csrf_token() }}';
  142. excelExport(true, null, url, null, token);
  143. },
  144. shrink(id){
  145. this.$set(this.isBtn,id,false);
  146. },
  147. unfold(id){
  148. this.$set(this.isBtn,id,true);
  149. setTimeout(function () {
  150. $(".tooltipTarget").tooltip({'trigger':'hover'});
  151. },1);
  152. },
  153. pageTurning(e){
  154. let page = $(e.target).val();
  155. if (page > this.page.lastPage) {
  156. return;
  157. }
  158. this.goPage(page);
  159. },
  160. goPage(page){
  161. let href = window.location.href;
  162. if(href.indexOf('?')==-1){
  163. href+='?'
  164. }
  165. if(href.indexOf('page=')!==-1){
  166. href = href.replace('page='+this.page.curPage,'page='+page);
  167. }else{
  168. href+='&page='+page;
  169. }
  170. window.location = href;
  171. }
  172. }
  173. })
  174. </script>
  175. @endsection