体检登记界面功能完善
This commit is contained in:
parent
6b829cd66f
commit
0884335e59
@ -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
Loading…
Reference in New Issue
Block a user