Forráskód Böngészése

Facility support for lab and imaging

Vijayakrishnan 4 éve
szülő
commit
6766ec5301

+ 6 - 2
resources/views/app/patient/tickets.blade.php

@@ -783,14 +783,18 @@
                                 _item.pharmacyFax,*/
                             ].filter(Boolean).join(', ');
                         },
-                        @include('app.patient.tickets.pharmacy-suggest')
+                        @include('app.patient.tickets.pharmacy-suggest', ['category' => 'erx'])
+                        @include('app.patient.tickets.pharmacy-suggest', ['category' => 'lab'])
+                        @include('app.patient.tickets.pharmacy-suggest', ['category' => 'imaging'])
                         @include('app.patient.tickets.ticket_vue_methods')
                     },
                     mounted: function () {
                         this.initRxAutoSuggest();
                         this.erxInitICDAutoSuggest();
                         this.labInitICDAutoSuggest();
-                        this.initPharmacySearch();
+                        this.erxInitPharmacySearch();
+                        this.labInitPharmacySearch();
+                        this.imagingInitPharmacySearch();
                         this.initDomElementEvents();
 
                         <?php for ($i=0; $i<count($categories); $i++) { ?>

+ 7 - 41
resources/views/app/patient/tickets/erx.blade.php

@@ -164,47 +164,13 @@
                 </div>
 
             </div>
-            <div class="p-3 border-bottom">
-                <div class="row mb-2">
-                    <div class="col-12">
-                        <label class="text-secondary mb-0 font-weight-normal font-size-16">Preferred Pharmacy</label>
-                    </div>
-                </div>
-                <div class="row mb-2">
-                    <div class="col-12">
-                        <label class="text-sm text-secondary mb-1">Business Name</label>
-                        <input type="text" autocomplete="donotdoit" placeholder="Business Name" id="pharmacy-search" v-model="erxPopupItem.data.pharmacyName" class="form-control form-control-sm">
-                        <div class="suggestions-outer pharmacy-suggestions position-absolute d-none"></div>
-                    </div>
-                </div>
-                <div class="row mb-2">
-                    <div class="col-4">
-                        <label class="text-sm text-secondary mb-1">City</label>
-                        <input type="text" placeholder="City" v-model="erxPopupItem.data.pharmacyCity" class="form-control form-control-sm min-width-unset">
-                    </div>
-                    <div class="col-2 pl-0">
-                        <label class="text-sm text-secondary mb-1">State</label>
-                        <input type="text" placeholder="State" v-model="erxPopupItem.data.pharmacyState" class="form-control form-control-sm min-width-unset">
-                    </div>
-                    <div class="col-3 pl-0">
-                        <label class="text-sm text-secondary mb-1">Phone</label>
-                        <input type="text" placeholder="Phone" v-model="erxPopupItem.data.pharmacyPhone" class="form-control form-control-sm min-width-unset">
-                    </div>
-                    <div class="col-3 pl-0">
-                        <label class="text-sm text-secondary mb-1">Fax</label>
-                        <input type="text" placeholder="Fax" v-model="erxPopupItem.data.pharmacyFax" class="form-control form-control-sm min-width-unset">
-                    </div>
-                </div>
-                <div class="row mb-2">
-                    <div class="col-12">
-                        <label class="text-sm text-secondary mb-1">Address Memo</label>
-                        <input type="text" placeholder="Address Memo" autocomplete="donotdoit" v-model="erxPopupItem.data.pharmacyAddressMemo" class="form-control form-control-sm">
-                    </div>
-                </div>
-                <div v-if="erxPopupMode === 'add'" class="d-flex align-items-center justify-content-start mt-3">
-                    <button type="button" class="btn btn-sm btn-primary mr-2" v-on:click.prevent="erxSavePopupItem()">Submit</button>
-                    <button type="button" class="btn btn-sm btn-default border" onclick="return closeStagPopup()">Cancel</button>
-                </div>
+
+            @include('app.patient.tickets.pharmacy', ['label' => 'Pharmacy', 'category' => 'erx'])
+
+
+            <div v-if="erxPopupMode === 'add'" class="d-flex align-items-center justify-content-start mt-3 p-3 border-bottom">
+                <button type="button" class="btn btn-sm btn-primary mr-2" v-on:click.prevent="erxSavePopupItem()">Submit</button>
+                <button type="button" class="btn btn-sm btn-default border" onclick="return closeStagPopup()">Cancel</button>
             </div>
 
             <!-- attachments -->

+ 12 - 0
resources/views/app/patient/tickets/imaging-data.blade.php

@@ -11,6 +11,12 @@ imagingModel: {
         tests: [''],
         icds: [''],
         memo: '',
+        pharmacyName: '',
+        pharmacyCity: '',
+        pharmacyState: '',
+        pharmacyAddressMemo: '',
+        pharmacyPhone: '',
+        pharmacyFax: '',
         comments: [{
             pro_id: '',
             message: '',
@@ -28,6 +34,12 @@ imagingPopupItem: {
         tests: [''],
         icds: [''],
         memo: '',
+        pharmacyName: '',
+        pharmacyCity: '',
+        pharmacyState: '',
+        pharmacyAddressMemo: '',
+        pharmacyPhone: '',
+        pharmacyFax: '',
         comments: [{
             pro_id: '',
             message: '',

+ 5 - 4
resources/views/app/patient/tickets/imaging.blade.php

@@ -120,12 +120,13 @@
                     <label class="text-sm text-secondary mb-1">Memo</label>
                     <input type="text" v-model="imagingPopupItem.data.memo" placeholder="Memo" class="form-control form-control-sm">
                 </div>
+            </div>
 
+            @include('app.patient.tickets.pharmacy', ['label' => 'Facility', 'category' => 'imaging'])
 
-                <div v-if="imagingPopupMode === 'add'" class="d-flex align-items-center justify-content-start mt-3">
-                    <button type="button" class="btn btn-sm btn-primary mr-2" v-on:click.prevent="saveimagingPopupItem()">Submit</button>
-                    <button type="button" class="btn btn-sm btn-default border" onclick="return closeStagPopup()">Cancel</button>
-                </div>
+            <div v-if="imagingPopupMode === 'add'" class="d-flex align-items-center justify-content-start mt-3 p-3 border-bottom">
+                <button type="button" class="btn btn-sm btn-primary mr-2" v-on:click.prevent="imagingSavePopupItem()">Submit</button>
+                <button type="button" class="btn btn-sm btn-default border" onclick="return closeStagPopup()">Cancel</button>
             </div>
 
             <!-- attachments -->

+ 12 - 0
resources/views/app/patient/tickets/lab-data.blade.php

@@ -11,6 +11,12 @@ labModel: {
         tests: [''],
         icds: [''],
         memo: '',
+        pharmacyName: '',
+        pharmacyCity: '',
+        pharmacyState: '',
+        pharmacyAddressMemo: '',
+        pharmacyPhone: '',
+        pharmacyFax: '',
         comments: [{
             pro_id: '',
             message: '',
@@ -28,6 +34,12 @@ labPopupItem: {
         tests: [''],
         icds: [''],
         memo: '',
+        pharmacyName: '',
+        pharmacyCity: '',
+        pharmacyState: '',
+        pharmacyAddressMemo: '',
+        pharmacyPhone: '',
+        pharmacyFax: '',
         comments: [{
             pro_id: '',
             message: '',

+ 5 - 4
resources/views/app/patient/tickets/lab.blade.php

@@ -124,12 +124,13 @@
                     <label class="text-sm text-secondary mb-1">Memo</label>
                     <input type="text" v-model="labPopupItem.data.memo" placeholder="Memo" class="form-control form-control-sm">
                 </div>
+            </div>
 
+            @include('app.patient.tickets.pharmacy', ['label' => 'Facility', 'category' => 'lab'])
 
-                <div v-if="labPopupMode === 'add'" class="d-flex align-items-center justify-content-start mt-3">
-                    <button type="button" class="btn btn-sm btn-primary mr-2" v-on:click.prevent="labSavePopupItem()">Submit</button>
-                    <button type="button" class="btn btn-sm btn-default border" onclick="return closeStagPopup()">Cancel</button>
-                </div>
+            <div v-if="labPopupMode === 'add'" class="d-flex align-items-center justify-content-start mt-3 p-3 border-bottom">
+                <button type="button" class="btn btn-sm btn-primary mr-2" v-on:click.prevent="labSavePopupItem()">Submit</button>
+                <button type="button" class="btn btn-sm btn-default border" onclick="return closeStagPopup()">Cancel</button>
             </div>
 
             <!-- attachments -->

+ 26 - 26
resources/views/app/patient/tickets/pharmacy-suggest.blade.php

@@ -1,4 +1,4 @@
-initPharmacySearch: function () {
+{{$category}}InitPharmacySearch: function () {
     let self = this;
     const debounce = (func, wait) => {
         let timeout;
@@ -13,30 +13,30 @@ initPharmacySearch: function () {
     };
     var lastTerm = '';
     var returnedFunction = debounce(function () {
-        var term = $('#pharmacy-search').val();
+        var term = $('#{{$category}}-pharmacy-search').val();
         if (!!term && lastTerm !== term) {
             $.get('/pharmacy-suggest?term=' + $.trim(term), function (_data) {
-                $('.suggestions-outer.pharmacy-suggestions').html(_data).removeClass('d-none');
+                $('.suggestions-outer.{{$category}}-pharmacy-suggestions').html(_data).removeClass('d-none');
             });
             lastTerm = term;
         } else {
-            $('.suggestions-outer.pharmacy-suggestions').addClass('d-none');
+            $('.suggestions-outer.{{$category}}-pharmacy-suggestions').addClass('d-none');
         }
     }, 250);
-    $('#pharmacy-search')
+    $('#{{$category}}-pharmacy-search')
         .on('keydown', function (e) {
-            var term = $.trim($('#pharmacy-search').val());
-            var activeItem = $('.suggestions-outer.pharmacy-suggestions .suggest-item.active');
+            var term = $.trim($('#{{$category}}-pharmacy-search').val());
+            var activeItem = $('.suggestions-outer.{{$category}}-pharmacy-suggestions .suggest-item.active');
             switch (e.which) {
                 case 27:
-                    $('.suggestions-outer.pharmacy-suggestions').addClass('d-none');
+                    $('.suggestions-outer.{{$category}}-pharmacy-suggestions').addClass('d-none');
                     return false;
                 case 38:
                     if (activeItem.prev().length) {
                         activeItem.prev()
                             .addClass('active')
                             .siblings().removeClass('active');
-                        activeItem = $('.suggestions-outer.pharmacy-suggestions .suggest-item.active');
+                        activeItem = $('.suggestions-outer.{{$category}}-pharmacy-suggestions .suggest-item.active');
                         if (activeItem.length) {
                             activeItem[0].scrollIntoView();
                         }
@@ -47,7 +47,7 @@ initPharmacySearch: function () {
                         activeItem.next()
                             .addClass('active')
                             .siblings().removeClass('active');
-                        activeItem = $('.suggestions-outer.pharmacy-suggestions .suggest-item.active');
+                        activeItem = $('.suggestions-outer.{{$category}}-pharmacy-suggestions .suggest-item.active');
                         if (activeItem.length) {
                             activeItem[0].scrollIntoView();
                         }
@@ -60,39 +60,39 @@ initPharmacySearch: function () {
                     return false;
                 default:
                     if (!!term) {
-                        $('.suggestions-outer.pharmacy-suggestions')
+                        $('.suggestions-outer.{{$category}}-pharmacy-suggestions')
                             .html('<span class="d-block no-suggest-items">Searching...</span>')
                             .removeClass('d-none');
                         returnedFunction();
                     } else {
-                        $('.suggestions-outer.pharmacy-suggestions').addClass('d-none');
+                        $('.suggestions-outer.{{$category}}-pharmacy-suggestions').addClass('d-none');
                     }
                     break;
             }
         })
         .on('keypress', function (e) {
-            var term = $.trim($('#pharmacy-search').val());
+            var term = $.trim($('#{{$category}}-pharmacy-search').val());
             if (!!term) {
-                $('.suggestions-outer.pharmacy-suggestions')
+                $('.suggestions-outer.{{$category}}-pharmacy-suggestions')
                     .html('<span class="d-block no-suggest-items">Searching...</span>')
                     .removeClass('d-none');
                 returnedFunction();
             } else {
-                $('.suggestions-outer.pharmacy-suggestions').addClass('d-none');
+                $('.suggestions-outer.{{$category}}-pharmacy-suggestions').addClass('d-none');
             }
         });
-    $(document).on('click', '.suggest-item.pharmacy-suggest[data-target-uid]', function () {
-        $('#pharmacy-search').val('');
-        $('.suggestions-outer.pharmacy-suggestions').addClass('d-none');
-        self.applySuggestion(this);
+    $(document).on('click', '.suggestions-outer.{{$category}}-pharmacy-suggestions .suggest-item.pharmacy-suggest[data-target-uid]', function () {
+        $('#{{$category}}-pharmacy-search').val('');
+        $('.suggestions-outer.{{$category}}-pharmacy-suggestions').addClass('d-none');
+        self.{{$category}}ApplySuggestion(this);
         return false;
     });
 },
-applySuggestion: function(_elem) {
-    this.erxPopupItem.data.pharmacyName = $(_elem).attr('data-pharmacyName');
-    this.erxPopupItem.data.pharmacyCity = $(_elem).attr('data-pharmacyCity');
-    this.erxPopupItem.data.pharmacyState = $(_elem).attr('data-pharmacyState');
-    this.erxPopupItem.data.pharmacyAddressMemo = $(_elem).attr('data-pharmacyAddressMemo');
-    this.erxPopupItem.data.pharmacyPhone = $(_elem).attr('data-pharmacyPhone');
-    this.erxPopupItem.data.pharmacyFax = $(_elem).attr('data-pharmacyFax');
+{{$category}}ApplySuggestion: function(_elem) {
+    this.{{$category}}PopupItem.data.pharmacyName = $(_elem).attr('data-pharmacyName');
+    this.{{$category}}PopupItem.data.pharmacyCity = $(_elem).attr('data-pharmacyCity');
+    this.{{$category}}PopupItem.data.pharmacyState = $(_elem).attr('data-pharmacyState');
+    this.{{$category}}PopupItem.data.pharmacyAddressMemo = $(_elem).attr('data-pharmacyAddressMemo');
+    this.{{$category}}PopupItem.data.pharmacyPhone = $(_elem).attr('data-pharmacyPhone');
+    this.{{$category}}PopupItem.data.pharmacyFax = $(_elem).attr('data-pharmacyFax');
 },

+ 38 - 0
resources/views/app/patient/tickets/pharmacy.blade.php

@@ -0,0 +1,38 @@
+<div class="p-3 border-bottom">
+    <div class="row mb-2">
+        <div class="col-12">
+            <label class="text-secondary mb-0 font-weight-normal font-size-16">Preferred {{$label}}</label>
+        </div>
+    </div>
+    <div class="row mb-2">
+        <div class="col-12">
+            <label class="text-sm text-secondary mb-1">Business Name</label>
+            <input type="text" autocomplete="donotdoit" placeholder="Business Name" id="{{$category}}-pharmacy-search" v-model="{{$category}}PopupItem.data.pharmacyName" class="form-control form-control-sm">
+            <div class="suggestions-outer pharmacy-suggestions {{$category}}-pharmacy-suggestions position-absolute d-none"></div>
+        </div>
+    </div>
+    <div class="row mb-2">
+        <div class="col-4">
+            <label class="text-sm text-secondary mb-1">City</label>
+            <input type="text" placeholder="City" v-model="{{$category}}PopupItem.data.pharmacyCity" class="form-control form-control-sm min-width-unset">
+        </div>
+        <div class="col-2 pl-0">
+            <label class="text-sm text-secondary mb-1">State</label>
+            <input type="text" placeholder="State" v-model="{{$category}}PopupItem.data.pharmacyState" class="form-control form-control-sm min-width-unset">
+        </div>
+        <div class="col-3 pl-0">
+            <label class="text-sm text-secondary mb-1">Phone</label>
+            <input type="text" placeholder="Phone" v-model="{{$category}}PopupItem.data.pharmacyPhone" class="form-control form-control-sm min-width-unset">
+        </div>
+        <div class="col-3 pl-0">
+            <label class="text-sm text-secondary mb-1">Fax</label>
+            <input type="text" placeholder="Fax" v-model="{{$category}}PopupItem.data.pharmacyFax" class="form-control form-control-sm min-width-unset">
+        </div>
+    </div>
+    <div class="row mb-2">
+        <div class="col-12">
+            <label class="text-sm text-secondary mb-1">Address Memo</label>
+            <input type="text" placeholder="Address Memo" autocomplete="donotdoit" v-model="{{$category}}PopupItem.data.pharmacyAddressMemo" class="form-control form-control-sm">
+        </div>
+    </div>
+</div>