Merge pull request #225 from dikstub-rssa/feat/assessment-adjustment-223

Feat/assessment adjustment 223
This commit is contained in:
Munawwirul Jamal
2025-12-10 07:20:05 +07:00
committed by GitHub
7 changed files with 55 additions and 27 deletions

No files matched your search

+6
View File
@@ -80,6 +80,7 @@ const isExcluded = (key: string) => props.excludeFields?.includes(key)
<RadioGroupItem <RadioGroupItem
id="vaksin-yes" id="vaksin-yes"
value="yes" value="yes"
class="mt-2"
/> />
<Label for="vaksin-yes">Sudah</Label> <Label for="vaksin-yes">Sudah</Label>
</div> </div>
@@ -87,6 +88,7 @@ const isExcluded = (key: string) => props.excludeFields?.includes(key)
<RadioGroupItem <RadioGroupItem
id="vaksin-no" id="vaksin-no"
value="no" value="no"
class="mt-2"
/> />
<Label for="vaksin-no">Belum</Label> <Label for="vaksin-no">Belum</Label>
</div> </div>
@@ -102,6 +104,7 @@ const isExcluded = (key: string) => props.excludeFields?.includes(key)
<RadioGroupItem <RadioGroupItem
id="kasus-baru" id="kasus-baru"
value="baru" value="baru"
class="mt-2"
/> />
<Label for="kasus-baru">Baru</Label> <Label for="kasus-baru">Baru</Label>
</div> </div>
@@ -109,6 +112,7 @@ const isExcluded = (key: string) => props.excludeFields?.includes(key)
<RadioGroupItem <RadioGroupItem
id="kasus-lama" id="kasus-lama"
value="lama" value="lama"
class="mt-2"
/> />
<Label for="kasus-lama">Lama</Label> <Label for="kasus-lama">Lama</Label>
</div> </div>
@@ -124,6 +128,7 @@ const isExcluded = (key: string) => props.excludeFields?.includes(key)
<RadioGroupItem <RadioGroupItem
id="kunjungan-baru" id="kunjungan-baru"
value="baru" value="baru"
class="mt-2"
/> />
<Label for="kunjungan-baru">Baru</Label> <Label for="kunjungan-baru">Baru</Label>
</div> </div>
@@ -131,6 +136,7 @@ const isExcluded = (key: string) => props.excludeFields?.includes(key)
<RadioGroupItem <RadioGroupItem
id="kunjungan-lama" id="kunjungan-lama"
value="lama" value="lama"
class="mt-2"
/> />
<Label for="kunjungan-lama">Lama</Label> <Label for="kunjungan-lama">Lama</Label>
</div> </div>
+1 -1
View File
@@ -3,7 +3,7 @@ import { defineAsyncComponent } from 'vue'
type SmallDetailDto = any type SmallDetailDto = any
const action = defineAsyncComponent(() => import('~/components/pub/my-ui/data/dropdown-action-ud.vue')) const action = defineAsyncComponent(() => import('~/components/pub/my-ui/data/dropdown-action-d.vue'))
export const config: Config = { export const config: Config = {
cols: [{}, {}, {}, { width: 100 }, { width: 120 }, {}, {}, {}, { width: 100 }, { width: 100 }, {}, { width: 50 }], cols: [{}, {}, {}, { width: 100 }, { width: 120 }, {}, {}, {}, { width: 100 }, { width: 100 }, {}, { width: 50 }],
+1 -1
View File
@@ -9,7 +9,7 @@ import RehabForm from './form-rehab.vue'
import FunctionForm from './form-function.vue' import FunctionForm from './form-function.vue'
const route = useRoute() const route = useRoute()
const type = computed(() => (route.query.tab as string) || 'early-medical-assessment') const type = computed(() => (route.query.menu as string) || 'early-medical-assessment')
const { mode, goToEntry, backToList } = useQueryCRUDMode('mode') const { mode, goToEntry, backToList } = useQueryCRUDMode('mode')
+19 -1
View File
@@ -7,7 +7,9 @@ import Dialog from '~/components/pub/my-ui/modal/dialog.vue'
import { EarlyRehabSchema } from '~/schemas/soapi.schema' import { EarlyRehabSchema } from '~/schemas/soapi.schema'
import { toast } from '~/components/pub/ui/toast' import { toast } from '~/components/pub/ui/toast'
import { handleActionSave, handleActionEdit } from '~/handlers/soapi-early.handler' import { handleActionSave, handleActionEdit } from '~/handlers/soapi-early.handler'
const { backToList } = useQueryMode('mode')
const { backToList } = useQueryCRUDMode('mode')
const { recordId } = useQueryCRUDRecordId('record-id')
const route = useRoute() const route = useRoute()
const isOpenProcedure = ref(false) const isOpenProcedure = ref(false)
@@ -66,6 +68,7 @@ const model = ref({
weight: '', weight: '',
height: '', height: '',
}) })
const formKey = ref(0)
const isLoading = reactive<DataTableLoader>({ const isLoading = reactive<DataTableLoader>({
isTableLoading: false, isTableLoading: false,
@@ -89,9 +92,23 @@ async function getProcedures() {
isLoading.isTableLoading = false isLoading.isTableLoading = false
} }
async function getDetail() {
isLoading.isTableLoading = true
const resp = await xfetch(`/api/v1/soapi/${recordId.value}`)
if (resp.success) {
const raw = (resp.body as Record<string, any>).data
const values = JSON.parse(raw.value)
console.log('values', values)
model.value = values
formKey.value++ // Force re-render with new data
}
isLoading.isTableLoading = false
}
onMounted(() => { onMounted(() => {
getProcedures() getProcedures()
getDiagnoses() getDiagnoses()
getDetail()
}) })
function handleOpen(type: string) { function handleOpen(type: string) {
@@ -146,6 +163,7 @@ provide('icdPreview', icdPreview)
</script> </script>
<template> <template>
<Entry <Entry
:key="formKey"
ref="entryRehabRef" ref="entryRehabRef"
v-model="model" v-model="model"
:schema="schema" :schema="schema"
+20 -6
View File
@@ -9,7 +9,7 @@ import { toast } from '~/components/pub/ui/toast'
import { handleActionSave, handleActionEdit } from '~/handlers/soapi-early.handler' import { handleActionSave, handleActionEdit } from '~/handlers/soapi-early.handler'
const { goToEntry, backToList } = useQueryCRUDMode('mode') const { goToEntry, backToList } = useQueryCRUDMode('mode')
const { recordId } = useQueryCRUDMode('record-id') const { recordId } = useQueryCRUDRecordId('record-id')
const route = useRoute() const route = useRoute()
const isOpenProcedure = ref(false) const isOpenProcedure = ref(false)
const isOpenDiagnose = ref(false) const isOpenDiagnose = ref(false)
@@ -44,12 +44,26 @@ const model = ref({
const isLoading = reactive<DataTableLoader>({ const isLoading = reactive<DataTableLoader>({
isTableLoading: false, isTableLoading: false,
}) })
const formKey = ref(0)
async function getDiagnoses() { async function getDetail() {
isLoading.isTableLoading = true isLoading.isTableLoading = true
const resp = await xfetch(`/api/v1/soapi/${recordId}`) const resp = await xfetch(`/api/v1/soapi/${recordId.value}`)
if (resp.success) { if (resp.success) {
diagnoses.value = (resp.body as Record<string, any>).data const raw = (resp.body as Record<string, any>).data
const values = JSON.parse(raw.value)
console.log('values', values)
model.value = values
formKey.value++ // Force re-render with new data
}
isLoading.isTableLoading = false
}
async function getDiagnose() {
isLoading.isTableLoading = true
const resp = await xfetch('/api/v1/diagnose-src')
if (resp.success) {
procedures.value = (resp.body as Record<string, any>).data
} }
isLoading.isTableLoading = false isLoading.isTableLoading = false
} }
@@ -64,8 +78,7 @@ async function getProcedures() {
} }
onMounted(() => { onMounted(() => {
getProcedures() getDetail()
getDiagnoses()
}) })
function handleOpen(type: string) { function handleOpen(type: string) {
@@ -125,6 +138,7 @@ provide('icdPreview', icdPreview)
</script> </script>
<template> <template>
<Entry <Entry
:key="formKey"
ref="entryRef" ref="entryRef"
v-model="model" v-model="model"
:schema="schema" :schema="schema"
+1 -1
View File
@@ -64,7 +64,7 @@ const hreaderPrep: HeaderPrep = {
}, },
} }
const type = computed(() => (route.query.tab as string) || 'early-medical-assessment') const type = computed(() => (route.query.menu as string) || 'early-medical-assessment')
onMounted(async () => { onMounted(async () => {
await getMyList() await getMyList()
+7 -17
View File
@@ -68,12 +68,12 @@ const defaultKeys: Record<string, any> = {
classCode: ['ambulatory', 'emergency', 'inpatient'], classCode: ['ambulatory', 'emergency', 'inpatient'],
unit: 'all', unit: 'all',
}, },
earlyNurseryAssessment: { // earlyNurseryAssessment: {
id: 'early-nursery-assessment', // id: 'early-nursery-assessment',
title: 'Pengkajian Awal Keperawatan', // title: 'Pengkajian Awal Keperawatan',
classCode: ['ambulatory', 'emergency', 'inpatient'], // classCode: ['ambulatory', 'emergency', 'inpatient'],
unit: 'all', // unit: 'all',
}, // },
earlyMedicalAssessment: { earlyMedicalAssessment: {
id: 'early-medical-assessment', id: 'early-medical-assessment',
title: 'Pengkajian Awal Medis', title: 'Pengkajian Awal Medis',
@@ -287,7 +287,7 @@ const defaultKeys: Record<string, any> = {
title: 'Profil Ringkasan Medis', title: 'Profil Ringkasan Medis',
classCode: ['ambulatory', 'emergency', 'inpatient'], classCode: ['ambulatory', 'emergency', 'inpatient'],
unit: 'all', unit: 'all',
} },
} }
export function getItemsByClassCode(classCode: string, items: EncounterItem[]) { export function getItemsByClassCode(classCode: string, items: EncounterItem[]) {
@@ -470,16 +470,6 @@ export function injectComponents(id: string | number, data: EncounterListData, m
currentKeys.initialNursingStudy['props'] = { encounter: data?.encounter } currentKeys.initialNursingStudy['props'] = { encounter: data?.encounter }
} }
if (currentKeys?.initialNursingStudy) {
currentKeys.initialNursingStudy['component'] = InitialNursingStudyAsync
currentKeys.initialNursingStudy['props'] = { encounter: data?.encounter }
}
if (currentKeys?.initialNursingStudy) {
currentKeys.initialNursingStudy['component'] = InitialNursingStudyAsync
currentKeys.initialNursingStudy['props'] = { encounter: data?.encounter }
}
if (currentKeys?.actionReport) { if (currentKeys?.actionReport) {
currentKeys.actionReport['component'] = ActionReportEntryAsync currentKeys.actionReport['component'] = ActionReportEntryAsync
currentKeys.actionReport['props'] = { currentKeys.actionReport['props'] = {