Dashboard sipadu mbip
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  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. .panel-group .panel {
  13. margin-bottom: 0;
  14. overflow: hidden;
  15. border-radius: 4px;
  16. }
  17. .panel-default {
  18. border-color: #ddd;
  19. }
  20. .panel-default>.panel-heading {
  21. color: #333;
  22. background-color: #f5f5f5;
  23. border-color: #ddd;
  24. }
  25. .panel-title {
  26. margin-top: 0;
  27. margin-bottom: 0;
  28. font-size: 16px;
  29. color: inherit;
  30. }
  31. .panel-body .table>thead>tr>th, .panel-body .table>tbody>tr>th, .panel-body .table>tfoot>tr>th, .panel-body .table>thead>tr>td, .panel-body .table>tbody>tr>td, .panel-body .table>tfoot>tr>td , .panel-body div{
  32. padding: 8px 15px;
  33. line-height: 1.428571429;
  34. vertical-align: top;
  35. border-top: 1px solid #ddd;
  36. }
  37. .glyphicon { margin-right:10px; }
  38. .panel-body { padding:0px; }
  39. .panel-body table tr td { padding-left: 15px }
  40. .panel-body table tr td a:hover , .panel-body div a:hover{ color: #d84315 !important; }
  41. .panel-body .table, .panel-body div {margin-bottom: 0px; }
  42. .active { color: #d84315; }
  43. .active:hover { color: #d84315; }
  44. .r-padd { padding-right: 5%; }
  45. </style>
  46. <div class="inner-page">
  47. <div class="row">
  48. <div class="col-md-12">
  49. <div class="fluid">
  50. @if(count($errors) > 0)
  51. <div class="alert alert-danger icons-alert">
  52. @foreach($errors->all() as $error)
  53. <p>{{$error}}</p>
  54. @endforeach
  55. </div>
  56. @endif
  57. @if(Session::get('error_msg'))
  58. <div class="alert alert-danger icons-alert">
  59. {!! Session::get('error_msg') !!}
  60. </div>
  61. @elseif(Session::get('success_msg'))
  62. <div class="alert alert-success icons-alert">
  63. {!! Session::get('success_msg') !!}
  64. </div>
  65. @endif
  66. </div>
  67. </div>
  68. </div>
  69. <div class="row">
  70. <div class="col-xl-2 col-md-12">
  71. <div class="panel panel-default">
  72. <div class="panel-heading">
  73. <h4 class="panel-title"> Navigasi </h4>
  74. </div>
  75. <div class="panel-body">
  76. <div>
  77. <a href="{{ url('/main/staff/index') }}" class="active">Senarai Kakitangan</a>
  78. </div>
  79. <div>
  80. <a href="{{ url('/main/staff/add') }}">Tambah Kakitangan</a>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. <div class="col-xl-10 col-md-12">
  86. <div class="row">
  87. <div class="col-md-12">
  88. <div class="card">
  89. <div class="card-block">
  90. <form class="form-inline">
  91. <div class="form-group" style="padding-right: 10px;">
  92. <label class="r-padd"><b>CARIAN: </b></label>
  93. <select name="select" class="form-control form-control-sm" id="department">
  94. <option value="null">Sila Pilih Jabatan</option>
  95. @foreach($department as $de)
  96. <option value="{{ $de->_id }}">[{{$de->jbkod}}] {{$de->jnama}}</option>
  97. @endforeach
  98. </select>
  99. </div>
  100. <div class="form-group" style="padding-right: 10px;">
  101. <select name="select" class="form-control form-control-sm" id="staff">
  102. <option value="null">Sila Pilih Jawatan</option>
  103. <option value="Pegawai">Pegawai</option>
  104. <option value="PenguatKuasa">PenguatKuasa</option>
  105. </select>
  106. </div>
  107. <div class="form-group" style="padding-right: 10px;">
  108. <select name="select" class="form-control form-control-sm" id="module">
  109. <option value="null">Sila Pilih Modul</option>
  110. @foreach($roles as $r)
  111. <option value="{{ $r->_id }}">{{$r->name}}</option>
  112. @endforeach
  113. </select>
  114. </div>
  115. <div class="form-group">
  116. <button type="button" id="tapis" class="btn btn-primary btn-sm waves-effect waves-light" style="padding: 6px 14px !important;">Tapis</button>
  117. </div>
  118. </form>
  119. </div>
  120. </div>
  121. </div>
  122. </div>
  123. <div class="row">
  124. <div class="col-md-12">
  125. <div class="card">
  126. <div class="card-header">
  127. <h5>Senarai Pegawai</h5>
  128. </div>
  129. <div class="card-block">
  130. <div class="dt-responsive table-responsive">
  131. <table id="staffL" class="table table-sm table-striped table-bordered nowrap" style="width:100%">
  132. <thead>
  133. <tr>
  134. <th>#</th>
  135. <th>Name</th>
  136. <th>No.Kp</th>
  137. <th>No.Telefon</th>
  138. <th>No. Badan</th>
  139. <th>Jawatan</th>
  140. <th>Jabatan</th>
  141. <th>Tindakan</th>
  142. </tr>
  143. </thead>
  144. <tfoot>
  145. <tr>
  146. <th>#</th>
  147. <th>Name</th>
  148. <th>No.Kp</th>
  149. <th>No.Telefon</th>
  150. <th>No. Badan</th>
  151. <th>Jawatan</th>
  152. <th>Jabatan</th>
  153. <th>Tindakan</th>
  154. </tr>
  155. </tfoot>
  156. </table>
  157. </div>
  158. <!-- <div class="animation-modal"> -->
  159. <div class="modal fade" id="ViewDetail" tabindex="-1" role="dialog">
  160. <div class="modal-dialog modal-lg" role="document">
  161. <div class="modal-content">
  162. <div class="modal-header">
  163. <h4 class="modal-title">Maklumat Kaitangan</h4>
  164. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  165. <span aria-hidden="true">&times;</span>
  166. </button>
  167. </div>
  168. <div class="modal-body" style="padding-left: 2rem;padding-right: 2rem;">
  169. <div class="row">
  170. <div class="col-md-12">
  171. <div id="prof" style="text-align: center"></div>
  172. </div>
  173. </div>
  174. <hr>
  175. <div class="row">
  176. <div class="col-md-3">
  177. <b>Nama Penuh: </b>
  178. </div>
  179. <div class="col-md-9">
  180. <div id="full_name"></div>
  181. </div>
  182. </div>
  183. <hr>
  184. <div class="row">
  185. <div class="col-md-3">
  186. <b>NRIC</b>
  187. </div>
  188. <div class="col-md-3">
  189. <div id="nric"></div>
  190. </div>
  191. <div class="col-md-3">
  192. <b>Telephone</b>
  193. </div>
  194. <div class="col-md-3">
  195. <div id="mobile"></div>
  196. </div>
  197. </div>
  198. <hr>
  199. <div class="row">
  200. <div class="col-md-3">
  201. <b>Jabatan</b>
  202. </div>
  203. <div class="col-md-9">
  204. <div id="jabatan"></div>
  205. </div>
  206. </div>
  207. <hr>
  208. <div class="row">
  209. <div class="col-md-3">
  210. <b>Jawatan</b>
  211. </div>
  212. <div class="col-md-3">
  213. <div id="jawatan"></div>
  214. </div>
  215. <div class="col-md-3">
  216. <b>Gred</b>
  217. </div>
  218. <div class="col-md-3">
  219. <div id="gred"></div>
  220. </div>
  221. </div>
  222. <hr>
  223. <div class="row">
  224. <div class="col-md-3">
  225. <b>No. Badan</b>
  226. </div>
  227. <div class="col-md-3">
  228. <div id="badan"></div>
  229. </div>
  230. <div class="col-md-3"></div>
  231. <div class="col-md-3"></div>
  232. </div>
  233. <hr>
  234. <div class="row">
  235. <div class="col-md-3">
  236. <b>Alamat</b>
  237. </div>
  238. <div class="col-md-9">
  239. <div id="address" style="width:100%;word-wrap:break-word;text-align: justify;">
  240. </div>
  241. </div>
  242. </div>
  243. <div id="pegawaiM">
  244. <hr>
  245. <div class="row">
  246. <div class="col-md-3">
  247. <b>Akses Modul</b>
  248. </div>
  249. <div class="col-md-9">
  250. <div id="akses" style="width:100%;word-wrap:break-word;text-align: justify;">
  251. </div>
  252. </div>
  253. </div>
  254. </div>
  255. <hr>
  256. </div>
  257. </div>
  258. </div>
  259. </div>
  260. <!-- End <div class="animation-modal"> -->
  261. </div>
  262. </div>
  263. </div>
  264. <div class="md-overlay"></div>
  265. </div>
  266. </div>
  267. </div>
  268. </div>
  269. @endsection
  270. @section('external_js')
  271. <script type="text/javascript">
  272. $.ajaxSetup({
  273. headers: {
  274. 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  275. }
  276. });
  277. var table = $('#staffL').DataTable({
  278. "ordering": false,
  279. "serverSide": true,
  280. "processing": true,
  281. "ajax": "{{ url('api/staff/list') }}/{{ $user->roles_access }}",
  282. "columns": [
  283. { "data": "index","name": "index"},
  284. { "data": "nama","name": "nama"},
  285. { "data": "ic","name": "ic"},
  286. { "data": "phone", "name": "phone"},
  287. { "data": "no_badan", "name": "no_badan" },
  288. { "data": "jawatan", "name": "jawatan"},
  289. { "data": "jabatan", "name": "jabatan"},
  290. { "data": "tindakan","name": "tindakan"}
  291. ],
  292. "columnDefs": [
  293. {
  294. "render": function ( data, type, row ) {
  295. if (data.indexOf("Baru/") >= 0) {
  296. var split = data.split('/');
  297. return '<label class="label label-success">'+split[0]+'</label>&nbsp;'+split[1];
  298. }else {
  299. return data;
  300. }
  301. },
  302. "targets": 0,
  303. },
  304. {
  305. "render": function ( data, type, row ) {
  306. var link = "{{ url('/main/staff') }}"+"/"+row.tindakan+"/edit";
  307. var jbkod = "{{ $my_jabatan }}";
  308. return '<div class="btn-group btn-group-sm" style="float: none;"><a onclick="getDetail(\''+data+'\')" class="tabledit-edit-button btn btn-success waves-effect waves-light" style="float: none;" data-toggle="tooltip" data-placement="top" title="Maklumat Kakitangan"><span class="icofont icofont-eye-alt" style="color:white"></span></a> <a href="'+link+'" class="tabledit-edit-button btn btn-primary waves-effect waves-light" style="float: none;" data-toggle="tooltip" data-placement="top" title="Kemaskini Kakitangan"><span class="icofont icofont-ui-edit" style="color:white"></span></a> <a onclick="deleteA(\''+data+'\',\'' + row.email + '\')" data-toggle="tooltip" data-placement="top" title="Buang Kakitangan" class="tabledit-delete-button btn btn-danger waves-effect waves-light" style="float: none;"><span class="icofont icofont-ui-delete" style="color:white"></span></a></div>';
  309. // if(jbkod == row.jabatan || jbkod == 'null'){
  310. // return '<div class="btn-group btn-group-sm" style="float: none;"><a onclick="getDetail(\''+data+'\')" class="tabledit-edit-button btn btn-success waves-effect waves-light" style="float: none;" data-toggle="tooltip" data-placement="top" title="Maklumat Kakitangan"><span class="icofont icofont-eye-alt" style="color:white"></span></a> <a href="'+link+'" class="tabledit-edit-button btn btn-primary waves-effect waves-light" style="float: none;" data-toggle="tooltip" data-placement="top" title="Kemaskini Kakitangan"><span class="icofont icofont-ui-edit" style="color:white"></span></a> <a onclick="deleteA(\''+data+'\',\'' + row.email + '\')" data-toggle="tooltip" data-placement="top" title="Buang Kakitangan" class="tabledit-delete-button btn btn-danger waves-effect waves-light" style="float: none;"><span class="icofont icofont-ui-delete" style="color:white"></span></a></div>';
  311. // }else{
  312. // return '<div class="btn-group btn-group-sm" style="float: none;"><a onclick="getDetail(\''+data+'\')" class="tabledit-edit-button btn btn-success waves-effect waves-light" style="float: none;" data-toggle="tooltip" data-placement="top" title="Maklumat Kakitangan"><span class="icofont icofont-eye-alt" style="color:white"></span></a></div>';
  313. // }
  314. },
  315. "targets": 7,
  316. },
  317. ],
  318. "language": {
  319. "paginate": {
  320. "previous": "Sebelum",
  321. "next": "Selepas"
  322. },
  323. "sLengthMenu": "Tunjukkan _MENU_ entri",
  324. "zeroRecords": "Tiada Data Ditemui",
  325. "infoEmpty": "Tiada Rekod Yang Wujud",
  326. "infoFiltered": "(Ditapis daripada _MAX_ jumlah rekod)",
  327. "info": "Tunjuk _START_ hingga _END_ daripada _TOTAL_ entri",
  328. "sSearch": "Cari:",
  329. }
  330. });
  331. function deleteA(cid,email) {
  332. var cid = cid;
  333. var email = email;
  334. swal({
  335. title: "Adakah anda pasti?",
  336. text: "Anda tidak akan dapat memulihkan rekod kakitangan ini ( " + email + " )",
  337. html: true,
  338. type: "warning",
  339. showCancelButton: true,
  340. confirmButtonClass: "btn-danger",
  341. confirmButtonText: "Ya!",
  342. cancelButtonText: "Batal!",
  343. closeOnConfirm: false
  344. },
  345. function(isConfirm){
  346. if (!isConfirm) return;
  347. $.ajax({
  348. type: "POST",
  349. url: "{{ url('api/delete/staff') }}/{{ $user->roles_access }}",
  350. data: { "_token": "{{ csrf_token() }}", id: cid },
  351. success:function(data){
  352. if(data['status'] == "true"){
  353. swal({
  354. title: "Berjaya",
  355. text: data['desc'],
  356. type: "success",
  357. showCancelButton: false,
  358. confirmButtonText: "OK!",
  359. closeOnConfirm: true
  360. },
  361. function(){
  362. table.ajax.url("{{ url('api/staff/list') }}/{{ $user->roles_access }}").load();
  363. });
  364. }else if(data['status'] == "false"){
  365. swal({
  366. title: "Tidak Berjaya",
  367. text: data['desc'],
  368. type: "error",
  369. showCancelButton: false,
  370. confirmButtonText: "OK!",
  371. closeOnConfirm: true
  372. },
  373. function(){
  374. table.ajax.url("{{ url('api/staff/list') }}/{{ $user->roles_access }}").load();
  375. });
  376. }
  377. },
  378. error: function (xhr, ajaxOptions, thrownError) {
  379. swal("Error deleting!", "Rekod tidak berjaya di buang", "error");
  380. }
  381. });
  382. });
  383. };
  384. function getDetail(id) {
  385. $.ajax({
  386. url: "{{ url('api/staff/detail') }}",
  387. method: "POST",
  388. data: { "_token": "{{ csrf_token() }}", id: id },
  389. success: function(data){
  390. if(data['status'] == "true"){
  391. $('.modal-title').html('Maklumat kakitangan ( No.Badan: ' +data['desc'].no_badan+ ' )');
  392. $('#prof').html("<img src='"+origin+"/"+data['desc'].profile_img+"' style='width:200px'>");
  393. $('#full_name').html(data['desc'].full_name);
  394. $('#nric').html(data['desc'].identity);
  395. $('#mobile').html(data['desc'].mobile);
  396. $('#jabatan').html(data['desc'].jbkod);
  397. $('#jawatan').html(data['desc'].roles_access);
  398. $('#gred').html(data['desc'].gred);
  399. $('#badan').html(data['desc'].no_badan);
  400. $('#address').html(data['desc'].address);
  401. if(data['desc'].roles_access == "Pegawai"){
  402. $('#akses').html(data['desc'].access);
  403. $('#pegawaiM').show();
  404. }else{
  405. $('#pegawaiM').hide();
  406. }
  407. $('#ViewDetail').modal({
  408. show: true
  409. })
  410. }else if(data['status'] == "false"){
  411. swal("Error deleting!", data['desc'], "error");
  412. }
  413. }
  414. });
  415. };
  416. $(document).ready(function() {
  417. $('#module').hide();
  418. $('#pegawaiM').hide();
  419. var origin = window.location.origin;
  420. $(".theme-loader").animate({
  421. opacity: "0"
  422. },1000);
  423. setTimeout(function() {
  424. $(".theme-loader").remove();
  425. }, 800);
  426. $('[data-toggle="tooltip"]').tooltip();
  427. $('#staff').change(function(){
  428. if( $(this).val()=="Pegawai"){
  429. $('#module').show();
  430. }
  431. else if( $(this).val()=="PenguatKuasa"){
  432. $("#module").val($("#target option:first").val());
  433. $('#module').hide();
  434. }else {
  435. $("#module").val($("#target option:first").val());
  436. $('#module').hide();
  437. }
  438. });
  439. $("#tapis").click(function(){
  440. var jb = $('#department').val();
  441. var sf = $('#staff').val();
  442. var mod = $('#module').val();
  443. var link = origin+"/api/staff/"+jb+"/"+sf+"/"+mod+"/list/{{ $user->roles_access }}";
  444. console.log(link);
  445. table.ajax.url(link).load();
  446. });
  447. });
  448. </script>
  449. @endsection