feat(sep): add class form
This commit is contained in:
No files matched your search
@@ -36,6 +36,9 @@ const props = defineProps<{
|
|||||||
procedures: any[]
|
procedures: any[]
|
||||||
assessments: any[]
|
assessments: any[]
|
||||||
supportCodes: any[]
|
supportCodes: any[]
|
||||||
|
classLevels: any[]
|
||||||
|
classLevelUpgrades: any[]
|
||||||
|
classPaySources: any[]
|
||||||
provinces: any[]
|
provinces: any[]
|
||||||
cities: any[]
|
cities: any[]
|
||||||
districts: any[]
|
districts: any[]
|
||||||
@@ -78,6 +81,10 @@ const [clinicExcecutive, clinicExcecutiveAttrs] = defineField('clinicExcecutive'
|
|||||||
const [procedureType, procedureTypeAttrs] = defineField('procedureType')
|
const [procedureType, procedureTypeAttrs] = defineField('procedureType')
|
||||||
const [supportCode, supportCodeAttrs] = defineField('supportCode')
|
const [supportCode, supportCodeAttrs] = defineField('supportCode')
|
||||||
const [note, noteAttrs] = defineField('note')
|
const [note, noteAttrs] = defineField('note')
|
||||||
|
const [classLevel, classLevelAttrs] = defineField('classLevel')
|
||||||
|
const [classLevelUpgrade, classLevelUpgradeAttrs] = defineField('classLevelUpgrade')
|
||||||
|
const [classPaySource, classPaySourceAttrs] = defineField('classPaySource')
|
||||||
|
const [responsiblePerson, responsiblePersonAttrs] = defineField('responsiblePerson')
|
||||||
const [accident, accidentAttrs] = defineField('trafficAccident')
|
const [accident, accidentAttrs] = defineField('trafficAccident')
|
||||||
const [purposeOfVisit, purposeOfVisitAttrs] = defineField('purposeOfVisit')
|
const [purposeOfVisit, purposeOfVisitAttrs] = defineField('purposeOfVisit')
|
||||||
const [serviceAssessment, serviceAssessmentAttrs] = defineField('serviceAssessment')
|
const [serviceAssessment, serviceAssessmentAttrs] = defineField('serviceAssessment')
|
||||||
@@ -469,6 +476,78 @@ watch(props, (value) => {
|
|||||||
</Cell>
|
</Cell>
|
||||||
</Block>
|
</Block>
|
||||||
|
|
||||||
|
<Block
|
||||||
|
v-if="serviceType === '1'"
|
||||||
|
labelSize="thin"
|
||||||
|
class="!pt-0"
|
||||||
|
:colCount="3"
|
||||||
|
:cellFlex="false"
|
||||||
|
>
|
||||||
|
<Cell>
|
||||||
|
<Label height="dynamic">Kelas Rawat</Label>
|
||||||
|
<Field>
|
||||||
|
<Select
|
||||||
|
id="classLevel"
|
||||||
|
v-model="classLevel"
|
||||||
|
v-bind="classLevelAttrs"
|
||||||
|
:items="classLevels"
|
||||||
|
:disabled="isLoading || isReadonly"
|
||||||
|
placeholder="Pilih Kelas Rawat"
|
||||||
|
/>
|
||||||
|
</Field>
|
||||||
|
</Cell>
|
||||||
|
|
||||||
|
<Cell>
|
||||||
|
<Label height="dynamic">Kelas Rawat Naik</Label>
|
||||||
|
<Field>
|
||||||
|
<Select
|
||||||
|
id="classLevelUpgrade"
|
||||||
|
v-model="classLevelUpgrade"
|
||||||
|
v-bind="classLevelUpgradeAttrs"
|
||||||
|
:items="classLevelUpgrades"
|
||||||
|
:disabled="isLoading || isReadonly"
|
||||||
|
placeholder="Pilih Kelas Rawat Naik"
|
||||||
|
/>
|
||||||
|
</Field>
|
||||||
|
</Cell>
|
||||||
|
|
||||||
|
<Cell>
|
||||||
|
<Label height="dynamic">Pembiayaan</Label>
|
||||||
|
<Field>
|
||||||
|
<Select
|
||||||
|
id="classPaySource"
|
||||||
|
v-model="classPaySource"
|
||||||
|
v-bind="classPaySourceAttrs"
|
||||||
|
:items="classPaySources"
|
||||||
|
:disabled="isLoading || isReadonly"
|
||||||
|
placeholder="Pilih Pembiayaan"
|
||||||
|
/>
|
||||||
|
</Field>
|
||||||
|
</Cell>
|
||||||
|
</Block>
|
||||||
|
|
||||||
|
<Block
|
||||||
|
v-if="serviceType === '1' && classLevelUpgrade !== ''"
|
||||||
|
labelSize="thin"
|
||||||
|
class="!pt-0"
|
||||||
|
:colCount="1"
|
||||||
|
:cellFlex="false"
|
||||||
|
>
|
||||||
|
<Cell>
|
||||||
|
<Label height="dynamic">Penanggung Jawab</Label>
|
||||||
|
<Field>
|
||||||
|
<Input
|
||||||
|
id="responsiblePerson"
|
||||||
|
v-model="responsiblePerson"
|
||||||
|
v-bind="responsiblePersonAttrs"
|
||||||
|
:disabled="isLoading || isReadonly"
|
||||||
|
placeholder="Masukkan penanggung jawab"
|
||||||
|
/>
|
||||||
|
</Field>
|
||||||
|
</Cell>
|
||||||
|
</Block>
|
||||||
|
|
||||||
|
|
||||||
<Block
|
<Block
|
||||||
labelSize="thin"
|
labelSize="thin"
|
||||||
class="!pt-0"
|
class="!pt-0"
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ import {
|
|||||||
supportCodes,
|
supportCodes,
|
||||||
procedureTypes,
|
procedureTypes,
|
||||||
purposeOfVisits,
|
purposeOfVisits,
|
||||||
|
classLevels,
|
||||||
|
classLevelUpgrades,
|
||||||
|
classPaySources,
|
||||||
} from '~/lib/constants.vclaim'
|
} from '~/lib/constants.vclaim'
|
||||||
|
|
||||||
// Services
|
// Services
|
||||||
@@ -60,6 +63,9 @@ const assessmentsList = ref<Array<{ value: string; label: string }>>([])
|
|||||||
const provincesList = ref<Array<{ value: string; label: string }>>([])
|
const provincesList = ref<Array<{ value: string; label: string }>>([])
|
||||||
const citiesList = ref<Array<{ value: string; label: string }>>([])
|
const citiesList = ref<Array<{ value: string; label: string }>>([])
|
||||||
const districtsList = ref<Array<{ value: string; label: string }>>([])
|
const districtsList = ref<Array<{ value: string; label: string }>>([])
|
||||||
|
const classLevelsList = ref<Array<{ value: string; label: string }>>([])
|
||||||
|
const classLevelUpgradesList = ref<Array<{ value: string; label: string }>>([])
|
||||||
|
const classPaySourcesList = ref<Array<{ value: string; label: string }>>([])
|
||||||
const isPatientsLoading = ref(false)
|
const isPatientsLoading = ref(false)
|
||||||
const paginationMeta = ref<PaginationMeta>({
|
const paginationMeta = ref<PaginationMeta>({
|
||||||
recordCount: 0,
|
recordCount: 0,
|
||||||
@@ -341,6 +347,18 @@ async function handleInit() {
|
|||||||
value: item.toString(),
|
value: item.toString(),
|
||||||
label: `${item.toString()} - ${supportCodes[item]}`,
|
label: `${item.toString()} - ${supportCodes[item]}`,
|
||||||
})) as any
|
})) as any
|
||||||
|
classLevelsList.value = Object.keys(classLevels).map((item) => ({
|
||||||
|
value: item.toString(),
|
||||||
|
label: classLevels[item],
|
||||||
|
})) as any
|
||||||
|
classLevelUpgradesList.value = Object.keys(classLevelUpgrades).map((item) => ({
|
||||||
|
value: item.toString(),
|
||||||
|
label: classLevelUpgrades[item],
|
||||||
|
})) as any
|
||||||
|
classPaySourcesList.value = Object.keys(classPaySources).map((item) => ({
|
||||||
|
value: item.toString(),
|
||||||
|
label: classPaySources[item],
|
||||||
|
})) as any
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
@@ -376,6 +394,9 @@ onMounted(async () => {
|
|||||||
:provinces="provincesList"
|
:provinces="provincesList"
|
||||||
:cities="citiesList"
|
:cities="citiesList"
|
||||||
:districts="districtsList"
|
:districts="districtsList"
|
||||||
|
:class-levels="classLevelsList"
|
||||||
|
:class-level-upgrades="classLevelUpgradesList"
|
||||||
|
:class-pay-sources="classPaySourcesList"
|
||||||
:patient="selectedPatientObject"
|
:patient="selectedPatientObject"
|
||||||
@fetch="handleFetch"
|
@fetch="handleFetch"
|
||||||
@event="handleEvent"
|
@event="handleEvent"
|
||||||
|
|||||||
@@ -10,6 +10,29 @@ export const registerMethods: Record<string, string> = {
|
|||||||
'4': 'Rujukan Internal',
|
'4': 'Rujukan Internal',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const classLevels: Record<string, string> = {
|
||||||
|
'1': 'Kelas 1',
|
||||||
|
'2': 'Kelas 2',
|
||||||
|
'3': 'Kelas 3',
|
||||||
|
}
|
||||||
|
|
||||||
|
export const classLevelUpgrades: Record<string, string> = {
|
||||||
|
'1': 'VVIP',
|
||||||
|
'2': 'VIP',
|
||||||
|
'3': 'Kelas 1',
|
||||||
|
'4': 'Kelas 2',
|
||||||
|
'5': 'Kelas 3',
|
||||||
|
'6': 'ICCU',
|
||||||
|
'7': 'ICU',
|
||||||
|
'8': 'Diatas Kelas 1',
|
||||||
|
};
|
||||||
|
|
||||||
|
export const classPaySources: Record<string, string> = {
|
||||||
|
'1': 'Pribadi',
|
||||||
|
'2': 'Pemberi Kerja',
|
||||||
|
'3': 'Asuransi Kesehatan Tambahan'
|
||||||
|
}
|
||||||
|
|
||||||
export const procedureTypes: Record<string, string> = {
|
export const procedureTypes: Record<string, string> = {
|
||||||
'0': 'Prosedur tidak berkelanjutan',
|
'0': 'Prosedur tidak berkelanjutan',
|
||||||
'1': 'Prosedur dan terapi berkelanjutan',
|
'1': 'Prosedur dan terapi berkelanjutan',
|
||||||
@@ -24,7 +47,7 @@ export const purposeOfVisits: Record<string, string> = {
|
|||||||
export const trafficAccidents: Record<string, string> = {
|
export const trafficAccidents: Record<string, string> = {
|
||||||
'0': 'Bukan Kecelakaan lalu lintas [BKLL]',
|
'0': 'Bukan Kecelakaan lalu lintas [BKLL]',
|
||||||
'1': 'KLL dan Bukan Kecelakaan Kerja [BKK]',
|
'1': 'KLL dan Bukan Kecelakaan Kerja [BKK]',
|
||||||
'2': 'KLL',
|
'2': 'KLL dan KK',
|
||||||
'3': 'KK',
|
'3': 'KK',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,109 +33,201 @@ const ERROR_MESSAGES = {
|
|||||||
accidentDistrict: 'Kecamatan Kejadian lalu lintas wajib diisi',
|
accidentDistrict: 'Kecamatan Kejadian lalu lintas wajib diisi',
|
||||||
suplesi: 'Suplesi wajib diisi',
|
suplesi: 'Suplesi wajib diisi',
|
||||||
suplesiNumber: 'Nomor Suplesi wajib diisi',
|
suplesiNumber: 'Nomor Suplesi wajib diisi',
|
||||||
|
classLevel: 'Kelas Rawat wajib diisi',
|
||||||
|
classLevelUpgrade: 'Kelas Rawat Naik wajib diisi',
|
||||||
|
classPaySource: 'Pembiayaan wajib diisi',
|
||||||
|
responsiblePerson: 'Penanggung Jawab wajib diisi',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
const IntegrationBpjsSchema = z.object({
|
const IntegrationBpjsSchema = z
|
||||||
sepDate: z.string({ required_error: ERROR_MESSAGES.required.sepDate }).min(1, ERROR_MESSAGES.required.sepDate),
|
.object({
|
||||||
serviceType: z
|
sepDate: z.string({ required_error: ERROR_MESSAGES.required.sepDate }).min(1, ERROR_MESSAGES.required.sepDate),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.serviceType })
|
serviceType: z
|
||||||
.min(1, ERROR_MESSAGES.required.serviceType)
|
.string({ required_error: ERROR_MESSAGES.required.serviceType })
|
||||||
.optional(),
|
.min(1, ERROR_MESSAGES.required.serviceType)
|
||||||
admissionType: z
|
.optional(),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.admissionType })
|
admissionType: z
|
||||||
.min(1, ERROR_MESSAGES.required.admissionType),
|
.string({ required_error: ERROR_MESSAGES.required.admissionType })
|
||||||
bpjsNumber: z
|
.min(1, ERROR_MESSAGES.required.admissionType),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.bpjsNumber })
|
bpjsNumber: z
|
||||||
.min(1, ERROR_MESSAGES.required.bpjsNumber),
|
.string({ required_error: ERROR_MESSAGES.required.bpjsNumber })
|
||||||
nationalId: z
|
.min(1, ERROR_MESSAGES.required.bpjsNumber),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.nationalId })
|
nationalId: z
|
||||||
.min(1, ERROR_MESSAGES.required.nationalId),
|
.string({ required_error: ERROR_MESSAGES.required.nationalId })
|
||||||
medicalRecordNumber: z
|
.min(1, ERROR_MESSAGES.required.nationalId),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.medicalRecordNumber })
|
medicalRecordNumber: z
|
||||||
.min(1, ERROR_MESSAGES.required.medicalRecordNumber),
|
.string({ required_error: ERROR_MESSAGES.required.medicalRecordNumber })
|
||||||
patientName: z
|
.min(1, ERROR_MESSAGES.required.medicalRecordNumber),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.patientName })
|
patientName: z
|
||||||
.min(1, ERROR_MESSAGES.required.patientName),
|
.string({ required_error: ERROR_MESSAGES.required.patientName })
|
||||||
phoneNumber: z
|
.min(1, ERROR_MESSAGES.required.patientName),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.phoneNumber })
|
phoneNumber: z
|
||||||
.min(1, ERROR_MESSAGES.required.phoneNumber),
|
.string({ required_error: ERROR_MESSAGES.required.phoneNumber })
|
||||||
referralLetterNumber: z
|
.min(1, ERROR_MESSAGES.required.phoneNumber),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.referralLetterNumber })
|
referralLetterNumber: z
|
||||||
.min(1, ERROR_MESSAGES.required.referralLetterNumber),
|
.string({ required_error: ERROR_MESSAGES.required.referralLetterNumber })
|
||||||
referralLetterDate: z
|
.min(1, ERROR_MESSAGES.required.referralLetterNumber),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.referralLetterDate })
|
referralLetterDate: z
|
||||||
.min(1, ERROR_MESSAGES.required.referralLetterDate),
|
.string({ required_error: ERROR_MESSAGES.required.referralLetterDate })
|
||||||
fromClinic: z
|
.min(1, ERROR_MESSAGES.required.referralLetterDate),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.fromClinic })
|
fromClinic: z
|
||||||
.min(1, ERROR_MESSAGES.required.fromClinic)
|
.string({ required_error: ERROR_MESSAGES.required.fromClinic })
|
||||||
.optional(),
|
.min(1, ERROR_MESSAGES.required.fromClinic)
|
||||||
destinationClinic: z
|
.optional(),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.destinationClinic })
|
destinationClinic: z
|
||||||
.min(1, ERROR_MESSAGES.required.destinationClinic),
|
.string({ required_error: ERROR_MESSAGES.required.destinationClinic })
|
||||||
attendingDoctor: z
|
.min(1, ERROR_MESSAGES.required.destinationClinic),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.attendingDoctor })
|
attendingDoctor: z
|
||||||
.min(1, ERROR_MESSAGES.required.attendingDoctor),
|
.string({ required_error: ERROR_MESSAGES.required.attendingDoctor })
|
||||||
initialDiagnosis: z
|
.min(1, ERROR_MESSAGES.required.attendingDoctor),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.initialDiagnosis })
|
initialDiagnosis: z
|
||||||
.min(1, ERROR_MESSAGES.required.initialDiagnosis),
|
.string({ required_error: ERROR_MESSAGES.required.initialDiagnosis })
|
||||||
cob: z.string({ required_error: ERROR_MESSAGES.required.cob }).min(1, ERROR_MESSAGES.required.cob),
|
.min(1, ERROR_MESSAGES.required.initialDiagnosis),
|
||||||
cataract: z.string({ required_error: ERROR_MESSAGES.required.cataract }).min(1, ERROR_MESSAGES.required.cataract),
|
cob: z.string({ required_error: ERROR_MESSAGES.required.cob }).min(1, ERROR_MESSAGES.required.cob),
|
||||||
clinicExcecutive: z
|
cataract: z.string({ required_error: ERROR_MESSAGES.required.cataract }).min(1, ERROR_MESSAGES.required.cataract),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.clinicExcecutive })
|
clinicExcecutive: z
|
||||||
.min(1, ERROR_MESSAGES.required.clinicExcecutive),
|
.string({ required_error: ERROR_MESSAGES.required.clinicExcecutive })
|
||||||
procedureType: z
|
.min(1, ERROR_MESSAGES.required.clinicExcecutive),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.procedureType })
|
procedureType: z
|
||||||
.min(1, ERROR_MESSAGES.required.procedureType).optional(),
|
.string({ required_error: ERROR_MESSAGES.required.procedureType })
|
||||||
supportCode: z
|
.min(1, ERROR_MESSAGES.required.procedureType)
|
||||||
.string({ required_error: ERROR_MESSAGES.required.supportCode })
|
.optional(),
|
||||||
.min(1, ERROR_MESSAGES.required.supportCode).optional(),
|
supportCode: z
|
||||||
note: z.string({ required_error: ERROR_MESSAGES.required.note }).min(1, ERROR_MESSAGES.required.note).optional(),
|
.string({ required_error: ERROR_MESSAGES.required.supportCode })
|
||||||
trafficAccident: z
|
.min(1, ERROR_MESSAGES.required.supportCode)
|
||||||
.string({ required_error: ERROR_MESSAGES.required.trafficAccident })
|
.optional(),
|
||||||
.min(1, ERROR_MESSAGES.required.trafficAccident)
|
note: z.string({ required_error: ERROR_MESSAGES.required.note }).min(1, ERROR_MESSAGES.required.note).optional(),
|
||||||
.optional(),
|
trafficAccident: z
|
||||||
purposeOfVisit: z
|
.string({ required_error: ERROR_MESSAGES.required.trafficAccident })
|
||||||
.string({ required_error: ERROR_MESSAGES.required.purposeOfVisit })
|
.min(1, ERROR_MESSAGES.required.trafficAccident)
|
||||||
.min(1, ERROR_MESSAGES.required.purposeOfVisit)
|
.optional(),
|
||||||
.optional(),
|
purposeOfVisit: z
|
||||||
serviceAssessment: z
|
.string({ required_error: ERROR_MESSAGES.required.purposeOfVisit })
|
||||||
.string({ required_error: ERROR_MESSAGES.required.serviceAssessment })
|
.min(1, ERROR_MESSAGES.required.purposeOfVisit)
|
||||||
.min(1, ERROR_MESSAGES.required.serviceAssessment)
|
.optional(),
|
||||||
.optional(),
|
serviceAssessment: z
|
||||||
lpNumber: z
|
.string({ required_error: ERROR_MESSAGES.required.serviceAssessment })
|
||||||
.string({ required_error: ERROR_MESSAGES.required.lpNumber })
|
.min(1, ERROR_MESSAGES.required.serviceAssessment)
|
||||||
.min(1, ERROR_MESSAGES.required.lpNumber)
|
.optional(),
|
||||||
.optional(),
|
lpNumber: z.string({ required_error: ERROR_MESSAGES.required.lpNumber }).optional(),
|
||||||
accidentDate: z
|
accidentDate: z.string({ required_error: ERROR_MESSAGES.required.accidentDate }).optional(),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.accidentDate })
|
accidentNote: z.string({ required_error: ERROR_MESSAGES.required.accidentNote }).optional(),
|
||||||
.min(1, ERROR_MESSAGES.required.accidentDate)
|
accidentProvince: z.string({ required_error: ERROR_MESSAGES.required.accidentProvince }).optional(),
|
||||||
.optional(),
|
accidentCity: z.string({ required_error: ERROR_MESSAGES.required.accidentCity }).optional(),
|
||||||
accidentNote: z
|
accidentDistrict: z.string({ required_error: ERROR_MESSAGES.required.accidentDistrict }).optional(),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.accidentNote })
|
suplesi: z.string({ required_error: ERROR_MESSAGES.required.suplesi }).optional(),
|
||||||
.min(1, ERROR_MESSAGES.required.accidentNote)
|
suplesiNumber: z.string({ required_error: ERROR_MESSAGES.required.suplesiNumber }).optional(),
|
||||||
.optional(),
|
classLevel: z.string({ required_error: ERROR_MESSAGES.required.classLevel }).optional(),
|
||||||
accidentProvince: z
|
classLevelUpgrade: z.string({ required_error: ERROR_MESSAGES.required.classLevelUpgrade }).optional(),
|
||||||
.string({ required_error: ERROR_MESSAGES.required.accidentProvince })
|
classPaySource: z.string({ required_error: ERROR_MESSAGES.required.classPaySource }).optional(),
|
||||||
.min(1, ERROR_MESSAGES.required.accidentProvince)
|
responsiblePerson: z.string({ required_error: ERROR_MESSAGES.required.responsiblePerson }).optional(),
|
||||||
.optional(),
|
})
|
||||||
accidentCity: z
|
.refine(
|
||||||
.string({ required_error: ERROR_MESSAGES.required.accidentCity })
|
(data) => {
|
||||||
.min(1, ERROR_MESSAGES.required.accidentCity)
|
return data.trafficAccident !== '' && data.accidentDate && data.accidentDate.trim() !== ''
|
||||||
.optional(),
|
},
|
||||||
accidentDistrict: z
|
{
|
||||||
.string({ required_error: ERROR_MESSAGES.required.accidentDistrict })
|
message: ERROR_MESSAGES.required.accidentDate,
|
||||||
.min(1, ERROR_MESSAGES.required.accidentDistrict)
|
path: ['accidentDate'],
|
||||||
.optional(),
|
},
|
||||||
suplesi: z
|
)
|
||||||
.string({ required_error: ERROR_MESSAGES.required.suplesi })
|
.refine(
|
||||||
.min(1, ERROR_MESSAGES.required.suplesi)
|
(data) => {
|
||||||
.optional(),
|
return data.trafficAccident !== '' && data.accidentProvince && data.accidentProvince.trim() !== ''
|
||||||
suplesiNumber: z
|
},
|
||||||
.string({ required_error: ERROR_MESSAGES.required.suplesiNumber })
|
{
|
||||||
.min(1, ERROR_MESSAGES.required.suplesiNumber)
|
message: ERROR_MESSAGES.required.accidentProvince,
|
||||||
.optional(),
|
path: ['accidentProvince'],
|
||||||
})
|
},
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
return data.trafficAccident !== '' && data.accidentCity && data.accidentCity.trim() !== ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
message: ERROR_MESSAGES.required.accidentCity,
|
||||||
|
path: ['accidentCity'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
return data.trafficAccident !== '' && data.accidentDistrict && data.accidentDistrict.trim() !== ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
message: ERROR_MESSAGES.required.accidentDistrict,
|
||||||
|
path: ['accidentDistrict'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
return data.trafficAccident !== '' && data.suplesi && data.suplesi.trim() !== ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
message: ERROR_MESSAGES.required.suplesi,
|
||||||
|
path: ['suplesi'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
return (
|
||||||
|
data.trafficAccident !== '' &&
|
||||||
|
data.suplesi?.trim() === 'yes' &&
|
||||||
|
data.suplesiNumber &&
|
||||||
|
data.suplesiNumber.trim() !== ''
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
message: ERROR_MESSAGES.required.suplesiNumber,
|
||||||
|
path: ['suplesiNumber'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
return data.serviceType === '1' && data.classLevel && data.classLevel.trim() !== ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
message: ERROR_MESSAGES.required.classLevel,
|
||||||
|
path: ['classLevel'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
return data.serviceType === '1' && data.classLevelUpgrade && data.classLevelUpgrade.trim() !== ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
message: ERROR_MESSAGES.required.classLevelUpgrade,
|
||||||
|
path: ['classLevelUpgrade'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
return (
|
||||||
|
data.serviceType === '1' &&
|
||||||
|
data.classLevelUpgrade?.trim() !== '' &&
|
||||||
|
data.classPaySource &&
|
||||||
|
data.classPaySource.trim() !== ''
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
message: ERROR_MESSAGES.required.classLevelUpgrade,
|
||||||
|
path: ['classPaySource'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
return (
|
||||||
|
data.serviceType === '1' &&
|
||||||
|
data.classPaySource?.trim() !== '' &&
|
||||||
|
data.responsiblePerson &&
|
||||||
|
data.responsiblePerson.trim() !== ''
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
message: ERROR_MESSAGES.required.responsiblePerson,
|
||||||
|
path: ['responsiblePerson'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
type IntegrationBpjsFormData = z.infer<typeof IntegrationBpjsSchema>
|
type IntegrationBpjsFormData = z.infer<typeof IntegrationBpjsSchema>
|
||||||
|
|
||||||
|
|||||||
@@ -53,8 +53,8 @@ export function makeSepData(data: IntegrationBpjsFormData) {
|
|||||||
kdPenunjang: data.supportCode || '',
|
kdPenunjang: data.supportCode || '',
|
||||||
assesmentPel: data.serviceAssessment || '',
|
assesmentPel: data.serviceAssessment || '',
|
||||||
skdp: {
|
skdp: {
|
||||||
noSurat: '0208R0060825K000001',
|
noSurat: '', // 0208R0060825K000001
|
||||||
kodeDPJP: '6546',
|
kodeDPJP: '', // 6546
|
||||||
},
|
},
|
||||||
dpjpLayan: '000002',
|
dpjpLayan: '000002',
|
||||||
noTelp: data.phoneNumber || '',
|
noTelp: data.phoneNumber || '',
|
||||||
|
|||||||
Reference in New Issue
Block a user