mv treatment-report to action-report based on encounter menu id list

This commit is contained in:
Khafid Prayoga
2025-12-03 17:49:48 +07:00
parent 8fa1f61b19
commit da26790513
26 changed files with 45 additions and 52 deletions
@@ -3,18 +3,18 @@ import mockData from './sample'
// type
import { genDoctor, type Doctor } from '~/models/doctor'
import type { TreatmentReportFormData } from '~/schemas/treatment-report.schema'
import type { ActionReportFormData } from '~/schemas/action-report.schema'
// components
import { toast } from '~/components/pub/ui/toast'
import AppTreatmentReportEntry from '~/components/app/treatment-report/entry-form.vue'
import AppActionReportEntry from '~/components/app/action-report/entry-form.vue'
import ArrangementProcedurePicker from '~/components/app/therapy-protocol/picker-dialog/arrangement-procedure/procedure-picker.vue'
// states
const route = useRoute()
const { mode, goBack } = useQueryCRUDMode('mode')
const { recordId } = useQueryCRUDRecordId('record-id')
const reportData = ref<TreatmentReportFormData>({} as unknown as TreatmentReportFormData)
const reportData = ref<ActionReportFormData>({} as unknown as ActionReportFormData)
const doctors = ref<Doctor[]>([])
const isLoading = ref<boolean>(false)
@@ -40,14 +40,14 @@ onMounted(async () => {
async function loadEntryForEdit(id: number | string) {
isLoading.value = true
const result = mockData
reportData.value = result as TreatmentReportFormData
reportData.value = result as ActionReportFormData
isLoading.value = false
isDataReady.value = true
}
</script>
<template>
<AppTreatmentReportEntry
<AppActionReportEntry
v-if="isDataReady"
:isLoading="isLoading"
:mode="entryMode"
@@ -72,7 +72,7 @@ async function loadEntryForEdit(id: number | string) {
sub-title="Pilih Prosedur"
/>
</template>
</AppTreatmentReportEntry>
</AppActionReportEntry>
<div
v-else
class="flex items-center justify-center p-8"
@@ -1,20 +1,20 @@
<script setup lang="ts">
// Components
import Dialog from '~/components/pub/my-ui/modal/dialog.vue'
import AppTreatmentReportList from '~/components/app/treatment-report/list.vue'
import AppTreatmentReportListHistory from '~/components/app/treatment-report/list-history.vue'
import AppActionReportList from '~/components/app/action-report/list.vue'
import AppActionReportListHistory from '~/components/app/action-report/list-history.vue'
import RecordConfirmation from '~/components/pub/my-ui/confirmation/record-confirmation.vue'
import { ButtonAction } from '~/components/pub/my-ui/form'
// config
import { config } from '~/components/app/treatment-report/list.cfg'
import { config } from '~/components/app/action-report/list.cfg'
// types
import { ActionEvents } from '~/components/pub/my-ui/data/types'
import type { Encounter } from '~/models/encounter'
// Samples
import { sampleRows, type TreatmentReportData } from '~/components/app/treatment-report/sample'
import { sampleRows, type ActionReportData } from '~/components/app/action-report/sample'
import sampleReport from './sample'
// helpers
@@ -63,7 +63,7 @@ import {
// filter + pencarian sederhana (client-side)
const filtered = computed(() => {
const q = search.value.trim().toLowerCase()
return sampleRows.filter((r: TreatmentReportData) => {
return sampleRows.filter((r: ActionReportData) => {
if (q) {
return r.nama.toLowerCase().includes(q) || r.noRm.toLowerCase().includes(q) || r.dokter.toLowerCase().includes(q)
}
@@ -205,7 +205,7 @@ watch([recId, recAction], (newVal) => {
</div>
<div class="overflow-x-auto p-4">
<AppTreatmentReportList
<AppActionReportList
:data="filtered"
:pagination-meta="{
recordCount: 2,
@@ -230,7 +230,7 @@ watch([recId, recAction], (newVal) => {
}
"
>
<AppTreatmentReportListHistory
<AppActionReportListHistory
:data="filtered"
:pagination-meta="{
recordCount: 2,
@@ -2,11 +2,11 @@
import mockData from './sample'
// types
import { type TreatmentReportFormData } from '~/schemas/treatment-report.schema'
import { type ActionReportFormData } from '~/schemas/action-report.schema'
import { type Encounter } from '~/models/encounter'
// Components
import AppTreatmentReportPreview from '~/components/app/treatment-report/preview.vue'
import AppActionReportPreview from '~/components/app/action-report/preview.vue'
import type { HeaderPrep } from '~/components/pub/my-ui/data/types'
// #region Props & Emits
@@ -25,7 +25,7 @@ const props = defineProps<{
// #endregion
// #region State & Computed
const reportData = ref<TreatmentReportFormData | null>(null)
const reportData = ref<ActionReportFormData | null>(null)
const headerPrep: HeaderPrep = {
title: 'Detail Laporan Tindakan',
@@ -36,7 +36,7 @@ const headerPrep: HeaderPrep = {
// #region Lifecycle Hooks
onMounted(async () => {
reportData.value = mockData as unknown as TreatmentReportFormData
reportData.value = mockData as unknown as ActionReportFormData
})
// #endregion
@@ -46,7 +46,7 @@ onMounted(async () => {
// #region Utilities & event handlers
function onEdit() {
router.push({
name: 'treatment-report-id-edit',
name: 'action-report-id-edit',
params: { id: 100 },
})
}
@@ -58,7 +58,7 @@ function onBack() {}
</script>
<template>
<AppTreatmentReportPreview
<AppActionReportPreview
v-if="reportData"
:data="reportData"
@back="backToList"
+2 -2
View File
@@ -29,7 +29,7 @@ import CpLabOrder from '~/components/content/cp-lab-order/main.vue'
import Radiology from '~/components/content/radiology-order/main.vue'
import Consultation from '~/components/content/consultation/list.vue'
import Cprj from '~/components/content/cprj/entry.vue'
import TreatmentReport from '~/components/content/treatment-report/entry.vue'
import ActionReport from '~/components/content/action-report/entry.vue'
import DocUploadList from '~/components/content/document-upload/list.vue'
import GeneralConsentList from '~/components/content/general-consent/entry.vue'
import ResumeList from '~/components/content/resume/list.vue'
@@ -115,7 +115,7 @@ const protocolRows = [
value: 'report',
label: 'Laporan Tindakan',
groups: ['ambulatory', 'rehabilitation', 'chemotherapy'],
component: TreatmentReport,
component: ActionReport,
props: { encounter: data },
},
{