Quellcode durchsuchen

Vitals - default to today if date is empty

Vijayakrishnan vor 4 Jahren
Ursprung
Commit
45c4cd2085
1 geänderte Dateien mit 17 neuen und 8 gelöschten Zeilen
  1. 17 8
      resources/views/app/patient/canvas-sections/vitals/form.blade.php

+ 17 - 8
resources/views/app/patient/canvas-sections/vitals/form.blade.php

@@ -83,15 +83,16 @@ $formID = rand(0, 100000);
                        data-field="title" v-model="item.label" readonly>
             </td>
             <td>
-                <input type="text" :data-index="index" v-if="index === 'bmi'" :readonly="index === 'bmi'"
-                       class="form-control form-control-sm vitals-title"
-                       data-field="value" v-model="bmi">
                 <input type="text" :data-index="index" v-if="index !== 'bmi'"
+                       class="form-control form-control-sm"
+                       data-field="value" v-model="item.value"
+                       v-on:change="autoDate(item, index)" v-on:keyup="autoDate(item, index)">
+                <input type="text" :data-index="index" v-if="index === 'bmi'" readonly
                        class="form-control form-control-sm vitals-title"
-                       data-field="value" v-model="item.value">
+                       data-field="value" v-model="bmi">
             </td>
             <td>
-                <input type="date" :data-index="index" v-if="index !== 'bmi'"
+                <input type="date" :data-index="index" :readonly="index === 'bmi'"
                        class="form-control form-control-sm vitals-title"
                        data-field="date" v-model="item.date">
             </td>
@@ -106,7 +107,9 @@ $formID = rand(0, 100000);
             window.clientVitalsApp = new Vue({
                 el: '#vitalsSection',
                 data: {
-                    items: <?= json_encode($contentData) ?>
+                    today: '{{ date("Y-m-d") }}',
+                    items: <?= json_encode($contentData) ?>,
+                    itemsOriginal: <?= json_encode($contentData) ?>
                 },
                 mounted: function() {
                     $(this.$el).closest('#vitalsSection').find('[name="data"]').val(
@@ -114,7 +117,7 @@ $formID = rand(0, 100000);
                     );
                 },
                 watch: {
-                    $data: {
+                    items: {
                         handler: function(val, oldVal) {
                             $(this.$el).closest('#vitalsSection').find('[name="data"]').val(
                                 JSON.stringify(this.cleanObject(this.items))
@@ -146,6 +149,12 @@ $formID = rand(0, 100000);
                     }
                 },
                 methods: {
+                    autoDate: function(_item, _index) {
+                        console.log('ALIX autoDate for', _index)
+                        if((_item.value !== this.itemsOriginal[_index].value) && !_item.date) {
+                            _item.date = this.today;
+                        }
+                    },
                     cleanObject: function(_source) {
                         let plObject = {};
                         for (let y in _source) {
@@ -156,7 +165,7 @@ $formID = rand(0, 100000);
                         plObject.bmi = {
                             label: "BMI (kg/m²)",
                             value: this.bmi,
-                            date: "",
+                            date: this.bmi ? this.today : '',
                         };
                         return plObject;
                     }