index.blade.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. @extends('layouts.app')
  2. @section('title')查看-劳务派遣明细@endsection
  3. @section('content')
  4. <div id="list" class="d-none">
  5. <div class="container-fluid">
  6. <div id="form_div"></div>
  7. @include('shared._messages')
  8. <table class="table table-striped table-bordered table-hover card-body td-min-width-80" id="table">
  9. <tr v-for="(labor_company_dispatch,i) in labor_company_dispatches"
  10. @click="selectTr===i+1?selectTr=0:selectTr=i+1"
  11. :class="selectTr===i+1?'focusing' : ''"
  12. :style="(labor_company_dispatch.man_num==0 && labor_company_dispatch.woman_num==0)?'background-color: #DCDCDC !important':''">
  13. <td>
  14. <input class="checkItem" type="checkbox" :value="labor_company_dispatch.id">
  15. </td>
  16. <td>
  17. <div>
  18. @{{ i+1 }}
  19. <span v-if="labor_company_dispatch.exceed_max_labor_num_status==2"><i
  20. class="fa fa-thermometer-full" style="color: red" aria-hidden="true"></i></span>
  21. </div>
  22. </td>
  23. <td>
  24. @can('人事管理-临时工申请协调-劳务派遣明细')
  25. <div class="float-left ml-3" v-if="labor_company_dispatch.status==='人事确认'">
  26. <form :action="getBaseUrl(labor_company_dispatch) + '/laborCompanyReceivingOrder'"
  27. method="post"
  28. accept-charset="UTF-8" onsubmit="return confirm('是否确认接单!')">
  29. @csrf
  30. @method('PATCH')
  31. <input type="number" name="status" hidden value="3">
  32. <button type="submit" class="btn btn-outline-primary btn-sm" role="button">劳务接单
  33. </button>
  34. </form>
  35. </div>
  36. <div class="float-left ml-3" v-if="labor_company_dispatch.status==='劳务接单'">
  37. <a :href="getCreateOrEditDetailUrl(labor_company_dispatch)"
  38. class="btn btn-outline-secondary btn-sm" role="button">
  39. @{{
  40. labor_company_dispatch.labor_company_dispatch_details.length>0?'修改明细':'录入明细'
  41. }}
  42. </a>
  43. </div>
  44. @endcan()
  45. @can('临时工申请协调-劳务派遣明细-人事确认')
  46. <div class="float-left ml-3" v-if="labor_company_dispatch.status==='创建'">
  47. <form :action="getBaseUrl(labor_company_dispatch) + '/personnelCheck'" method="post"
  48. accept-charset="UTF-8" onsubmit="return confirm('是否确认!')">
  49. @csrf
  50. @method('PATCH')
  51. <input type="text" name="status" hidden value="人事确认">
  52. <button type="submit" class="btn btn-outline-primary btn-sm" role="button">人事确认
  53. </button>
  54. </form>
  55. </div>
  56. <div class="float-left ml-3" v-if="labor_company_dispatch.status==='创建'">
  57. <a :href="getEditlLaborCompanyDispatchUrl(labor_company_dispatch)"
  58. class="btn btn-outline-secondary btn-sm" role="button">
  59. 修改派遣人数
  60. </a>
  61. </div>
  62. @endcan()
  63. </td>
  64. <td>@{{ labor_company_dispatch.check_user?labor_company_dispatch.check_user.name:'' }}</td>
  65. <td>@{{ labor_company_dispatch.labor_company.name }}</td>
  66. <td>@{{ labor_company_dispatch.warehouse ?labor_company_dispatch.warehouse.name:''}}</td>
  67. <td><span :class="getStatusClass(labor_company_dispatch.status)">@{{ labor_company_dispatch.status }}</span>
  68. </td>
  69. <td>@{{ labor_company_dispatch.man_num }}</td>
  70. <td>@{{ labor_company_dispatch.woman_num }}</td>
  71. <td>
  72. <div v-if="labor_company_dispatch.labor_company_dispatch_details.length >0">
  73. <table v-if="labor_company_dispatch.showMore" style="margin: 0;padding: 0">
  74. <tr v-for="(v,k) of labor_company_dispatch.labor_company_dispatch_details" :key="k">
  75. <td>@{{ v.name }}</td>
  76. <td>@{{ v.gender }}</td>
  77. <td>@{{ v.age }}</td>
  78. <td>@{{ v.card_id }}</td>
  79. </tr>
  80. </table>
  81. <table v-else style="margin: 0;padding: 0">
  82. <tr>
  83. <td>@{{ labor_company_dispatch.labor_company_dispatch_details[0].name }}</td>
  84. <td>@{{ labor_company_dispatch.labor_company_dispatch_details[0].gender }}</td>
  85. <td>@{{ labor_company_dispatch.labor_company_dispatch_details[0].age }}</td>
  86. <td>@{{ labor_company_dispatch.labor_company_dispatch_details[0].card_id }}</td>
  87. </tr>
  88. </table>
  89. <a href="javascript:void(0)"
  90. v-if="labor_company_dispatch.labor_company_dispatch_details.length >1"
  91. @click="labor_company_dispatch.showMore = !labor_company_dispatch.showMore">
  92. @{{ labor_company_dispatch.showMore?'收起':'显示更多' }}
  93. </a>
  94. </div>
  95. </td>
  96. <td>@{{ labor_company_dispatch.dispatch_date.slice(0, 10) }}</td>
  97. </tr>
  98. </table>
  99. {{ $labor_company_dispatches->links() }}
  100. </div>
  101. </div>
  102. @endsection
  103. @section('lastScript')
  104. <script type="text/javascript" src="{{mix('js/queryForm/export.js')}}"></script>
  105. <script type="text/javascript" src="{{mix('js/queryForm/queryForm.js')}}"></script>
  106. <script type="text/javascript" src="{{mix('js/queryForm/header.js')}}"></script>{{--新版2--}}
  107. <script>
  108. new Vue({
  109. el: "#list",
  110. data: {
  111. labor_company_dispatches: [
  112. @foreach( $labor_company_dispatches as $labor_company_dispatch )
  113. {!! $labor_company_dispatch !!},
  114. @endforeach
  115. ],
  116. selectTr: 0,
  117. warehouses: [
  118. @foreach( $warehouses as $item )
  119. {
  120. name: '{{ $item->id }}', value: '{{ $item->name }}'
  121. },
  122. @endforeach
  123. ],
  124. labor_companies: [
  125. @foreach( $labor_companies as $item )
  126. {
  127. name: '{{ $item->id }}', value: '{{ $item->name }}'
  128. },
  129. @endforeach
  130. ],
  131. statuses: [
  132. {name: 1, value: '创建'},
  133. {name: 2, value: '人事确认'},
  134. {name: 3, value: '劳务接单'},
  135. {name: 4, value: '任务完结'},
  136. ]
  137. },
  138. mounted() {
  139. $('#list').removeClass('d-none');
  140. let _this = this;
  141. $(".up").slideUp();
  142. let data = [
  143. [
  144. //起始时间
  145. {name: 'dispatch_date_start', type: 'dateTime', tip: '选择显示分配时间的起始时间'},
  146. //仓库
  147. {
  148. name: 'warehouse',
  149. type: 'select_multiple_select',
  150. tip: ['输入关键词快速定位下拉列表,回车确定', '仓库'],
  151. placeholder: ['仓库', '定位或多选仓库'],
  152. data: _this.warehouses
  153. },
  154. //状态
  155. {
  156. name: 'status',
  157. type: 'select_multiple_select',
  158. tip: ['输入关键词快速定位下拉列表,回车确定', '状态'],
  159. placeholder: ['状态', '定位或多选状态'],
  160. data: _this.statuses
  161. },
  162. ],
  163. [
  164. //截止时间
  165. {name: 'dispatch_date_end', type: 'dateTime', tip: '选择显示分配时间的截止时间'},
  166. //劳务公司
  167. {
  168. name: 'labor_company',
  169. type: 'select_multiple_select',
  170. tip: ['输入关键词快速定位下拉列表,回车确定', '劳务公司'],
  171. placeholder: ['劳务公司', '定位或多选劳务公司'],
  172. data: _this.labor_companies
  173. },
  174. ]
  175. ]
  176. _this.form = new query({
  177. el: '#form_div',
  178. condition: data,
  179. appendDom: "btn",
  180. });
  181. _this.form.init();
  182. let column = [
  183. {name: 'index', value: '序号', neglect: true},
  184. {name: 'do', value: '操作'},
  185. {name: 'check_user', value: '确认人'},
  186. {name: 'name', value: '劳务公司'},
  187. {name: 'warehouse', value: '仓库'},
  188. {name: 'status', value: '状态 '},
  189. {name: 'man_num', value: '男工人数'},
  190. {name: 'woman_num', value: '女工人数'},
  191. {name: 'details', value: '派遣详情'},
  192. {name: 'dispatch_date', value: '分配日期'},
  193. ];
  194. new Header({
  195. el: "table",
  196. name: "labor_company_dispatches",
  197. column: column,
  198. data: this.labor_company_dispatches,
  199. restorationColumn: 'addtime',
  200. fixedTop: ($('#form_div').height()) + ($('#btn').height()) + 1,
  201. }).init();
  202. },
  203. methods: {
  204. /*临时工信息详情*/
  205. getCreateOrEditDetailUrl(labor_company_dispatch) {
  206. let url = "";
  207. if (labor_company_dispatch.labor_company_dispatch_details.length > 0) {
  208. url = "{{ url('personnel/laborApply/laborCompanyDispatch') }}/" + labor_company_dispatch.id + '/detail/edit';
  209. } else {
  210. url = "{{ url('personnel/laborApply/laborCompanyDispatch') }}/" + labor_company_dispatch.id + '/detail/create';
  211. }
  212. return url;
  213. },
  214. /*分配详情编辑*/
  215. getEditlLaborCompanyDispatchUrl(labor_company_dispatch) {
  216. let url = "";
  217. url = "{{ url('personnel/laborApply/laborCompanyDispatch') }}/" + labor_company_dispatch.id + '/edit';
  218. return url;
  219. },
  220. /*劳务接单*/
  221. getBaseUrl(labor_company_dispatch) {
  222. let url = "";
  223. url = "{{ url('personnel/laborApply/laborCompanyDispatch') }}/" + labor_company_dispatch.id;
  224. return url;
  225. },
  226. //获取状态的徽章(badge)组件的外观
  227. getStatusClass(status) {
  228. let result = '';
  229. switch (status) {
  230. case '创建':
  231. result = 'badge badge-light'
  232. break;
  233. case '指派成功':
  234. result = 'badge badge-info'
  235. break;
  236. case '劳务接单':
  237. result = 'badge badge-primary'
  238. break;
  239. case '任务完结':
  240. result = 'badge badge-success'
  241. break;
  242. default:
  243. result = 'badge badge-info'
  244. }
  245. return result;
  246. }
  247. },
  248. });
  249. </script>
  250. @endsection