From d9655c6a06c3a50de5c7db99c6d232919000e3b1 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 17 Apr 2026 16:55:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/views/tcm/diagnosis/index.vue | 12 ++++++------ .../app/adminapi/lists/tcm/DiagnosisLists.php | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/admin/src/views/tcm/diagnosis/index.vue b/admin/src/views/tcm/diagnosis/index.vue index d5445ec3..efb84732 100644 --- a/admin/src/views/tcm/diagnosis/index.vue +++ b/admin/src/views/tcm/diagnosis/index.vue @@ -15,7 +15,7 @@
- + 查询
@@ -111,7 +111,7 @@
{{ row.gender_desc || '-' }} · {{ row.age ?? '-' }}岁
- + - + - + @@ -567,7 +567,7 @@ const maskIdCard = (idCard: string) => { } const formData = reactive({ - patient_name: '', + keyword: '', diagnosis_type: '', syndrome_type: '', assistant_id: '', @@ -761,7 +761,7 @@ const refreshListAfterPopupSave = () => getLists({ silent: true }) // 重置 const handleReset = () => { activeTab.value = 'all' - formData.patient_name = '' + formData.keyword = '' formData.diagnosis_type = '' formData.syndrome_type = '' formData.assistant_id = '' diff --git a/server/app/adminapi/lists/tcm/DiagnosisLists.php b/server/app/adminapi/lists/tcm/DiagnosisLists.php index 459bfd19..a372649a 100644 --- a/server/app/adminapi/lists/tcm/DiagnosisLists.php +++ b/server/app/adminapi/lists/tcm/DiagnosisLists.php @@ -65,6 +65,15 @@ class DiagnosisLists extends BaseAdminDataLists implements ListsSearchInterface $query->where('assistant_id', $this->adminId); } + // 关键字搜索:支持患者姓名或手机号(模糊匹配) + if (isset($this->params['keyword']) && trim((string) $this->params['keyword']) !== '') { + $keyword = trim((string) $this->params['keyword']); + $query->where(function ($q) use ($keyword) { + $q->whereLike('patient_name', '%' . $keyword . '%') + ->whereOr('phone', 'like', '%' . $keyword . '%'); + }); + } + // 是否确认诊单:1=已确认 0=未确认 if (isset($this->params['diagnosis_confirmed']) && $this->params['diagnosis_confirmed'] !== '') { $confirmed = (int)$this->params['diagnosis_confirmed']; @@ -409,6 +418,15 @@ class DiagnosisLists extends BaseAdminDataLists implements ListsSearchInterface $query->where('assistant_id', $this->adminId); } + // 关键字搜索:支持患者姓名或手机号(模糊匹配) + if (isset($this->params['keyword']) && trim((string) $this->params['keyword']) !== '') { + $keyword = trim((string) $this->params['keyword']); + $query->where(function ($q) use ($keyword) { + $q->whereLike('patient_name', '%' . $keyword . '%') + ->whereOr('phone', 'like', '%' . $keyword . '%'); + }); + } + // 是否确认诊单 if (isset($this->params['diagnosis_confirmed']) && $this->params['diagnosis_confirmed'] !== '') { $confirmed = (int)$this->params['diagnosis_confirmed'];