feat(sep): integrate letter control

This commit is contained in:
riefive
2025-11-12 13:56:25 +07:00
parent 487f3e92f9
commit 8f8cc0c815
3 changed files with 32 additions and 15 deletions
+1
View File
@@ -143,6 +143,7 @@ watch(props, (value) => {
nationalId.value = objects?.nationalIdentity || '-'
medicalRecordNumber.value = objects?.medicalRecordNumber || '-'
patientName.value = objects?.patientName || '-'
phoneNumber.value = objects?.phoneNumber || '-'
if (objects?.sepType === 'internal') {
admissionType.value = '4'
}
+22 -6
View File
@@ -183,10 +183,11 @@ async function getLetterMappers(admissionType: string, search: string) {
classLevel: lettersRaw?.rujukan?.peserta?.hakKelas?.kode || '',
poly: lettersRaw?.rujukan?.poliRujukan?.kode || '',
cardNumber: lettersRaw?.rujukan?.peserta?.noKartu || '',
identity: lettersRaw?.rujukan?.peserta?.nik || '',
patientName: lettersRaw?.rujukan?.peserta?.nama || '',
patientPhone: lettersRaw?.rujukan?.peserta?.mr?.noTelepon || '',
medicalRecordNumber: lettersRaw?.rujukan?.peserta?.mr?.noMR || '',
ppkRujukan: lettersRaw?.rujukan?.provPerujuk?.kode || '',
destination: lettersRaw?.rujukan?.provPerujuk?.kode || '',
},
},
]
@@ -350,8 +351,11 @@ async function handleEvent(menu: string, value: any) {
if (menu === 'search-patient-by-identifier') {
const text = value.text
const type = value.type
const prevCardNumber = selectedPatientObject.value?.person?.residentIdentityNumber || ''
if (type === 'indentity' && text !== prevCardNumber) {
const prevCardNumber = selectedObjects.value['cardNumber'] || ''
const prevNationalIdentity = selectedObjects.value['nationalIdentity'] || ''
console.log(text, prevCardNumber)
console.log(text, prevNationalIdentity)
if (type === 'indentity' && text !== prevNationalIdentity) {
await getPatientByIdentifierSearch(text)
await getPatientExternalMappers(text, 'by-identity')
}
@@ -365,13 +369,25 @@ async function handleEvent(menu: string, value: any) {
getLetterMappers(value.admissionType, value.search).then(() => {
if (letters.value.length > 0) {
const copyObjects = { ...selectedObjects.value }
const letter = letters.value[0]
selectedObjects.value = {}
selectedLetter.value = letters.value[0].letterNumber
selectedLetter.value = letter.letterNumber
isLetterReadonly.value = true
setTimeout(() => {
selectedObjects.value = copyObjects
selectedObjects.value['letterDate'] = letters.value[0].plannedDate
}, 100)
selectedObjects.value['letterDate'] = letter.plannedDate
selectedObjects.value['cardNumber'] = letter.information?.cardNumber || ''
selectedObjects.value['nationalIdentity'] = letter.information?.identity || ''
selectedObjects.value['medicalRecordNumber'] = letter.information?.medicalRecordNumber || ''
selectedObjects.value['patientName'] = letter.information?.patientName || ''
selectedObjects.value['phoneNumber'] = letter.information?.patientPhone || ''
selectedObjects.value['facility'] = letter.information?.facility || ''
selectedObjects.value['diagnoses'] = letter.information?.diagnoses || ''
selectedObjects.value['serviceType'] = letter.information?.serviceType || ''
selectedObjects.value['classLevel'] = letter.information?.classLevel || ''
selectedObjects.value['poly'] = letter.information?.poly || ''
selectedObjects.value['destination'] = letter.information?.destination || ''
}, 250)
}
})
return
@@ -18,16 +18,16 @@ useHead({
const roleAccess: PagePermission = PAGE_PERMISSIONS['/doctor']
const { checkRole, hasCreateAccess } = useRBAC()
// const { checkRole, hasCreateAccess } = useRBAC()
// Check if user has access to this page
const hasAccess = checkRole(roleAccess)
if (!hasAccess) {
throw createError({
statusCode: 403,
statusMessage: 'Access denied',
})
}
// // Check if user has access to this page
// const hasAccess = checkRole(roleAccess)
// if (!hasAccess) {
// throw createError({
// statusCode: 403,
// statusMessage: 'Access denied',
// })
// }
// Define permission-based computed properties
const canCreate = true // hasCreateAccess(roleAccess)