Advertisement
Guest User

provider.blade.php

a guest
Jul 20th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.54 KB | None | 0 0
  1. @extends('layouts.master')
  2.  
  3. @section('css')
  4. <!-- Bootstrap Datepicker min css -->
  5. <link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.3.0/css/datepicker.min.css" rel="stylesheet">
  6. <!-- Css for this page -->
  7. <link href="{{ asset('css/payerCss.css') }}" rel="stylesheet">
  8. <!-- DataTable fixedHeader css -->
  9. <link href="//cdn.datatables.net/fixedheader/3.1.5/css/fixedHeader.dataTables.min.css" rel="stylesheet">
  10. <!-- DataTable css -->
  11. <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/sl-1.2.6/datatables.min.css"/>
  12.  
  13. <style>
  14. #payer-table_filter
  15. {
  16. display: none!important;
  17. }
  18. </style>
  19.  
  20. @endsection
  21.  
  22. @section('content')
  23.  
  24. <div class="row" style="margin: 0px;">
  25. <div class="col-lg-3 offset-lg-1" style="padding-top:2%;">
  26. <h5><b>Топ 10 даватели</b></h5>
  27. </div>
  28. <div class="col-lg-7" style="padding-top:2%; text-align:center">
  29. <div class="row">
  30. <label for="dateFrom" class="col-lg-1" style="padding-top:1%;">Од:</label>
  31. <div class="input-group col-lg-4">
  32. <input type="text" id="dateFrom" class="form-control col-lg-8 form-control-1 from" placeholder="<?=date("M, Y", mktime(0, 0, 0, date('m')-1, 1, date('Y')))?>" >
  33. <div class="input-group-append" style="">
  34. <span onclick="getFocusFrom()" class="input-group-text" id="basic-addon1"><i class="far fa-calendar-alt"></i></span>
  35. </div>
  36. </div>
  37. <label for="dateTo" class="col-lg-1" style="padding-top:1%;">До: </label>
  38. <div class="input-group col-lg-4">
  39. <input type="text" id="dateTo" class="form-control col-lg-8 form-control-1 to" placeholder="<?=date("M, Y")?>">
  40. <div class="input-group-append" style="">
  41. <span onclick="getFocusTo()" class="input-group-text" id="basic-addon1"><i class="far fa-calendar-alt"></i></span>
  42. </div>
  43. </div>
  44. <div class="col-lg-2" style="padding-right:0px; text-align:center">
  45. <a href="#" style="color: #343a40" id="column_chart"><i class="far fa-chart-bar fa-2x" style="padding:1%"></i></a>
  46. <a href="#" id="pie_chart" style="color: #343a40"><i class="fas fa-chart-pie fa-2x" style="padding:1%"></i></a>
  47. </div>
  48. </div>
  49. </div>
  50. </div>
  51.  
  52. <div class="row" style="width: 100%; margin: 0px;" >
  53. <hr class="col-lg-10" >
  54. </div>
  55. <div class="row" style="width: 100%; margin: 0px; " >
  56. <div id="loading" class="col-lg-12">
  57. <div class="loader offset-lg-6">
  58. </div>
  59. </div>
  60. <div id="column" class="PayersColumnChart offset-lg-1 col-lg-10" style="padding: 0px; text-align: center"></div>
  61. <div id="pie" class="PayersPieChart offset-lg-1 col-lg-10" style="display:none;"></div>
  62. </div>
  63.  
  64.  
  65. <div class="row" style="width:100%;background-color: #eeeeee; padding:2%; text-align:center; padding-left: 0px; padding-right:0px; margin:0px;">
  66.  
  67. <div class="col-lg-3">
  68. <h3>Трансакции</h3>
  69. <h1 class="transactions">{{$num_transactions}} </h1>
  70. </div>
  71. <div class="col-lg-3">
  72. <h3>Јавни установи</h3>
  73. <h1 class="transactions">{{$num_budget_entities}}</h1>
  74. </div>
  75. <div class="col-lg-3">
  76. <h3>Компании</h3>
  77. <h1 class="transactions">{{$num_legal_entities}} </h1>
  78. </div>
  79. <div class="col-lg-3">
  80. <h3>Поединци</h3>
  81. <h1 class="transactions">{{ number_format(round($num_people))}} </h1>
  82. </div>
  83.  
  84. </div>
  85.  
  86. <div class="row" style="padding-left: 4%; padding-top: 2%; width: 100%; margin: 0px;">
  87. <div class="col-lg-2">
  88. <h5><b>Даватели</b> </h5>
  89. </div>
  90. </div>
  91. <div class="row" style="width: 100%; margin: 0px;" >
  92. <hr class="col-lg-11" >
  93. </div>
  94. <div class="row" style="padding-bottom: 0.5%; width: 100%; margin: 0px;">
  95.  
  96. <div class="col-lg-3">
  97. <div class="row" style="margin: 0px;">
  98. <div class="col-lg-4 offset-lg-2" style="text-align:center">
  99. <label for="showRowsNumber">Прикажи:</label>
  100. </div>
  101. <select id="showRowsNumber" name="payer-table_length" aria-controls="payer-table" class="col-lg-3 custom-select custom-select-sm form-control-sm">
  102. <option value="10">10</option>
  103. <option value="25">25</option>
  104. <option value="50">50</option>
  105. <option value="100">100</option>
  106. </select>
  107.  
  108. </div>
  109. </div>
  110.  
  111.  
  112. <div class="col-lg-3 offset-lg-6">
  113. <div class="row" style="text-align:center; margin: 0px;">
  114. <div class="col-lg-6" style="padding-left: 0px; padding-right: 0px; padding-top: 1%; text-align:center">
  115. <input id="myInputTextField" type="text" placeholder=" пребарај" class="form-control " >
  116. </div>
  117. <div class="col-lg-4" style="padding-left: 0px; padding-right: 0px; padding-top: 1%; text-align:center">
  118. <a style="color: #343a40" href="{{route('transactions export')}}"><i class="far fa-file-excel fa-2x offset-lg-2"></i></a>
  119. </div>
  120. </div>
  121. </div>
  122. </div>
  123.  
  124. <div class="row" style="padding:2%; padding-top:0px; margin: 0px; overflow-x: auto;">
  125. <table class="table display" style="width: 100%" id="payer-table">
  126. <thead>
  127. <tr>
  128. <th>Ime </th>
  129. <th>Smetka </th>
  130. <th>EDB </th>
  131. <th>Iznos </th>
  132. </tr>
  133. </thead>
  134. </table>
  135. </div>
  136. <?= Lava::render('ColumnChart','Payers_column', 'column')?>
  137. <?= Lava::render('PieChart','Payers_pie', 'pie')?>
  138.  
  139. @endsection
  140.  
  141. @push('scripts')
  142. <!-- Bootstrap-datepicker min js -->
  143. <script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.3.0/js/bootstrap-datepicker.min.js"></script>
  144. <!-- DataTable js -->
  145. <script type="text/javascript" src="https://cdn.datatables.net/v/dt/sl-1.2.6/datatables.min.js"></script>
  146. <script>
  147. // Needed variables for view functionalitty
  148. var type = 'column';
  149. var currentTime = new Date();
  150. var fromDate;
  151. var toDate;
  152. var fromMonth;
  153. var fromYear;
  154. var toMonth;
  155. var toYear;
  156. var months = {
  157. 'Jan' : '1',
  158. 'Feb' : '2',
  159. 'Mar' : '3',
  160. 'Apr' : '4',
  161. 'May' : '5',
  162. 'Jun' : '6',
  163. 'Jul' : '7',
  164. 'Aug' : '8',
  165. 'Sep' : '9',
  166. 'Oct' : '10',
  167. 'Nov' : '11',
  168. 'Dec' : '12'
  169. }
  170. //TODO on load
  171. $(window).on('load', function() {
  172.  
  173. //Hide the load animation on graph
  174. $('#loading').hide();
  175. //Create search inputs for every column of Payers DataTable
  176. $('#payer-table thead tr').clone(true).appendTo('#payer-table thead');
  177. $('#payer-table thead tr:eq(1) th').each(function (i) {
  178. var title = $(this).text();
  179. $(this).html('<input class="form-control" type="text" placeholder="'+title+'" />');
  180. $('input', this ).on( 'keyup change', function () {
  181. if ( table.column(i).search() !== this.value ) {
  182. table
  183. .column(i)
  184. .search(this.value)
  185. .draw();
  186. }
  187. } );
  188. });
  189. //Init from datePicker and set format
  190. $('.from').datepicker({
  191. autoclose: true,
  192. minViewMode: 1,
  193. format: 'M, yyyy'
  194. });
  195. //Init to datePicker and set format
  196. $('.to').datepicker({
  197. autoclose: true,
  198. minViewMode: 1,
  199. format: 'M, yyyy'
  200. });
  201. var counter = 1;
  202.  
  203. //TODO on change dateFrom datepicker
  204. $('#dateFrom').on('change', function(){
  205.  
  206. dateFrom = $('#dateFrom').val().trim().split(",");
  207. fromMonth = dateFrom[0].substr(0,3);
  208. fromYear = dateFrom[1].trim();
  209. if($('#dateTo').val() == '')
  210. {
  211. toMonth = 12;
  212. toYear = currentTime.getFullYear();
  213. }
  214. else
  215. {
  216. dateTo = $('#dateTo').val().trim().split(",");
  217. toMonth = dateTo[0];
  218. toMonth = months[toMonth];
  219. toYear = dateTo[1].trim();
  220. }
  221. if(type == 'pie' && (counter % 3 == 0)){
  222. $.getJSON("{{route('payers transactions chart api')}}?fromMonth="+months[fromMonth]+"&fromYear="+fromYear+"&toMonth="+toMonth+"&toYear="+toYear+"", function (dataTableJson) {
  223. lava.loadData('Payers_pie', dataTableJson, function (chart) {
  224. });
  225. });
  226. }
  227. if(type == 'column' && (counter % 3 == 0)) {
  228. $.getJSON("{{route('payers transactions chart api')}}?fromMonth="+months[fromMonth]+"&fromYear="+fromYear+"&toMonth="+toMonth+"&toYear="+toYear+"", function (dataTableJson) {
  229. lava.loadData('Payers_column', dataTableJson, function (chart) {
  230.  
  231. if((dataTableJson.rows).length == 0)
  232. lava.charts.ColumnChart.Payers_column.options.animation.duration = 0;
  233. else
  234. lava.charts.ColumnChart.Payers_column.options.animation.duration = 2000;
  235. lava.charts.ColumnChart.Payers_column.redraw();
  236.  
  237. });
  238. });
  239. }
  240. counter++;
  241. });
  242.  
  243. //TODO on change dateTo datepicker
  244. $('#dateTo').on('change', function(){
  245. dateTo = $('#dateTo').val().trim().split(",");
  246. toMonth = dateTo[0];
  247. toYear = dateTo[1].trim();
  248. if($('#dateFrom').val() == '')
  249. {
  250. fromMonth = 1;
  251. fromYear = currentTime.getFullYear();
  252. }
  253. else
  254. {
  255. dateFrom = $('#dateFrom').val().trim().split(",");
  256. fromMonth = dateFrom[0];
  257. fromMonth = months[fromMonth];
  258. fromYear = dateFrom[1].trim();
  259. }
  260. if(type == 'pie' && (counter % 3 == 0)){
  261. $.getJSON("{{route('payers transactions chart api')}}?fromMonth="+fromMonth+"&fromYear="+fromYear+"&toMonth="+months[toMonth]+"&toYear="+toYear+"", function (dataTableJson) {
  262. lava.loadData('Payers_pie', dataTableJson, function (chart) {
  263.  
  264. });
  265. });
  266. }
  267. if(type == 'column' && (counter % 3 == 0))
  268. {
  269. $.getJSON("{{route('payers transactions chart api')}}?fromMonth="+fromMonth+"&fromYear="+fromYear+"&toMonth="+months[toMonth]+"&toYear="+toYear+"", function (dataTableJson) {
  270. lava.loadData('Payers_column', dataTableJson, function (chart) {
  271. });
  272. });
  273. }
  274. counter++;
  275. })
  276. //Init DataTable
  277. var table = $('#payer-table').DataTable({
  278. processing: true,
  279. serverSide: true,
  280. select: true,
  281. ajax: '{!! route('transactions payers datatable api') !!}',
  282. columns: [
  283. { data: 'naziv', name: 'mf_legal_entities.naziv' },
  284. { data: 'smetka_davac', name: 'smetka_davac'},
  285. { data: 'edb', name: 'mf_legal_entities.edb'},
  286. { data: 'iznos', name: 'iznos'},
  287.  
  288. ],
  289. responsive: true,
  290. orderCellsTop: true,
  291. fixedHeader: true,
  292. "language": {
  293. "processing": "Се процесира"
  294. },
  295. "bLengthChange": false,
  296.  
  297. });
  298.  
  299. //Table on click row
  300. table.on('select', function ( e, dt, type, indexes ) {
  301. if ( type === 'row' ) {
  302. var data = table.rows(indexes).data();
  303. var smetka_davac = data[0].smetka_davac;
  304. var url = "{{ route('payers specific entity page', ":smetka_davac") }}";
  305. url = url.replace(":smetka_davac", smetka_davac);
  306. window.location = url;
  307. }
  308. });
  309. //Custom search
  310. $('#myInputTextField').keyup(function(){
  311. table.search($(this).val()).draw();
  312. });
  313.  
  314. });
  315. //TODO on click on column chart icon
  316. $('#column_chart').on('click', function() {
  317.  
  318. if($('#dateFrom').val() == '')
  319. {
  320. fromMonth = 'Jan';
  321. fromYear = currentTime.getFullYear();
  322. }
  323. else
  324. {
  325. dateFrom = $('#dateFrom').val().trim().split(",");
  326. fromMonth = dateFrom[0].substr(0,3);
  327. fromYear = dateFrom[1].trim();
  328. }
  329. if($('#dateTo').val() == '')
  330. {
  331. toMonth = 'Dec';
  332. toYear = currentTime.getFullYear();
  333.  
  334. }
  335. else
  336. {
  337. dateTo = $('#dateTo').val().trim().split(",");
  338. toMonth = dateTo[0].substr(0,3);
  339. toYear = dateTo[1].trim();
  340. }
  341. type = 'column';
  342. $('#pie').css('display', 'none');
  343. $('#column').css('display', 'block');
  344. $.getJSON("{{route('payers transactions chart api')}}?fromMonth="+months[fromMonth]+"&fromYear="+fromYear+"&toMonth="+months[toMonth]+"&toYear="+toYear+"", function (dataTableJson) {
  345. lava.loadData('Payers_column', dataTableJson, function (chart) {
  346. });
  347. });
  348. });
  349. //TODO on click on pie chart icon
  350. $('#pie_chart').on('click', function() {
  351. if($('#dateFrom').val() == '')
  352. {
  353. fromMonth = 'Jan';
  354. fromYear = currentTime.getFullYear();
  355. }
  356. else
  357. {
  358. dateFrom = $('#dateFrom').val().trim().split(",");
  359. fromMonth = dateFrom[0].substr(0,3);
  360. fromYear = dateFrom[1].trim();
  361. }
  362. if($('#dateTo').val() == '')
  363. {
  364. toMonth = 'Dec';
  365. toYear = currentTime.getFullYear();
  366. }
  367. else
  368. {
  369. dateTo = $('#dateTo').val().trim().split(",");
  370. toMonth = dateTo[0].substr(0,3);
  371. toYear = dateTo[1].trim();
  372. }
  373. type = 'pie';
  374. $('#column').css('display', 'none');
  375. $('#pie').css('display', 'block');
  376. $.getJSON("{{route('payers transactions chart api')}}?fromMonth="+months[fromMonth]+"&fromYear="+fromYear+"&toMonth="+months[toMonth]+"&toYear="+toYear+"", function (dataTableJson) {
  377. lava.loadData('Payers_pie', dataTableJson, function (chart) {
  378.  
  379. });
  380. });
  381. });
  382.  
  383.  
  384. //Show Length pagination dataTable
  385. $('#showRowsNumber').on('change', function(){
  386. var value = $('#showRowsNumber').val();
  387. $('#payer-table').DataTable().page.len(value).draw();
  388.  
  389. });
  390.  
  391. // From Datepicker get Focus on click on button
  392. function getFocusFrom() {
  393. $('#dateFrom').focus();
  394. }
  395. // To Datepicker get Focus on click on button
  396. function getFocusTo() {
  397. $('#dateTo').focus();
  398. }
  399. </script>
  400. @endpush
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement