Prechádzať zdrojové kódy

Multi item support for labs and imaging

Vijayakrishnan 3 rokov pred
rodič
commit
306559ea62

+ 18 - 6
resources/views/app/patient/prescriptions/imaging-form.blade.php

@@ -6,14 +6,26 @@
                onclick="return closeStagPopup()"><i class="fa fa-times-circle"></i></a>
         </h3>
         <div class="mb-2">
-            <label class="text-sm text-secondary mb-1">Test</label>
-            <input type="text" class="form-control form-control-sm min-width-unset"
-                   v-model="currentPrescription_IMAGING.clinicalDetailJson.test">
+            <div class="d-flex align-items-baseline">
+                <label class="text-sm text-secondary mb-0">Tests</label>
+                <span class="mx-2 text-secondary text-sm"></span>
+                <a href="#" class="text-sm" v-on:click.prevent="currentPrescription_IMAGING.clinicalDetailJson.tests.push('')">+ Add</a>
+            </div>
+            <div v-for="(test, testIndex) in currentPrescription_IMAGING.clinicalDetailJson.tests">
+                <input type="text" class="form-control form-control-sm min-width-unset mb-1"
+                       v-model="currentPrescription_IMAGING.clinicalDetailJson.tests[testIndex]">
+            </div>
         </div>
         <div class="mb-2">
-            <label class="text-sm text-secondary mb-1">ICDS</label>
-            <input type="text" class="form-control form-control-sm min-width-unset"
-                   v-model="currentPrescription_IMAGING.clinicalDetailJson.icds">
+            <div class="d-flex align-items-baseline">
+                <label class="text-sm text-secondary mb-0">ICDs</label>
+                <span class="mx-2 text-secondary text-sm"></span>
+                <a href="#" class="text-sm" v-on:click.prevent="currentPrescription_IMAGING.clinicalDetailJson.icds.push('')">+ Add</a>
+            </div>
+            <div v-for="(icd, icdIndex) in currentPrescription_IMAGING.clinicalDetailJson.icds">
+                <input type="text" class="form-control form-control-sm min-width-unset mb-1"
+                       v-model="currentPrescription_IMAGING.clinicalDetailJson.icds[icdIndex]">
+            </div>
         </div>
         <div class="mb-2">
             <label class="text-sm text-secondary mb-1">Memo</label>

+ 18 - 6
resources/views/app/patient/prescriptions/lab-form.blade.php

@@ -6,14 +6,26 @@
                onclick="return closeStagPopup()"><i class="fa fa-times-circle"></i></a>
         </h3>
         <div class="mb-2">
-            <label class="text-sm text-secondary mb-1">Test</label>
-            <input type="text" class="form-control form-control-sm min-width-unset"
-                   v-model="currentPrescription_LAB.clinicalDetailJson.test">
+            <div class="d-flex align-items-baseline">
+                <label class="text-sm text-secondary mb-0">Tests</label>
+                <span class="mx-2 text-secondary text-sm"></span>
+                <a href="#" class="text-sm" v-on:click.prevent="currentPrescription_LAB.clinicalDetailJson.tests.push('')">+ Add</a>
+            </div>
+            <div v-for="(test, testIndex) in currentPrescription_LAB.clinicalDetailJson.tests">
+                <input type="text" class="form-control form-control-sm min-width-unset mb-1"
+                       v-model="currentPrescription_LAB.clinicalDetailJson.tests[testIndex]">
+            </div>
         </div>
         <div class="mb-2">
-            <label class="text-sm text-secondary mb-1">ICDS</label>
-            <input type="text" class="form-control form-control-sm min-width-unset"
-                   v-model="currentPrescription_LAB.clinicalDetailJson.icds">
+            <div class="d-flex align-items-baseline">
+                <label class="text-sm text-secondary mb-0">ICDs</label>
+                <span class="mx-2 text-secondary text-sm"></span>
+                <a href="#" class="text-sm" v-on:click.prevent="currentPrescription_LAB.clinicalDetailJson.icds.push('')">+ Add</a>
+            </div>
+            <div v-for="(icd, icdIndex) in currentPrescription_LAB.clinicalDetailJson.icds">
+                <input type="text" class="form-control form-control-sm min-width-unset mb-1"
+                       v-model="currentPrescription_LAB.clinicalDetailJson.icds[icdIndex]">
+            </div>
         </div>
         <div class="mb-2">
             <label class="text-sm text-secondary mb-1">Memo</label>

+ 12 - 5
resources/views/app/patient/prescriptions/list.blade.php

@@ -65,8 +65,9 @@
                                 </div>
                             </div>
                             <div class="d-flex align-items-baseline" v-if="prescription.erx_category === 'LAB' || prescription.erx_category === 'IMAGING'">
-                                <b class="mr-2">@{{prescription.clinical_detail_json.test ?? '-'}}</b>
-                                <span class="text-secondary mr-1">@{{prescription.clinical_detail_json.icds ?? '-'}}</span>
+                                <div class="d-flex align-items-baseline mb-1" v-for="test in prescription.clinical_detail_json.tests">
+                                    <b class="mr-2">@{{test ?? '-'}}</b>
+                                </div>
                             </div>
                             <div class="d-flex align-items-baseline" v-if="prescription.erx_category === 'REFERRAL'">
                                 <b class="mr-2">@{{prescription.clinical_detail_json.to ?? '-'}}</b>
@@ -148,8 +149,9 @@
                             </div>
                         </div>
                         <div class="d-flex align-items-baseline" v-if="currentPrescription.erx_category === 'LAB' || currentPrescription.erx_category === 'IMAGING'">
-                            <b class="mr-2">@{{currentPrescription.clinical_detail_json.test ?? '-'}}</b>
-                            <span class="text-secondary mr-1">@{{currentPrescription.clinical_detail_json.icds ?? '-'}}</span>
+                            <div class="d-flex align-items-baseline mb-1" v-for="test in currentPrescription.clinical_detail_json.tests">
+                                <b class="mr-2">@{{test ?? '-'}}</b>
+                            </div>
                         </div>
                         <div class="d-flex align-items-baseline" v-if="currentPrescription.erx_category === 'REFERRAL'">
                             <b class="mr-2">@{{currentPrescription.clinical_detail_json.to ?? '-'}}</b>
@@ -662,7 +664,12 @@
                         this.currentPrescriptionType = _prescription.erx_category;
                         this['currentPrescription_' + this.currentPrescriptionType] = {
                             uid: _prescription.uid,
-                            clinicalDetailJson: JSON.parse(JSON.stringify(_prescription.clinical_detail_json))
+                            clinicalDetailJson: _prescription.clinical_detail_json ?
+                                JSON.parse(JSON.stringify(_prescription.clinical_detail_json)) :
+                                {
+                                    tests: [''],
+                                    icds: ['']
+                                }
                         };
                         Vue.nextTick(() => {
                             showStagPopup('prescription-popup-' + this.currentPrescriptionType, true);