体检登记界面功能完善

This commit is contained in:
Euni4U 2025-02-27 14:33:17 +08:00
parent 6b829cd66f
commit 0884335e59
2 changed files with 1237 additions and 455 deletions

View File

@ -445,23 +445,17 @@ const fetchPatientsByDate = async () => {
medicalDateTime: [
`${formatDate(startDate)} 00:00:00`,
`${formatDate(endDate)} 23:59:59`
]
],
//
chargeStatus: chargeStatus.value === 'unpaid' ? '0' : '1',
//
pname: searchQuery.value || undefined
}
const res = await PatientApi.getPatientPage(params)
originalPatients.value = res.list
patients.value = res.list
total.value = res.total
//
patients.value = res.list.filter(patient => {
if (chargeStatus.value === 'unpaid') {
return !patient.chargeType
} else {
return patient.chargeType
}
})
total.value = patients.value.length
//
if (!patients.value.length) {
selectedPatient.value = null
@ -472,6 +466,12 @@ const fetchPatientsByDate = async () => {
}
}
//
const handleSearch = () => {
pageNo.value = 1 //
fetchPatientsByDate()
}
//
const handleChargeStatusChange = (status) => {
//
@ -479,17 +479,16 @@ const handleChargeStatusChange = (status) => {
patientData.value = {}
chargeStatus.value = status
//
if (originalPatients.value.length) {
patients.value = originalPatients.value.filter(patient => {
if (status === 'unpaid') {
return !patient.chargeType
} else {
return patient.chargeType
}
})
total.value = patients.value.length
}
pageNo.value = 1 //
//
fetchPatientsByDate()
}
//
const handleCurrentChange = (page) => {
pageNo.value = page
fetchPatientsByDate()
}
//
@ -508,6 +507,7 @@ const handlePeriodChange = (period) => {
endDate = new Date(today.setHours(23, 59, 59, 999))
customDateRange.value = [startDate, endDate]
showDatePicker.value = false
pageNo.value = 1 //
fetchPatientsByDate()
break
@ -518,6 +518,7 @@ const handlePeriodChange = (period) => {
endDate.setDate(startDate.getDate() + 6)
customDateRange.value = [startDate, endDate]
showDatePicker.value = false
pageNo.value = 1 //
fetchPatientsByDate()
break
@ -526,13 +527,12 @@ const handlePeriodChange = (period) => {
endDate = new Date(today.getFullYear(), today.getMonth() + 1, 0)
customDateRange.value = [startDate, endDate]
showDatePicker.value = false
pageNo.value = 1 //
fetchPatientsByDate()
break
case 'custom':
showDatePicker.value = !showDatePicker.value
patients.value = [] //
customDateRange.value = [] //
break
case 'reset':
@ -541,6 +541,7 @@ const handlePeriodChange = (period) => {
const todayEnd = new Date(today.setHours(23, 59, 59, 999))
customDateRange.value = [todayStart, todayEnd]
showDatePicker.value = false
pageNo.value = 1 //
fetchPatientsByDate()
break
}
@ -654,27 +655,7 @@ const handleSubmitCharge = async () => {
ElMessage.success('收费成功')
//
const params = {
pageNo: pageNo.value,
pageSize: pageSize.value,
medicalDateTime: customDateRange.value ? [
`${formatDate(customDateRange.value[0])} 00:00:00`,
`${formatDate(customDateRange.value[1])} 23:59:59`
] : undefined
}
const listRes = await PatientApi.getPatientPage(params)
originalPatients.value = listRes.list
//
patients.value = listRes.list.filter(patient => {
if (chargeStatus.value === 'unpaid') {
return !patient.chargeType
} else {
return patient.chargeType
}
})
total.value = patients.value.length
fetchPatientsByDate()
//
const patientRes = await PatientApi.getPatient(selectedPatient.value.id)
@ -719,6 +700,11 @@ const formatDateTime = (datetime) => {
return `${year}-${month}-${day} ${hour}:${minute}:${second}`
}
//
const readCardId = () => {
ElMessage.info('身份证读取功能开发中')
}
// ...
</script>

File diff suppressed because it is too large Load Diff