print2.blade.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. <!DOCTYPE html>
  2. <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <meta name="csrf-token" content="{{ csrf_token() }}">
  7. <title>{{ config('app.name') }}</title>
  8. <link rel="icon" href="/img/icon.svg">
  9. <!-- Fonts -->
  10. <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
  11. {{-- mc initializers --}}
  12. <script src="/js/mc-init.js?v={{config('app.asset_version')}}"></script>
  13. {{-- vue --}}
  14. <script src="/js/vue.js"></script>
  15. {{-- Quill RTE --}}
  16. <script>
  17. window.stagQuillConfig = {
  18. toolbar: ['bold', 'italic', 'underline', { 'list': 'ordered'}, { 'list': 'bullet' }],
  19. keyboard: {
  20. bindings: {
  21. handleEnter: {
  22. key: 13,
  23. handler: function() {
  24. if(!$('.stag-shortcuts:visible').length) return true;
  25. }
  26. }
  27. }
  28. }
  29. };
  30. </script>
  31. <link href="/quill/quill.snow.css" rel="stylesheet">
  32. <script src="/quill/quill.js"></script>
  33. <!-- <link href="{{ asset('bootstrap-4.5.0/css/bootstrap.css') }}" rel="stylesheet"> -->
  34. <link rel="stylesheet" href="/fontawesome-free-5.13.1-web/css/all.min.css">
  35. <link href="{{ asset('/css/app.css') }}?v={{config('app.asset_version')}}" rel="stylesheet">
  36. <link href="{{ asset('/css/style.css') }}?v={{config('app.asset_version')}}" rel="stylesheet">
  37. <link href="{{ asset('/css/yemi.css') }}?v={{config('app.asset_version')}}" rel="stylesheet">
  38. <link rel="stylesheet" href="{{ asset('/css/toastr.min.css') }}">
  39. <link href="{{asset('/css/z.css')}}?v={{config('app.asset_version')}}" rel=stylesheet>
  40. <!-- Styles -->
  41. <script src="{{ asset('js/app.js') }}?v={{config('app.asset_version')}}" type="application/javascript"></script>
  42. <script src="/js/jquery-3.5.1.min.js"></script>
  43. <script src="/js/jquery.form.min.js"></script>
  44. <script src="{{ asset('js/toastr.min.js') }}" type="application/javascript"></script>
  45. <script src="/js/yemi.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
  46. {{-- med ac --}}
  47. <link href='/css/autocomplete-lhc.min.css' rel="stylesheet">
  48. <script src='/js/autocomplete-lhc.js'></script>
  49. {{-- inline bootstrap datepicker --}}
  50. {{-- <link href='/bootstrap-datepicker/css/bootstrap-datepicker.standalone.min.css' rel="stylesheet">
  51. <script src='/bootstrap-datepicker/js/bootstrap-datepicker.min.js'></script>--}}
  52. <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  53. <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  54. {{-- pdfjs --}}
  55. <script src="/js/pdfjs-2.12.313/build/pdf.js"></script>
  56. <script src="{{ asset('js/tsvToArray.js') }}"></script>
  57. {{-- WebSockets --}}
  58. <script src="https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/1.5.0/sockjs.min.js"
  59. integrity="sha512-5yJ548VSnLflcRxWNqVWYeQZnby8D8fJTmYRLyvs445j1XmzR8cnWi85lcHx3CUEeAX+GrK3TqTfzOO6LKDpdw=="
  60. crossorigin="anonymous"></script>
  61. <script src="https://cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js"
  62. integrity="sha512-iKDtgDyTHjAitUDdLljGhenhPwrbBfqTKWO1mkhSFH3A7blITC9MhYon6SjnMhp4o0rADGw9yAC6EW4t5a4K3g=="
  63. crossorigin="anonymous"></script>
  64. <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
  65. <script src="https://cdnjs.cloudflare.com/ajax/libs/TableDnD/1.0.5/jquery.tablednd.min.js"></script>
  66. <script>
  67. window.segmentRefreshConfig = {!! json_encode(config('stag.segmentRefreshConfig')) !!};
  68. </script>
  69. <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
  70. <script type="text/javascript">
  71. $(function() {
  72. $.ajaxSetup({
  73. headers: {
  74. 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  75. }
  76. });
  77. });
  78. </script>
  79. @yield('head')
  80. </head>
  81. <body>
  82. <div id="mask" style="background: rgba(0, 0, 0, 0) url(&quot;/vanillaspin.gif&quot;) no-repeat scroll center center; position: fixed; top: 0px; left: 0px; z-index: 9999; width: 100%; height: 100%; display: none;">
  83. </div>
  84. <div id="moe-form-mask" style="background: rgba(0, 0, 0, .1) no-repeat scroll center center; position: fixed; top: 0px; left: 0px; z-index: 97; width: 100%; height: 100%; display: none;">
  85. </div>
  86. <main role="main" class="stag-content px-0">
  87. @yield('content')
  88. </main><!-- /.container -->
  89. <!-- shortcut/suggest component -->
  90. <link href="/css/shortcut.css?v={{config('app.asset_version')}}" rel=stylesheet>
  91. <script src="/js/shortcut.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
  92. <!-- pro suggest component -->
  93. <script src="/js/pro-suggest.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
  94. <!-- script to handle history/back/forward for mc/xxx pages
  95. + all other JS initialization needed in fastLoaded pages -->
  96. <script src="/js/find-event-handlers.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
  97. <script src="/js/mc.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
  98. <form url="/api/proTextShortcut/create" id="create-shortcut-form" class="mcp-theme-1">
  99. <input type="hidden" name="proUid" value="{{ $pro->uid }}">
  100. <div class="mb-2">
  101. <input type="text" class="form-control form-control-sm" name="shortcut" value="" placeholder="Shortcut Name" required>
  102. </div>
  103. <div class="mb-2">
  104. <textarea name="text" class="form-control form-control-sm" rows="3" id="selected-sc-text" placeholder="Content" required></textarea>
  105. </div>
  106. <div class="mb-0">
  107. <button class="btn btn-primary btn-sm" type="submit">Save</button>
  108. <button class="btn btn-default border btn-sm ml-1" type="reset">Cancel</button>
  109. </div>
  110. </form>
  111. <script>
  112. $(document).ready(function() {
  113. window.toggleChildLinks = function(_element) {
  114. $(_element).closest('.nav-item').toggleClass('nav-child-collapsed');
  115. return false;
  116. }
  117. const debounce = (func, wait) => {
  118. let timeout;
  119. return function executedFunction(...args) {
  120. const later = () => {
  121. clearTimeout(timeout);
  122. func(...args);
  123. };
  124. clearTimeout(timeout);
  125. timeout = setTimeout(later, wait);
  126. };
  127. };
  128. var lastTerm = '';
  129. var returnedFunction = debounce(function() {
  130. var term = $.trim($('#patient-search').val());
  131. if (!!term) {
  132. if(lastTerm !== term) {
  133. $('.patient-search-results.suggestions-outer')
  134. .html('<span class="d-block no-suggest-items">Searching...</span>')
  135. .removeClass('d-none');
  136. $.get('/patients-suggest?term=' + term, function(_data) {
  137. if($.trim($('#patient-search').val()) === term) { // use returned data only if it's for the sent "term"
  138. $('.patient-search-results.suggestions-outer').html(_data).removeClass('d-none');
  139. }
  140. });
  141. lastTerm = term;
  142. }
  143. } else {
  144. $('.patient-search-results.suggestions-outer').addClass('d-none');
  145. }
  146. }, 250);
  147. $('#patient-search')
  148. .off('keydown')
  149. .on('keydown', function(e) {
  150. var activeItem = $('.patient-search-results.suggestions-outer .suggest-item.active');
  151. switch (e.which) {
  152. case 27:
  153. $('.patient-search-results.suggestions-outer').addClass('d-none');
  154. markEventAsConsumed(e);
  155. return false;
  156. case 38:
  157. if (activeItem.prev().length) {
  158. activeItem.prev()
  159. .addClass('active')
  160. .siblings().removeClass('active');
  161. activeItem = $('.patient-search-results.suggestions-outer .suggest-item.active');
  162. if (activeItem.length) {
  163. activeItem[0].scrollIntoView();
  164. }
  165. }
  166. return false;
  167. case 40:
  168. if (activeItem.next().length) {
  169. activeItem.next()
  170. .addClass('active')
  171. .siblings().removeClass('active');
  172. activeItem = $('.patient-search-results.suggestions-outer .suggest-item.active');
  173. if (activeItem.length) {
  174. activeItem[0].scrollIntoView();
  175. }
  176. }
  177. return false;
  178. case 13:
  179. if (activeItem.length) {
  180. activeItem.first().trigger('mousedown');
  181. }
  182. return false;
  183. default:
  184. window.setTimeout(onQueryChange, 50);
  185. break;
  186. }
  187. })
  188. .on('keypress paste', function(e) {
  189. window.setTimeout(onQueryChange, 50);
  190. })
  191. .on('blur', function(e) {
  192. $('.patient-search-results.suggestions-outer').addClass('d-none');
  193. return false;
  194. })
  195. .on('focus', function(e) {
  196. if (lastTerm) { //if search has content
  197. $('.patient-search-results.suggestions-outer').removeClass('d-none');
  198. }
  199. return false;
  200. });
  201. $(document)
  202. .off('click.on-click-menu', '.on-click-menu>span')
  203. .on('click.on-click-menu', '.on-click-menu>span', function() {
  204. $(this).parent().find('[menu]').first().show();
  205. return false;
  206. });
  207. $('body')
  208. .off('mousedown.on-click-menu-outside-click')
  209. .on('mousedown.on-click-menu-outside-click', function (e) {
  210. if ($(e.target).closest('.on-click-menu').length && $(e.target).closest('.on-click-menu').find('[menu]').is(':visible')) {
  211. return;
  212. }
  213. $('.on-click-menu [menu]').hide();
  214. });
  215. function onQueryChange() {
  216. returnedFunction();
  217. }
  218. $(document).on('mousedown', '.suggest-item.patient-suggest[data-target-uid]', function() {
  219. $('#patient-search').val('');
  220. $('.patient-search-results.suggestions-outer').addClass('d-none');
  221. fastLoad('/patients/view/' + $(this).attr('data-target-uid'), true, false, false);
  222. return false;
  223. });
  224. $(document)
  225. .off('click.tab-link', 'a[tab-link]')
  226. .on('click.tab-link', 'a[tab-link]', function () {
  227. let tab = $(this).attr('tab-link');
  228. $(this).siblings().removeClass('tab-link-active');
  229. $(this).addClass('tab-link-active');
  230. $(this).closest('[tab-links]').siblings('.cm-tab').addClass('d-none');
  231. $(this).closest('[tab-links]').siblings('.cm-tab[tab-key="' + tab + '"]').removeClass('d-none');
  232. // TODO: move to context
  233. if(window.vgBPChart) window.vgBPChart.flush();
  234. if(window.vgWtChart) window.vgWtChart.flush();
  235. return false;
  236. });
  237. addMCInitializer('hide-moes', function() {
  238. $('div[moe] form:not([show])').hide();
  239. });
  240. (function() {
  241. function init() {
  242. $(window).on('resize', adjustStickyHeader);
  243. $(window).on('scroll', adjustStickyHeader);
  244. }
  245. function adjustStickyHeader() {
  246. if($(window).scrollTop() > 0) {
  247. $('.sticky-note-header').addClass('sticky');
  248. }
  249. else {
  250. $('.sticky-note-header').removeClass('sticky');
  251. }
  252. }
  253. addMCInitializer('sticky-note-header', init, '.sticky-note-header');
  254. })();
  255. });
  256. </script>
  257. <script src="/js/click-to-copy.js?v={{config('app.asset_version')}}"></script>
  258. <script src="/js/stag-popup.js?v={{config('app.asset_version')}}"></script>
  259. <script src="/js/stag-suggest.js?v={{config('app.asset_version')}}"></script>
  260. <script src="/js/stag-table-filter.js?v={{config('app.asset_version')}}"></script>
  261. <script src="/js/option-list.js?v={{config('app.asset_version')}}"></script>
  262. <script src="/js/show-on-click.js?v={{config('app.asset_version')}}"></script>
  263. <script src="/js/dq.js?v={{config('app.asset_version')}}"></script>
  264. <script src="/js/icd-autocomplete.js?v={{config('app.asset_version')}}"></script>
  265. <script src="/js/stag-collapsible-card.js?v={{config('app.asset_version')}}"></script>
  266. <script src="/js/stag-scrollbar.js?v={{config('app.asset_version')}}"></script>
  267. @include('app/pdf/viewer')
  268. <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.10.24/fc-3.3.2/fh-3.1.8/datatables.min.css"/>
  269. <script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.10.24/fc-3.3.2/fh-3.1.8/datatables.min.js"></script>
  270. <link href="/v-splitter-px/v-splitter.css?v={{config('app.asset_version')}}" rel="stylesheet" >
  271. <script src="/v-splitter-px/v-splitter.js?v={{config('app.asset_version')}}"></script>
  272. </body>
  273. </html>