From 892fb745d8587d26f67be27a343d6e7e6f6e14d8 Mon Sep 17 00:00:00 2001 From: Euni4U <958079825@qq.com> Date: Thu, 3 Apr 2025 16:40:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8C=BB=E7=94=9F=E7=AD=BE?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/inspect/inspectdoctor/index.ts | 48 +++++ src/api/inspect/inspectpatient/index.ts | 5 + .../Medical-examination-vehicle.vue | 35 +++- src/views/Department-entry/summary.vue | 109 ++++++++-- .../inspect/inspectdoctor/DoctorForm.vue | 182 ++++++++++++++++ src/views/inspect/inspectdoctor/index.vue | 197 ++++++++++++++++++ 6 files changed, 562 insertions(+), 14 deletions(-) create mode 100644 src/api/inspect/inspectdoctor/index.ts create mode 100644 src/views/inspect/inspectdoctor/DoctorForm.vue create mode 100644 src/views/inspect/inspectdoctor/index.vue diff --git a/src/api/inspect/inspectdoctor/index.ts b/src/api/inspect/inspectdoctor/index.ts new file mode 100644 index 0000000..25a7f22 --- /dev/null +++ b/src/api/inspect/inspectdoctor/index.ts @@ -0,0 +1,48 @@ +import request from '@/config/axios' + +// 保存医生签名信息 VO +export interface DoctorVO { + id: number // 主键 + doctorid: string // 医生编号 + doctorname: string // 医生姓名 + doctorsign: string // 医生签名图片 + orgid: string // 机构ID + orgname: string // 机构名称 +} + +// 保存医生签名信息 API +export const DoctorApi = { + // 查询保存医生签名信息分页 + getDoctorPage: async (params: any) => { + return await request.get({ url: `/Inspect/doctor/page`, params }) + }, + + // 查询保存医生签名信息详情 + getDoctor: async (id: number) => { + return await request.get({ url: `/Inspect/doctor/get?id=` + id }) + }, + //根据医生id查询医生信息 + getDoctorById: async (doctorid: string) => { + return await request.get({ url: `/Inspect/doctor/getdoctor?doctorid=` + doctorid }) + }, + + // 新增保存医生签名信息 + createDoctor: async (data: DoctorVO) => { + return await request.post({ url: `/Inspect/doctor/create`, data }) + }, + + // 修改保存医生签名信息 + updateDoctor: async (data: DoctorVO) => { + return await request.put({ url: `/Inspect/doctor/update`, data }) + }, + + // 删除保存医生签名信息 + deleteDoctor: async (id: number) => { + return await request.delete({ url: `/Inspect/doctor/delete?id=` + id }) + }, + + // 导出保存医生签名信息 Excel + exportDoctor: async (params) => { + return await request.download({ url: `/Inspect/doctor/export-excel`, params }) + }, +} diff --git a/src/api/inspect/inspectpatient/index.ts b/src/api/inspect/inspectpatient/index.ts index 7d0cd22..644c98a 100644 --- a/src/api/inspect/inspectpatient/index.ts +++ b/src/api/inspect/inspectpatient/index.ts @@ -30,6 +30,7 @@ export interface PatientVO { ncgcode: string // 尿常规编号 shqx: string // 生化编号 isprint: number // 是否打印 + chiefinspectorid: string // 总检医生ID } // 患者信息 API @@ -109,6 +110,10 @@ export const PatientApi = { updatemedicalSn: async (data: PatientVO) => { return await request.put({ url: `/inspect/patient/updatesummary`, data }) }, + // 保存总检医生 + updatedoctorid: async (data: PatientVO) => { + return await request.put({ url: `/inspect/patient/updatedoctorid`, data }) + }, //获取中医体质辨识结果 getZytzInfo: async (medicalSn: string, cardId: string) => { return await request.put({ url: `/inspect/patient/syncPatientZyInfo?medicalSn=` + medicalSn + `&cardId=` + cardId }) diff --git a/src/views/Department-entry/Medical-examination-vehicle.vue b/src/views/Department-entry/Medical-examination-vehicle.vue index 5377cde..fbaed2b 100644 --- a/src/views/Department-entry/Medical-examination-vehicle.vue +++ b/src/views/Department-entry/Medical-examination-vehicle.vue @@ -369,9 +369,10 @@ placeholder="请选择检查医生" :disabled="isDisabled" class="doctor-select" + clearable > { pageSize.value = 20 // 或其他合适的数值 pageNo.value = 1 + // 获取医生列表 + await getDoctorList() + // 直接调用获取列表方法,不附加任何过滤条件 await getPatientList() }) @@ -1713,6 +1718,12 @@ const handleSaveAllResults = async () => { return } + // 验证总检医生是否已选择 + if (!summaryRef.value?.validateSummaryDoctor()) { + ElMessage.warning('请选择总检医生') + return + } + try { const userProfile = await getUserProfile() user.value = userProfile @@ -2351,6 +2362,28 @@ const handleAbandonExam = async () => { ElMessage.info('已取消弃检') } } + +// 添加医生列表的响应式引用 +const doctorList = ref([]) + +// 修改获取医生列表的方法 +const getDoctorList = async () => { + try { + const res = await DoctorApi.getDoctorPage({ + pageNo: 1, + pageSize: 100 // 设置较大的数值以获取所有医生 + }) + if (res && res.list && res.list.length > 0) { + doctorList.value = res.list.map(doctor => ({ + label: doctor.doctorname, + value: doctor.doctorid + })) + } + } catch (error) { + console.error('获取医生列表失败:', error) + ElMessage.error('获取医生列表失败') + } +} \ No newline at end of file diff --git a/src/views/inspect/inspectdoctor/index.vue b/src/views/inspect/inspectdoctor/index.vue new file mode 100644 index 0000000..88ba4f0 --- /dev/null +++ b/src/views/inspect/inspectdoctor/index.vue @@ -0,0 +1,197 @@ + + +