Ver Fonte

Merge branch 'dev-josh' into dev-vj-agora-v2

Vijayakrishnan há 4 anos atrás
pai
commit
07b018e4df

+ 12 - 2
resources/views/app/patient/partials/equipment.blade.php

@@ -20,10 +20,12 @@
                 <td class="px-2" v-html="item.items && Array.isArray(item.items) ? item.items.join('<br>') : item.items"></td>
                 <td class="px-2">@{{item.purpose}}</td>
                 <td class="px-2">@{{item.memo}}</td>
-                <td class="px-2 text-nowrap">
+                <td class="px-2">
                     <a class="mr-2 c-pointer" v-on:click.prevent="showPopup('equipment-popup', item)">Edit</a>
                     <a class="mr-2 c-pointer" v-if="item.is_open" v-on:click.prevent="closeItem(item)">Close</a>
                     <a class="mr-2 c-pointer" v-if="!item.is_open" v-on:click.prevent="openItem(item)">Open</a>
+
+                    @include('app.patient.partials.ticket_action_links')
                 </td>
             </tr>
         </tbody>
@@ -69,6 +71,7 @@
             </div>
         </form>
     </div>
+    @include('app.patient.partials.ticket_update_pro_form',['ticketType'=>'equipment'])
 </div>
 <script>
     (function() {
@@ -81,6 +84,11 @@
             $item = json_decode($ticket->data);
             $item->uid = $ticket->uid;
             $item->is_open = $ticket->is_open;
+            $item->has_assigned_pro_signed = $ticket->has_assigned_pro_signed;
+            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
+            $item->has_manager_pro_signed = $ticket->has_manager_pro_signed;
+            $item->has_ordering_pro_signed = $ticket->has_ordering_pro_signed;
+            $item->is_entry_error = $ticket->is_entry_error;
             $items[] = $item;
         }
         ?>
@@ -99,6 +107,7 @@
                         purpose: '',
                         memo: '',
                     },
+                    @include('app.patient.partials.ticket_vue_data')
                 },
                 methods: {
                     showPopup: function(_name, _item) {
@@ -162,7 +171,8 @@
                         }, function(_data) {
                             fastReload();
                         });
-                    }
+                    },
+                    @include('app.patient.partials.ticket_vue_methods',['ticketType'=>'equipment'])
                 },
                 mounted: function () {
 

+ 13 - 3
resources/views/app/patient/partials/erx.blade.php

@@ -32,10 +32,12 @@
                 <td class="px-2">@{{item.refills}}</td>
                 <td class="px-2">@{{item.purpose}}</td>
                 <td class="px-2">@{{item.pharmacy}}</td>
-                <td class="px-2 text-nowrap">
+                <td class="px-2">
                     <a class="mr-2 c-pointer" v-on:click.prevent="showPopup('erx-popup', item)">Edit</a>
                     <a class="mr-2 c-pointer" v-if="item.is_open" v-on:click.prevent="closeItem(item)">Close</a>
                     <a class="mr-2 c-pointer" v-if="!item.is_open" v-on:click.prevent="openItem(item)">Open</a>
+                    
+                    @include('app.patient.partials.ticket_action_links')
                 </td>
             </tr>
         </tbody>
@@ -155,6 +157,7 @@
             </div>
         </form>
     </div>
+    @include('app.patient.partials.ticket_update_pro_form',['ticketType'=>'erx'])
 </div>
 <script>
     (function() {
@@ -167,6 +170,11 @@
             $item = json_decode($ticket->data);
             $item->uid = $ticket->uid;
             $item->is_open = $ticket->is_open;
+            $item->has_assigned_pro_signed = $ticket->has_assigned_pro_signed;
+            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
+            $item->has_manager_pro_signed = $ticket->has_manager_pro_signed;
+            $item->has_ordering_pro_signed = $ticket->has_ordering_pro_signed;
+            $item->is_entry_error = $ticket->is_entry_error;
             $items[] = $item;
         }
         ?>
@@ -195,7 +203,8 @@
                         pharmacyAddressMemo: '',
                         pharmacyPhone: '',
                         pharmacyFax: '',
-                    }
+                    },
+                    @include('app.patient.partials.ticket_vue_data')
                 },
                 methods: {
                     showPopup: function(_name, _item) {
@@ -320,7 +329,8 @@
                         catch (e) {
                             return '';
                         }
-                    }
+                    },
+                    @include('app.patient.partials.ticket_vue_methods',['ticketType'=>'erx'])
                 },
                 mounted: function () {
                     this.initRxAutoSuggest();

+ 11 - 1
resources/views/app/patient/partials/imaging.blade.php

@@ -20,10 +20,12 @@
             <td class="px-2" v-html="item.tests && Array.isArray(item.tests) ? item.tests.join('<br>') : item.tests"></td>
             <td class="px-2" v-html="item.icds && Array.isArray(item.icds) ? item.icds.join('<br>') : item.icds"></td>
             <td class="px-2">@{{item.memo}}</td>
-            <td class="px-2 text-nowrap">
+            <td class="px-2">
                 <a class="mr-2 c-pointer" v-on:click.prevent="showPopup('imaging-popup', item)">Edit</a>
                 <a class="mr-2 c-pointer" v-if="item.is_open" v-on:click.prevent="closeItem(item)">Close</a>
                 <a class="mr-2 c-pointer" v-if="!item.is_open" v-on:click.prevent="openItem(item)">Open</a>
+
+                @include('app.patient.partials.ticket_action_links')        
             </td>
         </tr>
         </tbody>
@@ -85,6 +87,7 @@
             </div>
         </form>
     </div>
+    @include('app.patient.partials.ticket_update_pro_form',['ticketType'=>'imaging'])
 </div>
 <script>
     (function() {
@@ -97,6 +100,11 @@
             $item = json_decode($ticket->data);
             $item->uid = $ticket->uid;
             $item->is_open = $ticket->is_open;
+            $item->has_assigned_pro_signed = $ticket->has_assigned_pro_signed;
+            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
+            $item->has_manager_pro_signed = $ticket->has_manager_pro_signed;
+            $item->has_ordering_pro_signed = $ticket->has_ordering_pro_signed;
+            $item->is_entry_error = $ticket->is_entry_error;
             $items[] = $item;
         }
         ?>
@@ -115,6 +123,7 @@
                         icds: [''],
                         memo: '',
                     },
+                    @include('app.patient.partials.ticket_vue_data')
                 },
                 methods: {
                     showPopup: function(_name, _item) {
@@ -205,6 +214,7 @@
                             $(elem).attr('ac-initialized', 1);
                         });
                     },
+                    @include('app.patient.partials.ticket_vue_methods',['ticketType'=>'imaging'])
                 },
                 mounted: function () {
                     this.initICDAutoSuggest();

+ 12 - 1
resources/views/app/patient/partials/lab.blade.php

@@ -20,10 +20,13 @@
                 <td class="px-2" v-html="item.tests && Array.isArray(item.tests) ? item.tests.join('<br>') : item.tests"></td>
                 <td class="px-2" v-html="item.icds && Array.isArray(item.icds) ? item.icds.join('<br>') : item.icds"></td>
                 <td class="px-2">@{{item.memo}}</td>
-                <td class="px-2 text-nowrap">
+                <td class="px-2">
                     <a class="mr-2 c-pointer" v-on:click.prevent="showPopup('lab-popup', item)">Edit</a>
                     <a class="mr-2 c-pointer" v-if="item.is_open" v-on:click.prevent="closeItem(item)">Close</a>
                     <a class="mr-2 c-pointer" v-if="!item.is_open" v-on:click.prevent="openItem(item)">Open</a>
+
+                    @include('app.patient.partials.ticket_action_links')
+
                 </td>
             </tr>
         </tbody>
@@ -88,6 +91,7 @@
             </div>
         </form>
     </div>
+    @include('app.patient.partials.ticket_update_pro_form',['ticketType'=>'lab'])
 </div>
 <script>
     (function() {
@@ -100,6 +104,11 @@
             $item = json_decode($ticket->data);
             $item->uid = $ticket->uid;
             $item->is_open = $ticket->is_open;
+            $item->has_assigned_pro_signed = $ticket->has_assigned_pro_signed;
+            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
+            $item->has_manager_pro_signed = $ticket->has_manager_pro_signed;
+            $item->has_ordering_pro_signed = $ticket->has_ordering_pro_signed;
+            $item->is_entry_error = $ticket->is_entry_error;
             $items[] = $item;
         }
         ?>
@@ -118,6 +127,7 @@
                         icds: [''],
                         memo: '',
                     },
+                    @include('app.patient.partials.ticket_vue_data')
                 },
                 methods: {
                     showPopup: function(_name, _item) {
@@ -208,6 +218,7 @@
                             $(elem).attr('ac-initialized', 1);
                         });
                     },
+                    @include('app.patient.partials.ticket_vue_methods',['ticketType'=>'lab'])
                 },
                 mounted: function () {
                     this.initICDAutoSuggest();

+ 6 - 161
resources/views/app/patient/partials/other.blade.php

@@ -24,19 +24,9 @@
                     <a class="mr-2 c-pointer" v-on:click.prevent="showPopup('other-popup', item)">Edit</a>
                     <a class="mr-2 c-pointer" v-if="item.is_open" v-on:click.prevent="closeItem(item)">Close</a>
                     <a class="mr-2 c-pointer" v-if="!item.is_open" v-on:click.prevent="openItem(item)">Open</a>
-                    <a class="mr-2 c-pointer" v-if="!item.is_entry_error" v-on:click.prevent="setIsEntryErrorToTrue(item)">@{{item.is_entry_error}}-setIsEntryErrorToTrue</a>
-                    <a class="mr-2 c-pointer" v-if="item.is_entry_error" v-on:click.prevent="setIsEntryErrorToFalse(item)">setIsEntryErrorToFalse</a>
-                    <a class="mr-2 c-pointer" v-if="!item.has_assigned_pro_signed" v-on:click.prevent="signAsAssignedPro(item)">signAsAssignedPro</a>
-                    <a class="mr-2 c-pointer" v-if="item.has_assigned_pro_signed" v-on:click.prevent="undoSignAsAssignedPro(item)">undoSignAsAssignedPro</a>
-                    <a class="mr-2 c-pointer" v-if="!item.has_manager_pro_signed" v-on:click.prevent="signAsManagerPro(item)">signAsManagerPro</a>
-                    <a class="mr-2 c-pointer" v-if="item.has_manager_pro_signed" v-on:click.prevent="undoSignAsManagerPro(item)">undoSignAsManagerPro</a>
-                    <a class="mr-2 c-pointer" v-if="!item.has_ordering_pro_signed" v-on:click.prevent="signAsOrderingPro(item)">signAsOrderingPro</a>
-                    <a class="mr-2 c-pointer" v-if="item.has_ordering_pro_signed" v-on:click.prevent="undoSignAsOrderingPro(item)">undoSignAsOrderingPro</a>
-                    <a class="mr-2 c-pointer" v-if="!item.has_initiating_pro_signed" v-on:click.prevent="signAsInitiatingPro(item)">signAsInitiatingPro</a>
-                    <a class="mr-2 c-pointer" v-if="item.has_initiating_pro_signed" v-on:click.prevent="undoSignAsInitiatingPro(item)">undoSignAsInitiatingPro</a>
-                    <template v-for="proType in proTypes">
-                    <a class="mr-2 c-pointer" v-on:click.prevent="showProUpdatePopup('other-popup', proType, item)">Update @{{proType}} Pro</a>
-                    </template>
+                    
+                    @include('app.patient.partials.ticket_action_links')
+
                 </td>
             </tr>
         </tbody>
@@ -66,28 +56,7 @@
             </div>
         </form>
     </div>
-    <div class="stag-popup stag-popup-sm mcp-theme-1" stag-popup-key="other-pro-update-popup">
-        <form method="POST" class="overflow-visible">
-            <h3 class="stag-popup-title mb-2">
-                <span>Update @{{ proToUpdate}} Pro</span>
-                <a href="#" class="ml-auto text-secondary"
-                   onclick="return closeStagPopup()"><i class="fa fa-times-circle"></i></a>
-            </h3>
-            <div class="form-group mb-2">
-                <label class="text-sm text-secondary mb-1">@{{proToUpdate}} Pro</label>
-                <select v-model="newProUid" class="form-control">
-                    <option value="">-- select ---</option>
-                    @foreach($pros as $pro)
-                    <option value="{{$pro->uid}}">{{$pro->name_first}} {{$pro->name_last}}</option>
-                    @endforeach
-                </select>
-            </div>
-            <div class="d-flex align-items-center justify-content-center mt-3">
-                <button type="button" class="btn btn-sm btn-primary mr-2" v-on:click.prevent="updateTicketPro()">Submit</button>
-                <button type="button" class="btn btn-sm btn-default border" onclick="return closeStagPopup()">Cancel</button>
-            </div>
-        </form>
-    </div>
+    @include('app.patient.partials.ticket_update_pro_form',['ticketType'=>'other'])
 </div>
 
 <script>
@@ -125,9 +94,7 @@
                         title: '',
                         description: ''
                     },
-                    proToUpdate: '',
-                    proTypes: ['Assigned', 'Manager', 'Initiating', 'Ordering'],
-                    newProUid:''
+                    @include('app.patient.partials.ticket_vue_data')
                 },
                 methods: {
                     showPopup: function(_name, _item) {
@@ -180,40 +147,6 @@
                         return false;
                     },
 
-                    showProUpdatePopup: function(_name, _proToUpdate, _item) {
-                        closeStagPopup();
-                        this.proToUpdate = _proToUpdate
-                        this.popupItem =JSON.parse(JSON.stringify(_item))
-                        let self = this;
-                        Vue.nextTick(function() {
-                            showStagPopup('other-pro-update-popup', true);
-                        });
-                    },
-
-                    updateTicketPro: function() {
-                        let self  = this;
-                        let form = $('#otherApp form').first();
-                        if(!form[0].checkValidity()) {
-                            form[0].reportValidity();
-                            return false;
-                        }
-
-                        showMask();
-                        let payload = this.popupItem;
-                        payload.newProUid = self.newProUid;
-                       
-                        $.post(
-                            '/api/ticket/update' + self.proToUpdate +'Pro',
-                            payload,
-                            function(_data) {
-                                console.log(_data);
-                                fastReload();
-                            },
-                            'json');
-
-                        return false;
-                    },
-
                     closeItem: function(_item) {
                         showMask();
                         $.post('/api/ticket/close', {
@@ -232,95 +165,7 @@
                         });
                     },
 
-                    setIsEntryErrorToTrue: function(_item){
-                        showMask();
-                        $.post('/api/ticket/setIsEntryErrorToTrue', {
-                            uid:_item.uid
-                        }, function(_data){
-                           fastReload();     
-                        });
-                    },
-
-                    setIsEntryErrorToFalse: function(_item){
-                        showMask();
-                        $.post('/api/ticket/setIsEntryErrorToFalse', {
-                            uid:_item.uid
-                        }, function(_data){
-                           fastReload();     
-                        })
-                    },
-
-                    signAsAssignedPro: function(_item){
-                        showMask();
-                        $.post('/api/ticket/signAsAssignedPro', {
-                            uid:_item.uid
-                        }, function(_data){
-                           fastReload();     
-                        })
-                    },
-
-                    undoSignAsAssignedPro: function(_item){
-                        showMask();
-                        $.post('/api/ticket/undoSignAsAssignedPro', {
-                            uid:_item.uid
-                        }, function(_data){
-                           fastReload();     
-                        })
-                    },
-
-                    signAsManagerPro: function(_item){
-                        showMask();
-                        $.post('/api/ticket/signAsManagerPro', {
-                            uid:_item.uid
-                        }, function(_data){
-                           fastReload();     
-                        })
-                    },
-
-                    undoSignAsManagerPro: function(_item){
-                        showMask();
-                        $.post('/api/ticket/undoSignAsManagerPro', {
-                            uid:_item.uid
-                        }, function(_data){
-                           fastReload();     
-                        })
-                    },
-
-                    signAsOrderingPro: function(_item){
-                        showMask();
-                        $.post('/api/ticket/signAsOrderingPro', {
-                            uid:_item.uid
-                        }, function(_data){
-                           fastReload();     
-                        })
-                    },
-
-                    undoSignAsOrderingPro: function(_item){
-                        showMask();
-                        $.post('/api/ticket/undoSignAsOrderingPro', {
-                            uid:_item.uid
-                        }, function(_data){
-                           fastReload();     
-                        })
-                    },
-
-                    signAsInitiatingPro: function(_item){
-                        showMask();
-                        $.post('/api/ticket/signAsInitiatingPro', {
-                            uid:_item.uid
-                        }, function(_data){
-                           fastReload();     
-                        })
-                    },
-
-                    undoSignAsInitiatingPro: function(_item){
-                        showMask();
-                        $.post('/api/ticket/undoSignAsInitiatingPro', {
-                            uid:_item.uid
-                        }, function(_data){
-                           fastReload();     
-                        })
-                    }
+                    @include('app.patient.partials.ticket_vue_methods',['ticketType'=>'other'])
                 },
                 mounted: function () {
                 }

+ 13 - 0
resources/views/app/patient/partials/ticket_action_links.blade.php

@@ -0,0 +1,13 @@
+<a class="mr-2 c-pointer" v-if="!item.is_entry_error" v-on:click.prevent="setIsEntryErrorToTrue(item)">setIsEntryErrorToTrue</a>
+<a class="mr-2 c-pointer" v-if="item.is_entry_error" v-on:click.prevent="setIsEntryErrorToFalse(item)">setIsEntryErrorToFalse</a>
+<a class="mr-2 c-pointer" v-if="!item.has_assigned_pro_signed" v-on:click.prevent="signAsAssignedPro(item)">signAsAssignedPro</a>
+<a class="mr-2 c-pointer" v-if="item.has_assigned_pro_signed" v-on:click.prevent="undoSignAsAssignedPro(item)">undoSignAsAssignedPro</a>
+<a class="mr-2 c-pointer" v-if="!item.has_manager_pro_signed" v-on:click.prevent="signAsManagerPro(item)">signAsManagerPro</a>
+<a class="mr-2 c-pointer" v-if="item.has_manager_pro_signed" v-on:click.prevent="undoSignAsManagerPro(item)">undoSignAsManagerPro</a>
+<a class="mr-2 c-pointer" v-if="!item.has_ordering_pro_signed" v-on:click.prevent="signAsOrderingPro(item)">signAsOrderingPro</a>
+<a class="mr-2 c-pointer" v-if="item.has_ordering_pro_signed" v-on:click.prevent="undoSignAsOrderingPro(item)">undoSignAsOrderingPro</a>
+<a class="mr-2 c-pointer" v-if="!item.has_initiating_pro_signed" v-on:click.prevent="signAsInitiatingPro(item)">signAsInitiatingPro</a>
+<a class="mr-2 c-pointer" v-if="item.has_initiating_pro_signed" v-on:click.prevent="undoSignAsInitiatingPro(item)">undoSignAsInitiatingPro</a>
+<template v-for="proType in proTypes">
+    <a class="mr-2 c-pointer" v-on:click.prevent="showProUpdatePopup('other-popup', proType, item)">Update @{{proType}} Pro</a>
+</template>

+ 22 - 0
resources/views/app/patient/partials/ticket_update_pro_form.blade.php

@@ -0,0 +1,22 @@
+<div class="stag-popup stag-popup-sm mcp-theme-1" stag-popup-key="{{$ticketType}}-pro-update-popup">
+    <form method="POST" class="overflow-visible">
+        <h3 class="stag-popup-title mb-2">
+            <span>Update @{{ proToUpdate}} Pro</span>
+            <a href="#" class="ml-auto text-secondary"
+                onclick="return closeStagPopup()"><i class="fa fa-times-circle"></i></a>
+        </h3>
+        <div class="form-group mb-2">
+            <label class="text-sm text-secondary mb-1">@{{proToUpdate}} Pro</label>
+            <select v-model="newProUid" class="form-control">
+                <option value="">-- select ---</option>
+                @foreach($pros as $pro)
+                <option value="{{$pro->uid}}">{{$pro->name_first}} {{$pro->name_last}}</option>
+                @endforeach
+            </select>
+        </div>
+        <div class="d-flex align-items-center justify-content-center mt-3">
+            <button type="button" class="btn btn-sm btn-primary mr-2" v-on:click.prevent="updateTicketPro()">Submit</button>
+            <button type="button" class="btn btn-sm btn-default border" onclick="return closeStagPopup()">Cancel</button>
+        </div>
+    </form>
+</div>

+ 3 - 0
resources/views/app/patient/partials/ticket_vue_data.blade.php

@@ -0,0 +1,3 @@
+proToUpdate: '',
+proTypes: ['Assigned', 'Manager', 'Initiating', 'Ordering'],
+newProUid:''

+ 125 - 0
resources/views/app/patient/partials/ticket_vue_methods.blade.php

@@ -0,0 +1,125 @@
+showProUpdatePopup: function(_name, _proToUpdate, _item) {
+    closeStagPopup();
+    this.proToUpdate = _proToUpdate
+    this.popupItem =JSON.parse(JSON.stringify(_item))
+    let self = this;
+    Vue.nextTick(function() {
+        showStagPopup('{{$ticketType}}-pro-update-popup', true);
+    });
+},
+
+updateTicketPro: function() {
+    let self  = this;
+    let form = $('#{{$ticketType}}App form').first();
+    if(!form[0].checkValidity()) {
+        form[0].reportValidity();
+        return false;
+    }
+
+    showMask();
+    let payload = this.popupItem;
+    payload.newProUid = self.newProUid;
+    
+    $.post(
+        '/api/ticket/update' + self.proToUpdate +'Pro',
+        payload,
+        function(_data) {
+            console.log(_data);
+            fastReload();
+        },
+        'json');
+
+    return false;
+},
+
+
+
+setIsEntryErrorToTrue: function(_item){
+    showMask();
+    $.post('/api/ticket/setIsEntryErrorToTrue', {
+        uid:_item.uid
+    }, function(_data){
+        fastReload();     
+    });
+},
+
+setIsEntryErrorToFalse: function(_item){
+    showMask();
+    $.post('/api/ticket/setIsEntryErrorToFalse', {
+        uid:_item.uid
+    }, function(_data){
+        fastReload();     
+    })
+},
+
+signAsAssignedPro: function(_item){
+    showMask();
+    $.post('/api/ticket/signAsAssignedPro', {
+        uid:_item.uid
+    }, function(_data){
+        fastReload();     
+    })
+},
+
+undoSignAsAssignedPro: function(_item){
+    showMask();
+    $.post('/api/ticket/undoSignAsAssignedPro', {
+        uid:_item.uid
+    }, function(_data){
+        fastReload();     
+    })
+},
+
+signAsManagerPro: function(_item){
+    showMask();
+    $.post('/api/ticket/signAsManagerPro', {
+        uid:_item.uid
+    }, function(_data){
+        fastReload();     
+    })
+},
+
+undoSignAsManagerPro: function(_item){
+    showMask();
+    $.post('/api/ticket/undoSignAsManagerPro', {
+        uid:_item.uid
+    }, function(_data){
+        fastReload();     
+    })
+},
+
+signAsOrderingPro: function(_item){
+    showMask();
+    $.post('/api/ticket/signAsOrderingPro', {
+        uid:_item.uid
+    }, function(_data){
+        fastReload();     
+    })
+},
+
+undoSignAsOrderingPro: function(_item){
+    showMask();
+    $.post('/api/ticket/undoSignAsOrderingPro', {
+        uid:_item.uid
+    }, function(_data){
+        fastReload();     
+    })
+},
+
+signAsInitiatingPro: function(_item){
+    showMask();
+    $.post('/api/ticket/signAsInitiatingPro', {
+        uid:_item.uid
+    }, function(_data){
+        fastReload();     
+    })
+},
+
+undoSignAsInitiatingPro: function(_item){
+    showMask();
+    $.post('/api/ticket/undoSignAsInitiatingPro', {
+        uid:_item.uid
+    }, function(_data){
+        fastReload();     
+    })
+}