workload.blade.php 9.1 KB

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