Dashboard sipadu mbip
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

faulty.blade.php 8.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. @extends('layout.master', ['uid' => $user->_id, 'token' => $user->token_firebase])
  2. @section('page_title', 'Kompaun')
  3. @section('sub_page_title', '')
  4. @section('name', $user->StaffDetail->full_name)
  5. @section('img_profile', $user->StaffDetail->profile_img)
  6. @section('content')
  7. <style type="text/css">
  8. select.form-control, select.form-control:focus, select.form-control:hover {
  9. border: 1px solid #ccc !important;
  10. height: auto !important;
  11. }
  12. .glyphicon { margin-right:10px; }
  13. th { font-weight: 600; text-align: center}
  14. table.dataTable.nowrap th, table.dataTable.nowrap td {
  15. white-space: pre-line !important;
  16. }
  17. table.nowrap th, table.nowrap td {
  18. white-space: pre-line !important;
  19. }
  20. </style>
  21. <div class="inner-page">
  22. <div class="row">
  23. <div class="col-md-2">
  24. <div class="card">
  25. <div class="card-block">
  26. <div class="form-group" style="margin-top: 1.25em">
  27. <label><b>Dari Tarikh <code>*</code></b></label>
  28. <input type="date" name="start_date" id="start_date" class="form-control" required>
  29. </div>
  30. <div class="form-group" style="margin-top: 1.25em">
  31. <label><b>Hingga Tarikh <code>*</code></b></label>
  32. <input type="date" name="end_date" id="end_date" class="form-control" required>
  33. </div>
  34. <div class="form-group" style="margin-top: 1.25em">
  35. <label><b>Jabatan <code>*</code></b></label>
  36. <select name="jabatan" id="jabatan" class="form-control" required>
  37. <option value="null">Pilih jabatan</option>
  38. @foreach($department as $d)
  39. <option value="{{ $d->_id }}">{{ $d->jbkod }}</option>
  40. @endforeach
  41. </select>
  42. </div>
  43. <div class="form-group">
  44. <button id="jana" class="btn btn-info btn-block waves-effect waves-light">Jana Report</button>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. <div class="col-sm-10">
  50. <div class="card">
  51. <div class="card-header">
  52. <h5>Statistik Pengeluaran Kompaun Mengikut Kesalahan</h5>
  53. <div id="link" style="float:right"></div>
  54. </div>
  55. <div class="card-block">
  56. <div class="row m-b-30">
  57. <div class="col-lg-12 col-xl-12">
  58. @include('main-dashboard.report.part.faulty_nav')
  59. <!-- Tab panes -->
  60. <div class="tab-content card-block">
  61. @foreach($month as $key => $m)
  62. <div class="tab-pane {{ $key == 0 ? 'active' : '' }}" id="{{ $m }}" role="tabpanel">
  63. <div class="dt-responsive table-responsive">
  64. <table id="tbl_{{$m}}" class="table table-sm table-striped table-bordered nowrap" style="width:100%">
  65. <thead>
  66. <tr>
  67. <th>BIL</th>
  68. <th width="319">KESALAHAN</th>
  69. <th>JUMLAH KOMPAUN KELUAR</th>
  70. <th>AMAUN KOMPAUN (RM)</th>
  71. <th>JUMLAH BAYAR</th>
  72. <th>AMAUN BAYAR (RM)</th>
  73. <th>JUMLAH KOMPAUN BELUM BAYAR</th>
  74. <th>AMAUN TUNGGAKAN (RM)</th>
  75. <th>KOMPAUN BATAL</th>
  76. <th>AMAUN BATAL (RM)</th>
  77. <th>KOMPAUN KURANG</th>
  78. <th>AMAUN KURANG (RM)</th>
  79. </tr>
  80. </thead>
  81. <tfoot>
  82. <tr>
  83. <th></th>
  84. <th>JUMLAH</th>
  85. <th>0</th>
  86. <th>0</th>
  87. <th>0</th>
  88. <th>0</th>
  89. <th>0</th>
  90. <th>0</th>
  91. <th>0</th>
  92. <th>0</th>
  93. <th>0</th>
  94. <th>0</th>
  95. </tr>
  96. </tfoot>
  97. </table>
  98. </div>
  99. </div>
  100. @endforeach
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. @endsection
  110. @section('external_js')
  111. <script type="text/javascript">
  112. var current_id = "{{ $user->_id }}";
  113. $.ajaxSetup({
  114. headers: {
  115. 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  116. }
  117. });
  118. var table = [], i ,month = <?php echo json_encode($month); ?>;
  119. $(document).ready(function() {
  120. for (i=0;i<=month.length;i++) {
  121. var j = i+1;
  122. var mm = j.toString();
  123. if(mm.length == 1){
  124. mm = '0'+mm;
  125. }
  126. console.log(mm);
  127. table[i] = $('#tbl_'+month[i]).DataTable({
  128. "ordering": false,
  129. "searching": false,
  130. "lengthChange": false,
  131. "pageLength": -1,
  132. "paging": false,
  133. "processing": true,
  134. "serverSide": true,
  135. "ajax": {
  136. "url": "{{ url('api/get/statistic-faulty') }}",
  137. "data": {
  138. "start_date": function() { return $('#start_date').val() },
  139. "end_date": function() { return $('#end_date').val() },
  140. "jabatan": function() { return $('#jabatan').val() },
  141. "month": mm,
  142. }
  143. },
  144. "columns": [
  145. { "data": "index", "name": "index" },
  146. { "data" : "name", "name": "name" },
  147. { "data": "jum_kompaun_keluar", "jan": "jkk" },
  148. { "data": "amaun_kompaun", "name": "ako" },
  149. { "data": "jumlah_byr", "name": "jb" },
  150. { "data": "amaun_byr", "name": "ab" },
  151. { "data": "jum_kompaun_belum_byr", "name": "jkbb" },
  152. { "data": "amaun_tunggakan", "name": "at" },
  153. { "data": "kompaun_batal", "name": "kb" },
  154. { "data": "amaun_batal", "name": "abt" },
  155. { "data": "kompaun_kurang", "name": "kk" },
  156. { "data": "amaun_kurang", "name": "ak" },
  157. ],
  158. "columnDefs": [
  159. {
  160. "render": function ( data, type, row, meta ) {
  161. return (meta.row+1);
  162. },
  163. "targets": 0,
  164. },
  165. ],
  166. "footerCallback": function(row, data, start, end, display) {
  167. var api = this.api();
  168. var jkk,ako,jb,ab,jkbb,at,kb,abt,kk,ak;
  169. jkk = api.column( 2 ).data().reduce( function (a, b) {
  170. return parseFloat(a) + parseFloat(b);
  171. }, 0 );
  172. $( api.column( 2 ).footer() ).html(jkk);
  173. ako = api.column( 3 ).data().reduce( function (a, b) {
  174. return parseFloat(a) + parseFloat(b);
  175. }, 0 );
  176. $( api.column( 3 ).footer() ).html(ako);
  177. jb = api.column( 4 ).data().reduce( function (a, b) {
  178. return parseFloat(a) + parseFloat(b);
  179. }, 0 );
  180. $( api.column( 4 ).footer() ).html(jb);
  181. ab = api.column( 5 ).data().reduce( function (a, b) {
  182. return parseFloat(a) + parseFloat(b);
  183. }, 0 );
  184. $( api.column( 5 ).footer() ).html(ab);
  185. jkbb = api.column( 6 ).data().reduce( function (a, b) {
  186. return parseFloat(a) + parseFloat(b);
  187. }, 0 );
  188. $( api.column( 6 ).footer() ).html(jkbb);
  189. at = api.column( 7 ).data().reduce( function (a, b) {
  190. return parseFloat(a) + parseFloat(b);
  191. }, 0 );
  192. $( api.column( 7 ).footer() ).html(at);
  193. kb = api.column( 8 ).data().reduce( function (a, b) {
  194. return parseFloat(a) + parseFloat(b);
  195. }, 0 );
  196. $( api.column( 8 ).footer() ).html(kb);
  197. abt = api.column( 9 ).data().reduce( function (a, b) {
  198. return parseFloat(a) + parseFloat(b);
  199. }, 0 );
  200. $( api.column( 9 ).footer() ).html(abt);
  201. kk = api.column( 10 ).data().reduce( function (a, b) {
  202. return parseFloat(a) + parseFloat(b);
  203. }, 0 );
  204. $( api.column( 10 ).footer() ).html(kk);
  205. ak = api.column( 11 ).data().reduce( function (a, b) {
  206. return parseFloat(a) + parseFloat(b);
  207. }, 0 );
  208. $( api.column( 11 ).footer() ).html(ak);
  209. },
  210. "drawCallback": function(settings) {
  211. var api = this.api();
  212. // Output the data for the visible rows to the browser's console
  213. if($('#start_date').val() != 'null' && $('#end_date').val() != 'null' && $('#jabatan').val() != 'null'){
  214. var href = document.getElementById('mylink');
  215. var d_link = document.getElementById('link').contains(href);
  216. if(!d_link){
  217. var link = "{{ url('main/export/report/faulty') }}/"+$('#start_date').val()+"/"+$('#end_date').val()+"/"+$('#jabatan').val()+"/All";
  218. $('#link').html('<a target="_blank" id="mylink" href="'+link+'" class="btn btn-primary btn-sm waves-effect waves-light">Excel</a>');
  219. }
  220. }
  221. },
  222. });
  223. }
  224. $('#jana').on('click', function(e){
  225. e.preventDefault();
  226. if($('#start_date').val() == '' || $('#end_date').val() == '' || $('#jabatan').val() == 'null'){
  227. alert('Sila pilih tarikh dan jabatan');
  228. }else {
  229. for (i=0;i<=month.length;i++) {
  230. table[i].ajax.reload();
  231. }
  232. }
  233. });
  234. });
  235. </script>
  236. @endsection