feature: add handoff report

This commit is contained in:
voltsrage
2026-06-23 20:32:33 +08:00
parent 79b6d9d85e
commit c6b98b5f7c
14 changed files with 906 additions and 7 deletions
@@ -212,7 +212,11 @@ onBeforeUnmount(() => {
<ScoresPanel />
<GcsHistory v-if="replayGcsHistory.length" :history="replayGcsHistory" />
</div>
<VitalsPanel :observations="replayObservations" />
<VitalsPanel
:encounter-id="route.params.encounterId"
:observations="replayObservations"
@recorded="loadAll"
/>
<AlertsList
:encounter-id="route.params.encounterId"
:selected-id="selectedAlert?.id"
@@ -1,12 +1,15 @@
<script setup>
import { ref } from 'vue'
import { storeToRefs } from 'pinia'
import { useRoute } from 'vue-router'
import { useWardStore } from '@/stores/ward'
import { useSettingsStore } from '@/stores/settings'
import { useAuthStore } from '@/stores/auth'
import { usePolling } from '@/composables/usePolling'
import { WARD_SORT_FIELDS } from '@/composables/wardSort'
import WardToolbar from '@/components/ward/WardToolbar.vue'
import WardTable from '@/components/ward/WardTable.vue'
import HandoffReport from '@/components/ward/HandoffReport.vue'
import Skeleton from '@/components/ui/Skeleton.vue'
import EmptyState from '@/components/ui/EmptyState.vue'
import Badge from '@/components/ui/Badge.vue'
@@ -14,6 +17,8 @@ import Badge from '@/components/ui/Badge.vue'
const route = useRoute()
const wardStore = useWardStore()
const settingsStore = useSettingsStore()
const authStore = useAuthStore()
const showHandoff = ref(false)
const {
encounters,
displayEncounters,
@@ -70,7 +75,7 @@ function onMobileSortChange(event) {
</select>
</label>
<WardToolbar />
<WardToolbar @export-handoff="showHandoff = true" />
<label class="mb-4 block md:hidden">
<span class="mb-2 block text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400">
@@ -103,5 +108,13 @@ function onMobileSortChange(event) {
:sort-direction="wardSortDirection"
@sort="wardStore.setSort"
/>
<HandoffReport
v-if="showHandoff"
:encounters="encounters"
:department="department"
:generated-by="authStore.displayName"
@close="showHandoff = false"
/>
</div>
</template>