dashboard.blade.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. @extends ('layouts.template')
  2. @section('content')
  3. <div class="p-3">
  4. <div class="m-0 mt-4">
  5. <div class="row">
  6. <div class="col-md-3 mcp-theme-1">
  7. <div class="mb-4">
  8. <div class="pro-dashboard-inline-calendar"></div>
  9. </div>
  10. <div class="card mb-4">
  11. <div class="card-header pl-2">
  12. <strong>
  13. <i class="fas fa-chart-bar"></i>
  14. Key Numbers
  15. </strong>
  16. </div>
  17. <div class="card-body p-0">
  18. <table class="table table-condensed table-bordered m-0">
  19. <tbody>
  20. <tr>
  21. <th class="px-2 text-center">{{$keyNumbers['totalPatients']}}</th>
  22. <th class="pl-2"><a href="/patients">Total patients</a></th>
  23. </tr>
  24. <tr>
  25. <th class="px-2 text-center">{{$keyNumbers['patientsNotSeenYet']}}</th>
  26. <th class="pl-2"><a href="/patients/not-yet-seen">Patients I have not seen yet</a></th>
  27. </tr>
  28. <tr>
  29. <th class="px-2 text-center">{{$keyNumbers['pendingBillsToSign']}}</th>
  30. <th class="pl-2"><a href="/practice-management/bills/not-yet-signed">Pending bills to sign</a></th>
  31. </tr>
  32. <tr>
  33. <th class="px-2 text-center">{{$keyNumbers['pendingNotesToSign']}}</th>
  34. <th class="pl-2"><a href="/practice-management/notes/not-yet-signed">Pending notes to sign</a></th>
  35. </tr>
  36. </tbody>
  37. </table>
  38. </div>
  39. </div>
  40. <div class="card mt-3">
  41. <div class="card-header">
  42. <strong>
  43. Reimbursement
  44. </strong>
  45. </div>
  46. <div class="card-body p-0">
  47. <table class="table table-condensed table-bordered m-0">
  48. <tbody>
  49. <tr>
  50. <th class="px-2">{{$reimbursement['currentBalance']}}</th>
  51. <th class="pl-2"><a href="/practice-management/financial-transactions">Current balance</a></th>
  52. </tr>
  53. <tr>
  54. <th class="px-2">{{friendly_date_time($reimbursement['nextPaymentDate'], false)}}</th>
  55. <th class="pl-2">Next Payment Date</th>
  56. </tr>
  57. <tr>
  58. <th class="px-2">{{$reimbursement['nextPaymentAmount']}}</th>
  59. <th class="pl-2">Next Payment Amount</th>
  60. </tr>
  61. <tr>
  62. <th class="px-2">{{$reimbursement['lastPayment']}}</th>
  63. <th class="pl-2"><a href="/practice-management/financial-transactions">Last payment</a></th>
  64. </tr>
  65. <tr>
  66. <th class="px-2">{{friendly_date_time($reimbursement['lastPaymentDate'], false)}}</th>
  67. <th class="pl-2"><a href="/practice-management/financial-transactions">Last payment date</a></th>
  68. </tr>
  69. </tbody>
  70. </table>
  71. </div>
  72. </div>
  73. </div>
  74. <div class="col-md-9">
  75. <div id='calendar'></div>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. <script>
  81. (function() {
  82. var events = [];
  83. function init() {
  84. events = JSON.parse('{!! json_encode($appointments) !!}')
  85. var calendarElem = $('.pro-dashboard-inline-calendar');
  86. calendarElem.datepicker();
  87. calendarElem.on('changeDate', function() {
  88. onDateChange(calendarElem.datepicker('getFormattedDate'));
  89. });
  90. selectToday();
  91. }
  92. function onDateChange(_newDate) {
  93. highlightDatesWithEvents();
  94. console.log('Showing events for ' + _newDate);
  95. }
  96. function selectToday() {
  97. $('.pro-dashboard-inline-calendar table td[data-date]').removeClass('active');
  98. $('.pro-dashboard-inline-calendar table td[data-date="{{ $milliseconds }}"]')
  99. .addClass('active');
  100. onDateChange('{{ $milliseconds }}');
  101. }
  102. function highlightDatesWithEvents() {
  103. $('.pro-dashboard-inline-calendar table td[data-date]').removeAttr('has-events');
  104. for (let i = 0; i < events.length; i++) {
  105. $('.pro-dashboard-inline-calendar table td[data-date="' + events[i].milliseconds + '"]')
  106. .attr('has-events', 1);
  107. }
  108. }
  109. addMCInitializer('pro-dashboard', init);
  110. })();
  111. // function initializeCalendar() {
  112. // if (!$("#calendar").length)
  113. // return;
  114. // var calendarEl = document.getElementById("calendar");
  115. // var calendar = new FullCalendar.Calendar(calendarEl, {
  116. // initialView: "dayGridMonth",
  117. // headerToolbar: {
  118. // left: "dayGridMonth,timeGridWeek,timeGridDay",
  119. // center: "title",
  120. // right: "prevYear,prev,next,nextYear"
  121. // },
  122. // events: events
  123. // });
  124. // calendar.render();
  125. // }
  126. // initializeCalendar();
  127. </script>
  128. @endsection