PageRenderTime 25ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/resources/views/department.blade.php

https://bitbucket.org/the_purple_power/final_is2_web
PHP | 308 lines | 261 code | 46 blank | 1 comment | 1 complexity | 3c36ecd58994485e21578cd3c41a9fca MD5 | raw file
  1. @extends('layouts.main')
  2. @section('content')
  3. @php
  4. $par = collect($params);
  5. $isCurrent = collect($params)->get('current');
  6. @endphp
  7. <div class="row">
  8. <div class="col m6 sm12">
  9. <div class="input-field col s12 m6">
  10. {{--<form name="add" action="{{route('department')}}" method="get">--}}
  11. <select name="department" onchange="this.form.submit()" form="sortForm">
  12. @if($par->get('department') ===null)
  13. <option value="" disabled selected>Choose department</option>
  14. @else
  15. <option value="{{$par->get('department')}}" selected>{{$par->get('department')}}</option>
  16. @endif
  17. @foreach($dep as $d)
  18. <option value="{{$d->dept_name}}">{{$d->dept_name}}</option>
  19. @endforeach
  20. </select>
  21. {{--</form>--}}
  22. </div>
  23. <div class="col m6 s12">
  24. <h5>Current status</h5>
  25. <div class="switch">
  26. <label>
  27. Off
  28. <input type="checkbox" onclick="sortForm.submit();" name="current" form="sortForm"
  29. @if($isCurrent)
  30. checked
  31. @endif
  32. >
  33. <span class="lever"></span>
  34. On
  35. </label>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. <div class="row center-align">
  41. <div class="col m12 l6">
  42. <div id="empPLoader" class="progress">
  43. <div class="indeterminate"></div>
  44. </div>
  45. <div id="empTable">
  46. {{-- results from AJAX--}}
  47. </div>
  48. </div>
  49. {{-- @if($isCurrent)
  50. <th><a id="hire_date" href="#" onclick="setOrder('hire_date');"><span
  51. class="hide material-icons">keyboard_arrow_up</span>
  52. Department Hire date</a></th>
  53. @else
  54. <th><a id="from_date" href="#" onclick="setOrder('from_date');"><span
  55. class="hide material-icons">keyboard_arrow_up</span>
  56. From</a></th>
  57. <th><a id="to_date" href="#" onclick="setOrder('to_date');"><span
  58. class="hide material-icons">keyboard_arrow_up</span>
  59. To</a></th>
  60. @endif
  61. </tr>
  62. </thead>
  63. <script>
  64. $(document).ready(function () {
  65. @if($order === 'asc')
  66. $('#{{$orderCol}} .material-icons').text('keyboard_arrow_up');
  67. @else
  68. $('#{{$orderCol}} .material-icons').text('keyboard_arrow_down');
  69. @endif
  70. $('#{{$orderCol}} .material-icons').removeClass('hide');
  71. });
  72. </script>
  73. <tbody>
  74. @if(!$isCurrent)
  75. @foreach($result as $emp )
  76. <tr>
  77. <td><a href="{{route('userInfo',['id' => $emp->emp_no]) }}">{{$emp->emp_no}}</a></td>
  78. <td><p>{{$emp->first_name}}</p></td>
  79. <td><p>{{$emp->last_name}}</p></td>
  80. <td><p>{{$emp->gender}}</p></td>
  81. @if($orderCol !== 'salary'&& $orderCol !== 'from_date' && $orderCol !== 'to_date')
  82. <td>
  83. @foreach($emp->salaries()->cursor() as $sal )
  84. <div>{{$sal->salary}} </div>
  85. @endforeach
  86. </td>
  87. <td>
  88. @foreach($emp->salaries()->cursor() as $sal )
  89. <div>{{$sal->from_date}}</div>
  90. @endforeach
  91. </td>
  92. <td>
  93. @foreach($emp->salaries()->cursor() as $sal )
  94. <div>{{$sal->to_date}}</div>
  95. @endforeach
  96. </td>
  97. @else
  98. <td><p>{{$emp->salary}}</p></td> --}}{{----}}{{--
  99. <td><p>{{$emp->from_date}}</p></td>
  100. <td><p>{{$emp->to_date}}</p></td>
  101. @endif
  102. </tr>
  103. @endforeach
  104. @else
  105. @foreach($result as $emp)
  106. <tr>
  107. <td><a href="{{route('userInfo',['id' => $emp->emp_no]) }}">{{$emp->emp_no}}</a>
  108. </td>
  109. <td><p>{{$emp->first_name}}</p></td>
  110. <td><p>{{$emp->last_name}}</p></td>
  111. <td><p>{{$emp->gender}}</p></td>
  112. @if($tableType)
  113. @if($emp->salaryNow() ===null)
  114. <td><p>Fired</p></td>
  115. @else
  116. <td><p>{{$emp->salaryNow()->salary}} </p></td>
  117. @endif
  118. @else
  119. <td><p>{{$emp->salary}} </p></td>
  120. @endif
  121. <td>
  122. <p>{{$emp->hire_date}}</p>
  123. </td>
  124. </tr>
  125. @endforeach
  126. @endif
  127. </tbody>
  128. </table>
  129. --}} {{-- {{$result->appends($params)->links()}}
  130. @endif--}}
  131. <script>
  132. var filterForm = $('#sortForm');
  133. var empPLoader = $('#empPLoader');
  134. var empTable = $('#empTable');
  135. $(document).ready(function () {
  136. getTable();
  137. filterForm.submit(function (event) {
  138. event.preventDefault();
  139. getTable()
  140. });
  141. $(document).on('click', '.pagination a', function (e) {
  142. empPLoader.show();
  143. e.preventDefault();
  144. // console.log($(this).attr('href')/*.split('page=')[1]*/);
  145. axios.get($(this).attr('href')).then(function (response) { //todo
  146. empPLoader.hide();
  147. empTable.html(response.data);
  148. }).catch();
  149. });
  150. });
  151. function getTable() {
  152. empPLoader.show();
  153. console.log('loading...');
  154. var result = {};
  155. $.each(filterForm.serializeArray(), function () {
  156. result[this.name] = this.value;
  157. });
  158. axios.get("{{route('depTable')}}", {params: result}).then(function (response) { //todo
  159. empPLoader.hide();
  160. empTable.html(response.data);
  161. }).catch();
  162. }
  163. </script>
  164. {{--<div class="col m12 l6">--}}
  165. {{--<canvas id="myChart"></canvas>--}}
  166. {{--<script>--}}
  167. {{--var ctx = document.getElementById("myChart").getContext('2d');--}}
  168. {{--var myLineChart = new Chart(ctx, {--}}
  169. {{--type: 'line',--}}
  170. {{--data: data,--}}
  171. {{--options: options--}}
  172. {{--});--}}
  173. {{--</script>--}}
  174. {{--</div>--}}
  175. {{--</div>--}}
  176. <div class="col m12 l6">
  177. <h4>Managers</h4>
  178. <table>
  179. <thead>
  180. <tr>
  181. <th>Emp_no</th>
  182. <th>First Name</th>
  183. <th>Last Name</th>
  184. </tr>
  185. </thead>
  186. <tbody>
  187. @foreach($man as $m)
  188. <tr>
  189. <td>{{$m->emp_no}}</td>
  190. <td>{{$m->first_name}}</td>
  191. <td>{{$m->last_name}}</td>
  192. </tr>
  193. @endforeach
  194. </tbody>
  195. </table>
  196. </div>
  197. </div>
  198. <div class="container">
  199. <div class="row">
  200. <div class="col m12 l12 s12">
  201. <canvas id="myChart"></canvas>
  202. </div>
  203. </div>
  204. </div>
  205. <script>
  206. var ctx = document.getElementById("myChart").getContext('2d');
  207. var myChart = new Chart(ctx, {
  208. type: 'bar',
  209. data: {
  210. labels: [
  211. @foreach($dep as $d)
  212. "{{$d->dept_name}}",
  213. @endforeach
  214. ],
  215. datasets: [{
  216. label: '# of employees',
  217. data: [@foreach($dep as $d)
  218. "{{$d->employees()->count()}}",
  219. @endforeach
  220. ],
  221. backgroundColor: [
  222. 'rgba(255, 99, 132, 0.2)',
  223. 'rgba(54, 162, 235, 0.2)',
  224. 'rgba(255, 206, 86, 0.2)',
  225. 'rgba(75, 192, 192, 0.2)',
  226. 'rgba(153, 102, 255, 0.2)',
  227. 'rgba(255, 159, 64, 0.2)',
  228. 'rgba(194,24,91, 0.2)',
  229. 'rgba(30,136,229, 0.2)',
  230. 'rgba(67,160,71, 0.2)',
  231. ],
  232. borderColor: [
  233. 'rgba(255,99,132,1)',
  234. 'rgba(54, 162, 235, 1)',
  235. 'rgba(255, 206, 86, 1)',
  236. 'rgba(75, 192, 192, 1)',
  237. 'rgba(153, 102, 255, 1)',
  238. 'rgba(255, 159, 64, 1)',
  239. 'rgba(194,24,91, 1)',
  240. 'rgba(30,136,229, 1)',
  241. 'rgba(67,160,71,1)',
  242. ],
  243. borderWidth: 1
  244. }]
  245. },
  246. options: {
  247. scales: {
  248. yAxes: [{
  249. ticks: {
  250. beginAtZero: true
  251. }
  252. }]
  253. }
  254. }
  255. });
  256. </script>
  257. <script>
  258. $(document).ready(function () {
  259. $('select').formSelect();
  260. });
  261. </script>
  262. @endsection